gem5
v21.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 _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 | print (std::ostream &out) const |
bool | functionalRead (Packet *pkt) |
The two functions below are used for reading / writing the message functionally. More... | |
bool | functionalRead (Packet *pkt, WriteMask &mask) |
bool | functionalWrite (Packet *pkt) |
![]() | |
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. More... | |
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 |
Definition at line 55 of file RubyRequest.hh.
|
inline |
Definition at line 74 of file RubyRequest.hh.
References m_LineAddress, m_PhysicalAddress, and makeLineAddress().
Referenced by clone().
|
inline |
Definition at line 93 of file RubyRequest.hh.
References m_LineAddress, m_PhysicalAddress, and makeLineAddress().
|
inline |
Definition at line 119 of file RubyRequest.hh.
References m_LineAddress, m_PhysicalAddress, and makeLineAddress().
|
inline |
Definition at line 146 of file RubyRequest.hh.
|
inlinevirtual |
|
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 Message.
Definition at line 63 of file RubyRequest.cc.
Reimplemented from Message.
Definition at line 73 of file RubyRequest.cc.
|
virtual |
Reimplemented from Message.
Definition at line 79 of file RubyRequest.cc.
References data, Packet::getAddr(), Packet::getConstPtr(), Packet::getPtr(), Packet::getSize(), Packet::hasData(), ArmISA::i, Packet::isMaskedWrite(), m_PhysicalAddress, m_pkt, m_Size, m_WTData, testAndWrite(), and warn.
|
inline |
Definition at line 154 of file RubyRequest.hh.
References m_AccessMode.
Referenced by Profiler::addAddressTraceSample().
|
inline |
Definition at line 150 of file RubyRequest.hh.
References m_LineAddress.
Referenced by Profiler::addAddressTraceSample().
|
inline |
Definition at line 151 of file RubyRequest.hh.
References m_PhysicalAddress.
|
inline |
Definition at line 156 of file RubyRequest.hh.
References m_Prefetch.
|
inline |
Definition at line 153 of file RubyRequest.hh.
References m_ProgramCounter.
Referenced by Profiler::addAddressTraceSample().
|
inline |
Definition at line 157 of file RubyRequest.hh.
References m_pkt, and Packet::req.
|
inline |
Definition at line 155 of file RubyRequest.hh.
References m_Size.
|
inline |
Definition at line 152 of file RubyRequest.hh.
References m_Type.
Referenced by Profiler::addAddressTraceSample().
|
virtual |
Implements Message.
Definition at line 48 of file RubyRequest.cc.
References m_AccessMode, m_LineAddress, m_PhysicalAddress, m_Prefetch, m_ProgramCounter, m_Size, and m_Type.
Referenced by operator<<().
RubyAccessMode RubyRequest::m_AccessMode |
Definition at line 62 of file RubyRequest.hh.
Referenced by getAccessMode(), and print().
ContextID RubyRequest::m_contextId |
Definition at line 66 of file RubyRequest.hh.
bool RubyRequest::m_htmFromTransaction |
Definition at line 71 of file RubyRequest.hh.
uint64_t RubyRequest::m_htmTransactionUid |
Definition at line 72 of file RubyRequest.hh.
uint64_t RubyRequest::m_instSeqNum |
Definition at line 70 of file RubyRequest.hh.
Addr RubyRequest::m_LineAddress |
Definition at line 59 of file RubyRequest.hh.
Referenced by getLineAddress(), print(), and RubyRequest().
Addr RubyRequest::m_PhysicalAddress |
Definition at line 58 of file RubyRequest.hh.
Referenced by functionalWrite(), getPhysicalAddress(), print(), and RubyRequest().
PacketPtr RubyRequest::m_pkt |
Definition at line 65 of file RubyRequest.hh.
Referenced by functionalWrite(), and getRequestPtr().
PrefetchBit RubyRequest::m_Prefetch |
Definition at line 64 of file RubyRequest.hh.
Referenced by getPrefetch(), and print().
Addr RubyRequest::m_ProgramCounter |
Definition at line 61 of file RubyRequest.hh.
Referenced by getProgramCounter(), and print().
int RubyRequest::m_Size |
Definition at line 63 of file RubyRequest.hh.
Referenced by functionalWrite(), getSize(), and print().
RubyRequestType RubyRequest::m_Type |
Definition at line 60 of file RubyRequest.hh.
int RubyRequest::m_wfid |
Definition at line 69 of file RubyRequest.hh.
WriteMask RubyRequest::m_writeMask |
Definition at line 67 of file RubyRequest.hh.
DataBlock RubyRequest::m_WTData |
Definition at line 68 of file RubyRequest.hh.
Referenced by functionalWrite().