|
SST 12.1.0
Structural Simulation Toolkit
|
Represents both memory requests and responses. More...
#include <simpleMem.h>
Public Types | |
| enum | Command { Read , Write , ReadResp , WriteResp , FlushLine , FlushLineInv , FlushLineResp , Inv , TxBegin , TxEnd , TxResp , TxAbort , TxCommit , CustomCmd } |
| Commands and responses possible with a Request object. More... | |
| enum | Flags { F_NONCACHEABLE = 1 << 1 , F_LOCKED = 1 << 2 , F_LLSC = 1 << 3 , F_LLSC_RESP = 1 << 4 , F_FLUSH_SUCCESS , F_TRANSACTION = 1 << 6 } |
| Flags to specify conditions on a Request. More... | |
| typedef uint64_t | id_t |
| typedef uint32_t | flags_t |
| typedef std::vector< uint8_t > | dataVec |
| Type of the payload or data. | |
Public Member Functions | |
| Request (Command cmd, Addr addr, size_t size, dataVec &data, flags_t flags=0, flags_t memFlags=0) | |
| Constructor. | |
| Request (Command cmd, Addr addr, size_t size, flags_t flags=0, flags_t memFlags=0) | |
| Constructor. | |
| Request (Command cmd, Addr addr, size_t size, dataVec &data, uint32_t Opc, flags_t flags=0, flags_t memFlags=0) | |
| Constructor. | |
| Request (Command cmd, Addr addr, size_t size, uint32_t Opc, flags_t flags=0, flags_t memFlags=0) | |
| Constructor. | |
| void | addAddress (Addr addr) |
| void | setPayload (const std::vector< uint8_t > &data_in) |
| Set the contents of the payload / data field. More... | |
| void | setPayload (uint8_t *data_in, size_t len) |
| Set the contents of the payload / data field. More... | |
| void | setVirtualAddress (const Addr newVA) |
| Set the virtual address associated with the operation. More... | |
| uint64_t | getVirtualAddress () |
| void | setInstructionPointer (const Addr newIP) |
| Sets the instruction pointer associated with the operation. More... | |
| Addr | getInstructionPointer () |
| void | clearFlags (void) |
| Clears the flags associated with the operation. | |
| void | setFlags (flags_t inValue) |
| flags_t | getFlags (void) |
| void | clearMemFlags (void) |
| Clears the memory flags associated with the operation. | |
| void | setMemFlags (flags_t inValue) |
| flags_t | getMemFlags (void) |
| uint32_t | getCustomOpc (void) |
Data Fields | |
| Command | cmd |
| std::vector< Addr > | addrs |
| Addr | addr |
| size_t | size |
| dataVec | data |
| flags_t | flags |
| flags_t | memFlags |
| id_t | id |
| Addr | instrPtr |
| Addr | virtualAddr |
| uint32_t | custOpc |
Represents both memory requests and responses.
| typedef uint32_t SST::Interfaces::SimpleMem::Request::flags_t |
Flag type
| typedef uint64_t SST::Interfaces::SimpleMem::Request::id_t |
Request ID type
Commands and responses possible with a Request object.
Flags to specify conditions on a Request.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| [in] | inValue | Should be one of the flags beginning with F_ in simpleMem |
|
inline |
Sets the instruction pointer associated with the operation.
| [in] | newIP |
|
inline |
| [in] | inValue | Should be one of the flags beginning with F_ in simpleMem |
|
inline |
Set the contents of the payload / data field.
| [in] | data_in |
|
inline |
Set the contents of the payload / data field.
| [in] | data_in |
|
inline |
Set the virtual address associated with the operation.
| [in] | newVA |
| Addr SST::Interfaces::SimpleMem::Request::addr |
Target address - DEPRECATED but included for backward compatibility, defaults to addrs[0]
| std::vector<Addr> SST::Interfaces::SimpleMem::Request::addrs |
Target address(es)
| Command SST::Interfaces::SimpleMem::Request::cmd |
Command to issue
| uint32_t SST::Interfaces::SimpleMem::Request::custOpc |
Custom command opcode for CustomdCmd type commands
| dataVec SST::Interfaces::SimpleMem::Request::data |
Payload data (for Write, or ReadResp)
| flags_t SST::Interfaces::SimpleMem::Request::flags |
Flags associated with this request or response
| id_t SST::Interfaces::SimpleMem::Request::id |
Unique ID to identify responses with requests
| Addr SST::Interfaces::SimpleMem::Request::instrPtr |
Instruction pointer associated with the operation
| flags_t SST::Interfaces::SimpleMem::Request::memFlags |
Memory flags - ignored by caches except to be passed through with request to main memory
| size_t SST::Interfaces::SimpleMem::Request::size |
Size of this request or response
| Addr SST::Interfaces::SimpleMem::Request::virtualAddr |
Virtual address associated with the operation