52 #ifndef ETISS_PLUGIN_InstructionSpecificAddressCallback_H_
53 #define ETISS_PLUGIN_InstructionSpecificAddressCallback_H_
contains container classes to store instruction definitions + translation functions and build a trans...
plugins for extensions to code translation and instruction execution
static __inline__ uint32_t
static __inline__ uint64_t
allows to add code to the translation of instructions
holds information and translation callbacks for an instruction.
holds etiss::instr::VariableInstructionSet instances for different modes.
a simple plugin that prints the instruction and address when an instruction is executed
virtual void addCallbackAddress(uint64_t addr)
call to add an address at which callback should be called upon execution.
InstructionSpecificAddressCallback()
virtual void initCodeBlock(etiss::CodeBlock &block) const
called before instructions are translated for the code block
virtual void finalizeInstrSet(etiss::instr::ModedInstructionSet &) const
called after all instructions have been added to allow last changes
const std::set< uint64_t > & callbackAddresses() const
~InstructionSpecificAddressCallback()
virtual void removeCallbackAddress(uint64_t addr)
virtual void * getPluginHandle()
called to get the handle that is available in translated code via getPoinerCode()....
virtual std::string _getPluginName() const
virtual bool callback()=0
implement this callback to manipulate the cpu be fore executing the defined instructions at the defin...
std::set< uint64_t > caddrset_
virtual bool callbackOnInstruction(etiss::instr::Instruction &instr) const
implement to return true to call InstructionSpecificAddressCallback::callback whenever that etiss::in...
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.