33 block.
fileglobalCode().insert(
"extern etiss_int32 etiss_plugin_InstructionAccurateCallback_OnEntry(void *); ");
53 "etiss_int32 ret_iac = etiss_plugin_InstructionAccurateCallback_OnEntry(") +
65 return std::string(
"InstructionAccurateCallback");
70 bool trigger_fired =
false;
78 [time, &trigger_fired](
const std::string &name,
VirtualStruct &vs)
defines main cpu core interface
etiss_int32 etiss_plugin_InstructionAccurateCallback_OnEntry(void *ptr)
contains container classes to store instruction definitions + translation functions and build a trans...
contains the stressor class that loads and activates faults.
virtual std::shared_ptr< VirtualStruct > getStruct()
Get the virtual structure of this CPUCore instance.
std::set< std::string > & fileglobalCode()
Contains a small code snipped.
CodePart & prepend(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...
abstract representation of an module of a simulation which could be a embedded device of the cpu of a...
virtual bool instructionAccurateCallback(uint64_t time_ps)
static etiss::int32 get_event(void)
static void reset_event(void)
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
etiss_int32 call_on_entry()
etiss_uint64 cpuTime_ps
simulation time of cpu