SST
6.0.0
StructuralSimulationToolkit
|
Represents both memory requests and responses. More...
#include <simpleMem.h>
Public Types | |
enum | Command { Read, Write, ReadResp, WriteResp } |
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 } |
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. | |
void | setGroupId (uint32_t _groupId) |
Set Stats Group Id. | |
void | setPayload (const std::vector< uint8_t > &data_in) |
Set the contents of the payload / data field. | |
void | setPayload (uint8_t *data_in, size_t len) |
Set the contents of the payload / data field. | |
void | setVirtualAddress (const Addr newVA) |
Set the virtual address associated with the operation. | |
uint64_t | getVirtualAddress () |
Get the virtual address associated with the operation. | |
void | setInstructionPointer (const Addr newIP) |
Addr | getInstructionPointer () |
Sets the instruction pointer associated with the operation. | |
Data Fields | |
Command | cmd |
Addr | addr |
size_t | size |
dataVec | data |
flags_t | flags |
flags_t | memFlags |
id_t | id |
uint32_t | groupId |
Addr | instrPtr |
Addr | virtualAddr |
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.
Enumerator | |
---|---|
Read |
Issue a Read from Memory |
Write |
Issue a Write to Memory |
ReadResp |
Response from Memory to a Read |
WriteResp |
Response from Memory to a Write |
Flags to specify conditions on a Request.
Enumerator | |
---|---|
F_NONCACHEABLE |
This request should not be cached |
F_LOCKED |
This request should be locked. A LOCKED read should be soon followed by a LOCKED write (to unlock) |
Addr SST::Interfaces::SimpleMem::Request::addr |
Target address
Command SST::Interfaces::SimpleMem::Request::cmd |
Command to issue
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
Referenced by getInstructionPointer().
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
Referenced by getVirtualAddress().