18#ifndef ETISS_PLUGIN_ERRORINJECTION_PLUGIN_H_
19#define ETISS_PLUGIN_ERRORINJECTION_PLUGIN_H_
32namespace errorInjection
47 etiss::uintMax
and_ = (etiss::uintMax)(etiss::intMax)-1, etiss::uintMax
or_ = 0);
65 void add(etiss::uint64 time_ps,
unsigned errorid, std::string register_, etiss::uintMax xor_,
66 etiss::uintMax and_ = (etiss::uintMax)(etiss::intMax)-1, etiss::uintMax or_ = 0);
94 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.
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.
basic cpu state structure needed for execution of any cpu architecture.
memory access and time synchronization functions.