ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
SelectiveSysWrapper.h
Go to the documentation of this file.
1 #ifndef ETISS_PLUGIN_SELECTIVESYSWRAPPER_H
2 #define ETISS_PLUGIN_SELECTIVESYSWRAPPER_H
3 
4 #include "etiss/Plugin.h"
5 
6 namespace etiss
7 {
8 
9 namespace plugin
10 {
11 
14 {
15  public:
26  virtual ETISS_System getWrapInfo(ETISS_System *origSystem) = 0;
27 
28  ETISS_System *wrap(ETISS_CPU *cpu, ETISS_System *system) final;
29  ETISS_System *unwrap(ETISS_CPU *cpu, ETISS_System *system) final;
30 };
31 
32 } // namespace plugin
33 
34 } // namespace etiss
35 
36 #endif
plugins for extensions to code translation and instruction execution
this plugin allows to wrap the ETISS_System interface
Definition: Plugin.h:326
SystemWrapperPlugin that only wraps some of the System calls.
ETISS_System * unwrap(ETISS_CPU *cpu, ETISS_System *system) final
undo wrap function call this function will be called AFTER etiss::Plugin::cleanup
virtual ETISS_System getWrapInfo(ETISS_System *origSystem)=0
Defines which System functions to wrap.
ETISS_System * wrap(ETISS_CPU *cpu, ETISS_System *system) final
change/wrap the passed system structure.
Page Table Entry (PTE) defines the composition of Page Frame Number (PFN) and relavant flags.
Definition: Benchmark.h:53
basic cpu state structure needed for execution of any cpu architecture.
Definition: CPU.h:89
memory access and time synchronization functions.
Definition: System.h:78