|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|


Protected Member Functions | |
| FieldT (VirtualStruct &parent, const std::string &name, const std::string &prettyname) | |
| virtual uint64_t | _read () const |
| override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA | |
| virtual void | _write (uint64_t val) |
| override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA | |
Protected Member Functions inherited from etiss::VirtualStruct::Field | |
| virtual bool | _applyBitflip (unsigned position, uint64_t fault_id) |
| override this function to implement bitflip applying to a field | |
| virtual bool | _applyAction (const etiss::fault::Fault &f, const etiss::fault::Action &a, std::string &errormsg) |
| override this function to implement advanced action handling | |
Additional Inherited Members | |
Public Types inherited from etiss::VirtualStruct::Field | |
| enum | AccessMode { VIRTUAL , LAMBDA , PREFER_LAMBDA } |
| defines how a field should perform reads/writes. More... | |
Public Member Functions inherited from etiss::VirtualStruct::Field | |
| Field (VirtualStruct &parent, const std::string &name, const std::string &prettyname, int flags, size_t width, size_t bitwidth=0) | |
| Field (VirtualStruct &parent, const std::string &name, const std::string &prettyname, int flags, size_t width, bool virtual_enabled, std::function< uint64_t()> lread, std::function< void(uint64_t)> lwrite, size_t bitwidth=0) | |
| virtual | ~Field () |
| uint64_t | read () const |
| function to read bits/a value from the Field. | |
| void | write (uint64_t) |
| function to write bits/a value to the Field. | |
| bool | applyBitflip (unsigned position, uint64_t fault_id) |
| function to write a bitflip to a field | |
| bool | applyAction (const etiss::fault::Fault &f, const etiss::fault::Action &a, std::string &errormsg) |
| advanced fault injection. Field must have the A flag to use this. | |
| void | signalWrite () |
| this function should be called if the listener flag is set and the field changed without using the write() function. | |
| Field * | setDeleteP (std::function< void(Field *)> del) |
| Field & | setDelete (std::function< void(Field *)> del) |
| bool | addListener (Listener *listener, std::shared_ptr< Listener > ref=nullptr) |
| void | removeListener (Listener *listener, std::shared_ptr< Listener > ref=nullptr) |
Public Attributes inherited from etiss::VirtualStruct::Field | |
| VirtualStruct & | parent_ |
| reference to parent virtual struct | |
| const std::string | name_ |
| name of the field. | |
| const std::string | prettyname_ |
| alternative/human readable name of the field. | |
| int | flags_ |
| read write flags as specified by the static const int parameters of Field: R,W,L | |
| const size_t | width_ |
| width in bytes (rounded up if neccessary) | |
| const size_t | bitwidth_ |
| width in bits | |
| const AccessMode | accessMode_ |
| std::function< bool(unsigned position, uint64_t fault_id)> | lapplyBitflip |
| if this function is set the the default implementation of applyBitflip will use it | |
| std::function< void(Field *)> | delete_ |
Static Public Attributes inherited from etiss::VirtualStruct::Field | |
| static const int | R = 1 |
| read flag | |
| static const int | W = 2 |
| write flag | |
| static const int | RW = R | W |
| flags to signal that a field supports read and write operations | |
| static const int | L = 4 |
| supports listener plugins; used for etiss::RegisterDevicePlugins to determine access to a variable/field | |
| static const int | F = 8 |
| supports fault injection/tracing | |
| static const int | A = 16 |
| supports advanced fault injection/tracing with the applyAction function | |
| static const int | P = 32 |
| private field: this flag indicates that this field is an implementation specific field that e.g. | |
Protected Attributes inherited from etiss::VirtualStruct::Field | |
| std::function< uint64_t()> | lread |
| set this function for reads in case of AccessMode::LAMBDA / AccessMode::PREFER_LAMBDA | |
| std::function< void(uint64_t)> | lwrite |
| set this function for writes in case of AccessMode::LAMBDA / AccessMode::PREFER_LAMBDA | |
Definition at line 250 of file VirtualStruct.h.
|
inlineprotected |
Definition at line 256 of file VirtualStruct.h.
|
inlineprotectedvirtual |
override this function to implement reads in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
Reimplemented from etiss::VirtualStruct::Field.
Definition at line 260 of file VirtualStruct.h.
References etiss::VirtualStruct::Field::parent_, etiss::VirtualStruct::structure_, and uint64_t.
|
inlineprotectedvirtual |
override this function to implement writes in case of AccessMode::VIRTUAL / AccessMode::PREFER_LAMBDA
Reimplemented from etiss::VirtualStruct::Field.
Definition at line 261 of file VirtualStruct.h.
References etiss::VirtualStruct::Field::parent_, and etiss::VirtualStruct::structure_.