67 block.
fileglobalCode().insert(
"extern void etiss_plugin_InstructionAccurateCallback(void *); ");
79 p.
code() = std::string(
"etiss_plugin_InstructionAccurateCallback(") +
getPointerCode() +
");";
90 return std::string(
"InstructionAccurateCallback");
defines main cpu core interface
void etiss_plugin_InstructionAccurateCallback(void *ptr)
contains container classes to store instruction definitions + translation functions and build a trans...
virtual std::shared_ptr< VirtualStruct > getStruct()
Get the virtual structure of this CPUCore instance.
std::set< std::string > & fileglobalCode()
Contains a small code snipped.
RegisterSet & getRegisterDependencies()
void append(const CodePart &part, CodePart::TYPE type)
CPUCore * plugin_core_
holds a pointer to the associated CPUCore instance.
ETISS_CPU * plugin_cpu_
holds a pointer to the cpu structure. will be set before init call and after cleanup call
std::string getPointerCode() const
returns a C code expression that allows to get or assign a pointer to the variable assigned to this t...
this class contains parameters that persist in between instruction lookpus/translation within a trans...
holds etiss::instr::Instruction instances and handles automatic instruction tree creation.
void foreach(std::function< void(Instruction &)> func)
holds information and translation callbacks for an instruction.
bool addCallback(std::function< bool(BitArray &, etiss::CodeSet &, InstructionContext &)> callback, uint32_t builtinGroups, const std::set< uint32_t > &groups=std::set< uint32_t >())
holds etiss::instr::VariableInstructionSet instances for different modes.
void foreach(std::function< void(VariableInstructionSet &)> call)
holds etiss::instr::InstructionSet instances with different bit widths.
void foreach(std::function< void(InstructionSet &)> func)
writes the value of a field before each instruction
virtual void initCodeBlock(etiss::CodeBlock &block) const
called before instructions are translated for the code block
InstructionAccurateCallback()
virtual ~InstructionAccurateCallback()
virtual std::string _getPluginName() const
virtual void finalizeInstrSet(etiss::instr::ModedInstructionSet &) const
called after all instructions have been added to allow last changes
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.
etiss_uint64 cpuTime_ps
simulation time of cpu