gem5 v24.0.0.0
|
#include <RubyRequest.hh>
Public Member Functions | |
RubyRequest (Tick curTime, uint64_t _paddr, int _len, uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode, PacketPtr _pkt, PrefetchBit _pb=PrefetchBit_No, ContextID _proc_id=100, ContextID _core_id=99) | |
RubyRequest (Tick curTime, uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode, PacketPtr _pkt, ContextID _proc_id, ContextID _core_id) | |
RubyRequest for memory management commands. | |
RubyRequest (Tick curTime, uint64_t _paddr, int _len, uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode, PacketPtr _pkt, PrefetchBit _pb, unsigned _proc_id, unsigned _core_id, int _wm_size, std::vector< bool > &_wm_mask, DataBlock &_Data, uint64_t _instSeqNum=0) | |
RubyRequest (Tick curTime, uint64_t _paddr, int _len, uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode, PacketPtr _pkt, PrefetchBit _pb, unsigned _proc_id, unsigned _core_id, int _wm_size, std::vector< bool > &_wm_mask, DataBlock &_Data, std::vector< std::pair< int, AtomicOpFunctor * > > _atomicOps, uint64_t _instSeqNum=0) | |
RubyRequest (Tick curTime) | |
MsgPtr | clone () const |
Addr | getLineAddress () const |
Addr | getPhysicalAddress () const |
const RubyRequestType & | getType () const |
Addr | getProgramCounter () const |
const RubyAccessMode & | getAccessMode () const |
const int & | getSize () const |
const PrefetchBit & | getPrefetch () const |
RequestPtr | getRequestPtr () const |
void | setWriteMask (uint32_t offset, uint32_t len, std::vector< std::pair< int, AtomicOpFunctor * > > atomicOps) |
void | print (std::ostream &out) const |
bool | functionalRead (Packet *pkt) |
The two functions below are used for reading / writing the message functionally. | |
bool | functionalRead (Packet *pkt, WriteMask &mask) |
bool | functionalWrite (Packet *pkt) |
Public Member Functions inherited from gem5::ruby::Message | |
Message (Tick curTime) | |
Message (const Message &other)=default | |
virtual | ~Message () |
virtual const MessageSizeType & | getMessageSize () const |
virtual MessageSizeType & | getMessageSize () |
void | updateDelayedTicks (Tick curTime) |
Update the delay this message has experienced so far. | |
Tick | getDelayedTicks () const |
void | setLastEnqueueTime (const Tick &time) |
Tick | getLastEnqueueTime () const |
Tick | getTime () const |
void | setMsgCounter (uint64_t c) |
uint64_t | getMsgCounter () const |
virtual const NetDest & | getDestination () const |
virtual NetDest & | getDestination () |
int | getIncomingLink () const |
void | setIncomingLink (int link) |
int | getVnet () const |
void | setVnet (int net) |
Public Attributes | |
Addr | m_PhysicalAddress |
Addr | m_LineAddress |
RubyRequestType | m_Type |
Addr | m_ProgramCounter |
RubyAccessMode | m_AccessMode |
int | m_Size |
PrefetchBit | m_Prefetch |
PacketPtr | m_pkt |
ContextID | m_contextId |
WriteMask | m_writeMask |
DataBlock | m_WTData |
int | m_wfid |
uint64_t | m_instSeqNum |
bool | m_htmFromTransaction |
uint64_t | m_htmTransactionUid |
bool | m_isTlbi |
Addr | m_tlbiTransactionUid |
bool | m_isGLCSet |
bool | m_isSLCSet |
bool | m_isSecure |
Definition at line 61 of file RubyRequest.hh.
|
inline |
Definition at line 89 of file RubyRequest.hh.
References m_isGLCSet, m_isSLCSet, m_LineAddress, m_PhysicalAddress, m_pkt, gem5::ruby::makeLineAddress(), and gem5::Packet::req.
Referenced by clone().
|
inline |
RubyRequest for memory management commands.
Definition at line 119 of file RubyRequest.hh.
References m_isGLCSet, m_isSLCSet, m_pkt, and gem5::Packet::req.
|
inline |
Definition at line 147 of file RubyRequest.hh.
References m_isGLCSet, m_isSLCSet, m_LineAddress, m_PhysicalAddress, m_pkt, gem5::ruby::makeLineAddress(), and gem5::Packet::req.
|
inline |
Definition at line 183 of file RubyRequest.hh.
References m_isGLCSet, m_isSLCSet, m_LineAddress, m_PhysicalAddress, m_pkt, gem5::ruby::makeLineAddress(), and gem5::Packet::req.
|
inline |
Definition at line 221 of file RubyRequest.hh.
|
inlinevirtual |
Implements gem5::ruby::Message.
Definition at line 222 of file RubyRequest.hh.
References RubyRequest().
|
virtual |
The two functions below are used for reading / writing the message functionally.
The methods return true if the address in the packet matches the address / address range in the message. Each message class that can be potentially searched for the address needs to implement these methods.
Reimplemented from gem5::ruby::Message.
Definition at line 71 of file RubyRequest.cc.
Reimplemented from gem5::ruby::Message.
Definition at line 81 of file RubyRequest.cc.
|
virtual |
Reimplemented from gem5::ruby::Message.
Definition at line 87 of file RubyRequest.cc.
References data, gem5::Packet::getAddr(), gem5::Packet::getConstPtr(), gem5::Packet::getPtr(), gem5::Packet::getSize(), gem5::Packet::hasData(), gem5::ArmISA::i, gem5::Packet::isMaskedWrite(), m_PhysicalAddress, m_pkt, m_Size, m_WTData, gem5::ruby::testAndWrite(), and warn.
|
inline |
Definition at line 229 of file RubyRequest.hh.
References m_AccessMode.
Referenced by gem5::ruby::Profiler::addAddressTraceSample().
|
inline |
Definition at line 225 of file RubyRequest.hh.
References m_LineAddress.
Referenced by gem5::ruby::Profiler::addAddressTraceSample().
|
inline |
Definition at line 226 of file RubyRequest.hh.
References m_PhysicalAddress.
|
inline |
Definition at line 231 of file RubyRequest.hh.
References m_Prefetch.
|
inline |
Definition at line 228 of file RubyRequest.hh.
References m_ProgramCounter.
Referenced by gem5::ruby::Profiler::addAddressTraceSample().
|
inline |
Definition at line 232 of file RubyRequest.hh.
References m_pkt, and gem5::Packet::req.
|
inline |
Definition at line 230 of file RubyRequest.hh.
References m_Size.
|
inline |
Definition at line 227 of file RubyRequest.hh.
References m_Type.
Referenced by gem5::ruby::Profiler::addAddressTraceSample().
|
virtual |
Implements gem5::ruby::Message.
Definition at line 54 of file RubyRequest.cc.
References m_AccessMode, m_isGLCSet, m_isSLCSet, m_LineAddress, m_PhysicalAddress, m_Prefetch, m_ProgramCounter, m_Size, and m_Type.
Referenced by gem5::ruby::operator<<().
void gem5::ruby::RubyRequest::setWriteMask | ( | uint32_t | offset, |
uint32_t | len, | ||
std::vector< std::pair< int, AtomicOpFunctor * > > | atomicOps ) |
Definition at line 129 of file RubyRequest.cc.
References gem5::ArmISA::len, m_writeMask, gem5::ArmISA::offset, gem5::ruby::WriteMask::setAtomicOps(), and gem5::ruby::WriteMask::setMask().
RubyAccessMode gem5::ruby::RubyRequest::m_AccessMode |
Definition at line 68 of file RubyRequest.hh.
Referenced by getAccessMode(), and print().
ContextID gem5::ruby::RubyRequest::m_contextId |
Definition at line 72 of file RubyRequest.hh.
bool gem5::ruby::RubyRequest::m_htmFromTransaction |
Definition at line 77 of file RubyRequest.hh.
uint64_t gem5::ruby::RubyRequest::m_htmTransactionUid |
Definition at line 78 of file RubyRequest.hh.
uint64_t gem5::ruby::RubyRequest::m_instSeqNum |
Definition at line 76 of file RubyRequest.hh.
bool gem5::ruby::RubyRequest::m_isGLCSet |
Definition at line 85 of file RubyRequest.hh.
Referenced by print(), RubyRequest(), RubyRequest(), RubyRequest(), and RubyRequest().
bool gem5::ruby::RubyRequest::m_isSecure |
Definition at line 87 of file RubyRequest.hh.
bool gem5::ruby::RubyRequest::m_isSLCSet |
Definition at line 86 of file RubyRequest.hh.
Referenced by print(), RubyRequest(), RubyRequest(), RubyRequest(), and RubyRequest().
bool gem5::ruby::RubyRequest::m_isTlbi |
Definition at line 79 of file RubyRequest.hh.
Addr gem5::ruby::RubyRequest::m_LineAddress |
Definition at line 65 of file RubyRequest.hh.
Referenced by getLineAddress(), print(), RubyRequest(), RubyRequest(), and RubyRequest().
Addr gem5::ruby::RubyRequest::m_PhysicalAddress |
Definition at line 64 of file RubyRequest.hh.
Referenced by functionalWrite(), getPhysicalAddress(), print(), RubyRequest(), RubyRequest(), and RubyRequest().
PacketPtr gem5::ruby::RubyRequest::m_pkt |
Definition at line 71 of file RubyRequest.hh.
Referenced by functionalWrite(), getRequestPtr(), RubyRequest(), RubyRequest(), RubyRequest(), and RubyRequest().
PrefetchBit gem5::ruby::RubyRequest::m_Prefetch |
Definition at line 70 of file RubyRequest.hh.
Referenced by getPrefetch(), and print().
Addr gem5::ruby::RubyRequest::m_ProgramCounter |
Definition at line 67 of file RubyRequest.hh.
Referenced by getProgramCounter(), and print().
int gem5::ruby::RubyRequest::m_Size |
Definition at line 69 of file RubyRequest.hh.
Referenced by functionalWrite(), getSize(), and print().
Addr gem5::ruby::RubyRequest::m_tlbiTransactionUid |
Definition at line 81 of file RubyRequest.hh.
RubyRequestType gem5::ruby::RubyRequest::m_Type |
Definition at line 66 of file RubyRequest.hh.
int gem5::ruby::RubyRequest::m_wfid |
Definition at line 75 of file RubyRequest.hh.
WriteMask gem5::ruby::RubyRequest::m_writeMask |
Definition at line 73 of file RubyRequest.hh.
Referenced by setWriteMask().
DataBlock gem5::ruby::RubyRequest::m_WTData |
Definition at line 74 of file RubyRequest.hh.
Referenced by functionalWrite().