The Sparta Modeling Framework
|
Blocking translation interface with 1:1 translation unless subclassed. More...
#include <TranslationIF.hpp>
Public Member Functions | |
Construction | |
TranslationIF & | operator= (const TranslationIF &)=delete |
TranslationIF (const TranslationIF &)=delete | |
TranslationIF (const std::string &input_type, const std::string &output_type) | |
Constructor. | |
TranslationIF () | |
Default Constructor. | |
virtual | ~TranslationIF () |
Virtual Destructor. | |
Debug Memory Access | |
const std::string & | getInputType () const |
gets the name of the input address type (e.g. virtual) | |
const std::string & | getOutputType () const |
gets the name of the output address type (e.g. physical) | |
Translation | |
bool | tryTranslate (const addr_t &addr, Translation *trans=nullptr) const |
Perform a translation from input-type to output-type. | |
addr_t | translate (const addr_t &addr, Translation *trans=nullptr) const |
Perform a translation from input-type to output-type. | |
Blocking translation interface with 1:1 translation unless subclassed.
Class that will perform 1-directional address translations from some arbitrary input address space to some output.
This is noncopyable and nonassignable
This class is NOT pure-virtual and has a default implementation which will return the input address when a translation is performed.
Definition at line 30 of file TranslationIF.hpp.
|
inline |
Constructor.
input_type | Name of input memory address type |
output_type | Name of output memory address type |
Definition at line 46 of file TranslationIF.hpp.
|
inline |
Default Constructor.
input_type | Name of input memory address type |
output_type | Name of output memory address type |
Definition at line 57 of file TranslationIF.hpp.
|
inlinevirtual |
Virtual Destructor.
Definition at line 64 of file TranslationIF.hpp.
|
inline |
gets the name of the input address type (e.g. virtual)
Definition at line 76 of file TranslationIF.hpp.
|
inline |
gets the name of the output address type (e.g. physical)
Definition at line 81 of file TranslationIF.hpp.
|
inline |
Perform a translation from input-type to output-type.
addr | Address to translate from input-type to output-type |
trans | Optional translation attributes. Can be null [default] to ignore this parameter |
MemoryTranslationError |
Definition at line 118 of file TranslationIF.hpp.
|
inline |
Perform a translation from input-type to output-type.
addr | Address to translate from input-type to output-type |
trans | Optional translation attributes. Can be null [default] to ignore this parameter |
MemoryTranslationError |
Definition at line 98 of file TranslationIF.hpp.