ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
Loading...
Searching...
No Matches
SelectiveSysWrapper.h
Go to the documentation of this file.
1// SPDX-License-Identifier: BSD-3-Clause
2//
3// This file is part of ETISS. It is licensed under the BSD 3-Clause License; you may not use this file except in
4// compliance with the License. You should have received a copy of the license along with this project. If not, see the
5// LICENSE file.
6
7#ifndef ETISS_PLUGIN_SELECTIVESYSWRAPPER_H
8#define ETISS_PLUGIN_SELECTIVESYSWRAPPER_H
9
10#include "etiss/Misc.h"
11#include "etiss/Plugin.h"
12
13namespace etiss
14{
15
16namespace plugin
17{
18
21{
22 public:
33 virtual ETISS_System getWrapInfo(ETISS_System *origSystem) = 0;
34
35 ETISS_System *wrap(ETISS_CPU *cpu, ETISS_System *system) final;
36 ETISS_System *unwrap(ETISS_CPU *cpu, ETISS_System *system) final;
37};
38
39} // namespace plugin
40
41} // namespace etiss
42
43#endif
general configuration and logging
plugins for extensions to code translation and instruction execution
this plugin allows to wrap the ETISS_System interface
Definition Plugin.h:286
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.
forwards: include/jit/*
Definition Benchmark.h:17
basic cpu state structure needed for execution of any cpu architecture.
Definition CPU.h:51
memory access and time synchronization functions.
Definition System.h:40