ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
Classes | Functions | Variables
CPUCore.cpp File Reference

implementation of etiss/CPUCore.h More...

#include "etiss/CPUCore.h"
#include "etiss/CPUArch.h"
#include "etiss/JIT.h"
#include "etiss/ETISS.h"
#include "etiss/CoreDSLCoverage.h"
#include "etiss/Translation.h"
#include "etiss/System.h"
#include "etiss/mm/MMU.h"
#include "etiss/mm/DMMUWrapper.h"
Include dependency graph for CPUCore.cpp:

Go to the source code of this file.

Classes

class  LegacyRegisterDevicePluginListener
 

Functions

static bool verifyJITSizeOf (std::string structname, etiss::int32 expected_size, etiss::JIT *jit, std::string prefix=std::string())
 generates and compiles test code for the just in time compiler to check size of basic types
 
static bool verifyJITPragmaPack (etiss::JIT *jit)
 generates test code to check alignment of structures in the just in time compiler
 
static void etiss_CPUCore_handleException (ETISS_CPU *cpu, etiss::int32 &code, BlockLink *&block_ptr, Translation &translator, CPUArch *arch)
 small helper function to handle exceptions.
 

Variables

int currID = 0
 

Detailed Description

implementation of etiss/CPUCore.h

Definition in file CPUCore.cpp.

Function Documentation

◆ etiss_CPUCore_handleException()

static void etiss_CPUCore_handleException ( ETISS_CPU cpu,
etiss::int32 &  code,
BlockLink *&  block_ptr,
Translation translator,
CPUArch arch 
)
static

small helper function to handle exceptions.

in most cases the exception is simply passed on to etiss::CPUArch::handleExcpetion()

Definition at line 440 of file CPUCore.cpp.

References etiss::ERROR, etiss::CPUArch::handleException(), etiss::log(), unlikely, etiss::Translation::unloadBlocks(), and etiss::BlockLink::valid.

Referenced by etiss::CPUCore::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verifyJITPragmaPack()

static bool verifyJITPragmaPack ( etiss::JIT jit)
static

generates test code to check alignment of structures in the just in time compiler

Definition at line 349 of file CPUCore.cpp.

References etiss::cfg(), etiss::ERROR, etiss::JIT::free(), etiss::Configuration::get(), etiss::JIT::getFunction(), etiss::jitFiles(), etiss::log(), and etiss::JIT::translate().

Referenced by etiss::CPUCore::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verifyJITSizeOf()

static bool verifyJITSizeOf ( std::string  structname,
etiss::int32  expected_size,
etiss::JIT jit,
std::string  prefix = std::string() 
)
static

generates and compiles test code for the just in time compiler to check size of basic types

Definition at line 297 of file CPUCore.cpp.

References etiss::cfg(), etiss::ERROR, etiss::JIT::free(), etiss::Configuration::get(), etiss::JIT::getFunction(), etiss::jitFiles(), etiss::log(), and etiss::JIT::translate().

Referenced by etiss::CPUCore::execute().

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ currID

int currID = 0

Definition at line 117 of file CPUCore.cpp.

Referenced by etiss::CPUCore::getNextID().