|
ETISS 0.11.2
ExtendableTranslatingInstructionSetSimulator(version0.11.2)
|
#include <Action.h>


Public Types | |
| typedef Action_Type | type_t |
| typedef Action_MaskOp | mask_op_t |
Public Member Functions | |
| bool | is_action_on_field (void) const |
| returns true if type_ is an action on a Field | |
| Action () | |
| Action (int32_t event) | |
A etiss::RETURNCODE exception will be injected into the etiss simulation loop. | |
| Action (const InjectorAddress &inj, const std::string &command) | |
| abstract string command will be passed to the targeted injector | |
| Action (const InjectorAddress &inj, const std::string &field, unsigned bit) | |
| the bit at the given position of the given field of the given injector will be flipped | |
| Action (const InjectorAddress &inj, const std::string &field, mask_op_t mask_op, uint64_t mask_value) | |
| applies a mask type injection (field op= mask;) where <op> can be bitwise AND, OR, XOR, NAND, NOR | |
| Action (const FaultRef &fault_ref, type_t type) | |
| injects a fault. this is especially usefull with Triggers of type TIMERELATIVE | |
| Action (const Action &cpy) | |
| Action & | operator= (const Action &cpy) |
| const type_t & | getType () const |
| const InjectorAddress & | getInjectorAddress () const |
| const std::string & | getCommand () const |
| COMMAND only. | |
| const std::string & | getTargetField () const |
| BITFLIP only. | |
| unsigned | getTargetBit () const |
| BITFLIP only. | |
| const FaultRef & | getFaultRef () const |
| INJECTION and EJECTION only. | |
| const mask_op_t & | getMaskOp () const |
| MASK only. | |
| uint64_t | getMaskValue () const |
| int32_t | getEvent () const |
| std::string | toString () const |
| operator<< can be used. | |
Public Member Functions inherited from etiss::ToString | |
| ToString () | |
| virtual | ~ToString () |
Private Member Functions | |
| void | ensure (type_t) |
Private Attributes | |
| type_t | type_ |
| type of the Attribute | |
| std::unique_ptr< InjectorAddress > | inj_ |
| Address of Injector. | |
| std::string | command_ |
| command e.g. for booting OR1KVCPU | |
| std::string | field_ |
| concerning Field (for fault injection) | |
| unsigned | bit_ = { 0 } |
| concerning Bit (for fault injection) | |
| mask_op_t | mask_op_ { mask_op_t::NOP } |
| mask operation (for mask injection) | |
| uint64_t | mask_value_ { 0 } |
| mask value (for mask injection) | |
| std::unique_ptr< FaultRef > | fault_ref_ |
| for fault injection | |
| int32_t | event_ { 0 } |
| exception, or rather etiss::RETURNCODE to to be injected into the simulation loop | |
| typedef Action_MaskOp etiss::fault::Action::mask_op_t |
| typedef Action_Type etiss::fault::Action::type_t |
| etiss::fault::Action::Action | ( | ) |
Definition at line 40 of file Action.cpp.
References etiss::log(), and etiss::VERBOSE.

| etiss::fault::Action::Action | ( | int32_t | event | ) |
A etiss::RETURNCODE exception will be injected into the etiss simulation loop.
Definition at line 46 of file Action.cpp.
References etiss::log(), and etiss::VERBOSE.

| etiss::fault::Action::Action | ( | const InjectorAddress & | inj, |
| const std::string & | command | ||
| ) |
abstract string command will be passed to the targeted injector
Definition at line 52 of file Action.cpp.
References etiss::fault::InjectorAddress::getInjectorPath(), etiss::log(), and etiss::VERBOSE.

| etiss::fault::Action::Action | ( | const InjectorAddress & | inj, |
| const std::string & | field, | ||
| unsigned | bit | ||
| ) |
the bit at the given position of the given field of the given injector will be flipped
Definition at line 59 of file Action.cpp.
References etiss::fault::InjectorAddress::getInjectorPath(), etiss::log(), and etiss::VERBOSE.

| etiss::fault::Action::Action | ( | const InjectorAddress & | inj, |
| const std::string & | field, | ||
| mask_op_t | mask_op, | ||
| uint64_t | mask_value | ||
| ) |
applies a mask type injection (field op= mask;) where <op> can be bitwise AND, OR, XOR, NAND, NOR
Definition at line 67 of file Action.cpp.
References etiss::fault::InjectorAddress::getInjectorPath(), etiss::log(), mask_op_, and etiss::VERBOSE.

injects a fault. this is especially usefull with Triggers of type TIMERELATIVE
Definition at line 80 of file Action.cpp.
References etiss::log(), etiss::fault::FaultRef::toString(), and etiss::VERBOSE.

