56 #ifndef ETISS_PLUGIN_ERRORINJECTION_PLUGIN_H_
57 #define ETISS_PLUGIN_ERRORINJECTION_PLUGIN_H_
70 namespace errorInjection
85 etiss::uintMax
and_ = (etiss::uintMax)(etiss::intMax)-1, etiss::uintMax
or_ = 0);
103 void add(
etiss::uint64 time_ps,
unsigned errorid, std::string register_, etiss::uintMax xor_,
104 etiss::uintMax and_ = (etiss::uintMax)(etiss::intMax)-1, etiss::uintMax or_ = 0);
132 void parseFile(std::string filename, std::string reg);
plugins for extensions to code translation and instruction execution
the interface to translate instructions of and processor architecture
this plugin will be called before a block is executed.
Error(std::string reg, unsigned errorid, etiss::uint64 time_ps, etiss::uintMax xor_, etiss::uintMax and_=(etiss::uintMax)(etiss::intMax) -1, etiss::uintMax or_=0)
Register error injection class.
etiss::uint64 last_time_ps
virtual std::string _getPluginName() const
void add(etiss::uint64 time_ps, unsigned errorid, std::string register_, etiss::uintMax xor_, etiss::uintMax and_=(etiss::uintMax)(etiss::intMax) -1, etiss::uintMax or_=0)
schedule an error
std::list< Error > errors_
virtual etiss::int32 execute()
call to apply errors
virtual void init(ETISS_CPU *cpu, ETISS_System *system, CPUArch *arch)
this function is called before the plugin is used in the cpu execution loop (etiss::CPUCore::execute)...
virtual void cleanup()
this function is called after cpu execution loop (etiss::CPUCore::execute) finished.
etiss::uint64 next_time_ps
void parseFile(std::string filename, std::string reg)
reads a file and adds the errors.
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.
basic cpu state structure needed for execution of any cpu architecture.
memory access and time synchronization functions.