ETISS 0.8.0
Extendable Translating Instruction Set Simulator (version 0.8.0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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
6namespace etiss
7{
8
9namespace 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