| etiss::fault::Action::Action | ( | const Action & | cpy | ) |
Definition at line 86 of file Action.cpp.
|
private |
Definition at line 29 of file Action.cpp.
References type_.
| const std::string & etiss::fault::Action::getCommand | ( | ) | const |
COMMAND only.
Definition at line 155 of file Action.cpp.
References command_, etiss::FATALERROR, etiss::log(), and type_.
Referenced by main(), and operator=().


| int32_t etiss::fault::Action::getEvent | ( | ) | const |
Definition at line 206 of file Action.cpp.
References event_, etiss::FATALERROR, etiss::log(), and type_.
Referenced by operator=().


| const FaultRef & etiss::fault::Action::getFaultRef | ( | ) | const |
INJECTION and EJECTION only.
Definition at line 181 of file Action.cpp.
References etiss::FATALERROR, fault_ref_, etiss::log(), and type_.
Referenced by operator=().


| const InjectorAddress & etiss::fault::Action::getInjectorAddress | ( | ) | const |
Definition at line 144 of file Action.cpp.
References etiss::FATALERROR, inj_, etiss::log(), and type_.
Referenced by operator=().


| const Action::mask_op_t & etiss::fault::Action::getMaskOp | ( | ) | const |
MASK only.
Definition at line 189 of file Action.cpp.
References etiss::FATALERROR, etiss::log(), mask_op_, and type_.
Referenced by etiss::VirtualStruct::Field::_applyAction(), and operator=().


| uint64_t etiss::fault::Action::getMaskValue | ( | ) | const |
Definition at line 197 of file Action.cpp.
References etiss::FATALERROR, etiss::log(), mask_value_, and type_.
Referenced by etiss::VirtualStruct::Field::_applyAction(), and operator=().


| unsigned etiss::fault::Action::getTargetBit | ( | ) | const |
BITFLIP only.
Definition at line 173 of file Action.cpp.
References bit_, etiss::FATALERROR, etiss::log(), and type_.
Referenced by etiss::VirtualStruct::Field::_applyAction(), and operator=().


| const std::string & etiss::fault::Action::getTargetField | ( | ) | const |
BITFLIP only.
is_action_on_field only
Definition at line 164 of file Action.cpp.
References etiss::FATALERROR, field_, etiss::log(), and type_.
Referenced by etiss::VirtualStruct::applyAction(), operator=(), and etiss::VirtualStruct::update_field_access_rights().


| const Action::type_t & etiss::fault::Action::getType | ( | ) | const |
Definition at line 139 of file Action.cpp.
References type_.
Referenced by etiss::VirtualStruct::Field::_applyAction(), etiss::VirtualStruct::applyAction(), and etiss::VirtualStruct::update_field_access_rights().

| bool etiss::fault::Action::is_action_on_field | ( | void | ) | const |
returns true if type_ is an action on a Field
Definition at line 35 of file Action.cpp.
References type_.
Definition at line 91 of file Action.cpp.
References bit_, command_, event_, fault_ref_, field_, getCommand(), getEvent(), getFaultRef(), getInjectorAddress(), getMaskOp(), getMaskValue(), getTargetBit(), getTargetField(), inj_, mask_op_, mask_value_, and type_.

| std::string etiss::fault::Action::toString | ( | ) | const |
operator<< can be used.
Definition at line 215 of file Action.cpp.
|
private |
concerning Bit (for fault injection)
Definition at line 131 of file Action.h.
Referenced by getTargetBit(), and operator=().
|
private |
command e.g. for booting OR1KVCPU
Definition at line 129 of file Action.h.
Referenced by getCommand(), and operator=().
|
private |
exception, or rather etiss::RETURNCODE to to be injected into the simulation loop
Definition at line 136 of file Action.h.
Referenced by getEvent(), and operator=().
|
private |
for fault injection
Definition at line 134 of file Action.h.
Referenced by getFaultRef(), and operator=().
|
private |
concerning Field (for fault injection)
Definition at line 130 of file Action.h.
Referenced by getTargetField(), and operator=().
|
private |
Address of Injector.
Definition at line 128 of file Action.h.
Referenced by getInjectorAddress(), and operator=().
|
private |
mask operation (for mask injection)
Definition at line 132 of file Action.h.
Referenced by Action(), getMaskOp(), and operator=().
|
private |
mask value (for mask injection)
Definition at line 133 of file Action.h.
Referenced by getMaskValue(), and operator=().
|
private |
type of the Attribute
Definition at line 127 of file Action.h.
Referenced by ensure(), getCommand(), getEvent(), getFaultRef(), getInjectorAddress(), getMaskOp(), getMaskValue(), getTargetBit(), getTargetField(), getType(), is_action_on_field(), and operator=().