gem5
|
#include <RubyRequest.hh>
Public Member Functions | |
RubyRequest (Tick curTime, uint64_t _paddr, uint8_t *_data, int _len, uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode, PacketPtr _pkt, PrefetchBit _pb=PrefetchBit_No, ContextID _proc_id=100, ContextID _core_id=99, HSAScope _scope=HSAScope_UNSPECIFIED, HSASegment _segment=HSASegment_GLOBAL) | |
RubyRequest (Tick curTime, uint64_t _paddr, uint8_t *_data, 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, HSAScope _scope=HSAScope_UNSPECIFIED, HSASegment _segment=HSASegment_GLOBAL) | |
RubyRequest (Tick curTime, uint64_t _paddr, uint8_t *_data, 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, HSAScope _scope=HSAScope_UNSPECIFIED, HSASegment _segment=HSASegment_GLOBAL) | |
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 |
void | print (std::ostream &out) const |
bool | functionalRead (Packet *pkt) |
The two functions below are used for reading / writing the message functionally. More... | |
bool | functionalWrite (Packet *pkt) |
Public Member Functions inherited from Message | |
Message (Tick curTime) | |
Message (const Message &other) | |
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 |
uint8_t * | data |
PacketPtr | m_pkt |
ContextID | m_contextId |
WriteMask | m_writeMask |
DataBlock | m_WTData |
int | m_wfid |
HSAScope | m_scope |
HSASegment | m_segment |
Definition at line 45 of file RubyRequest.hh.
|
inline |
Definition at line 65 of file RubyRequest.hh.
References m_LineAddress, m_PhysicalAddress, and makeLineAddress().
Referenced by clone().
|
inline |
Definition at line 87 of file RubyRequest.hh.
References m_LineAddress, m_PhysicalAddress, and makeLineAddress().
|
inline |
Definition at line 114 of file RubyRequest.hh.
References m_LineAddress, m_PhysicalAddress, and makeLineAddress().
|
inline |
Definition at line 143 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.
Implements Message.
Definition at line 51 of file RubyRequest.cc.
|
virtual |
Implements Message.
Definition at line 61 of file RubyRequest.cc.
References data, Packet::getAddr(), Packet::getConstPtr(), Packet::getSize(), and ArmISA::i.
|
inline |
Definition at line 151 of file RubyRequest.hh.
References m_AccessMode.
Referenced by Profiler::addAddressTraceSample().
|
inline |
Definition at line 147 of file RubyRequest.hh.
References m_LineAddress.
Referenced by Profiler::addAddressTraceSample().
|
inline |
Definition at line 148 of file RubyRequest.hh.
References m_PhysicalAddress.
|
inline |
Definition at line 153 of file RubyRequest.hh.
References m_Prefetch.
|
inline |
Definition at line 150 of file RubyRequest.hh.
References m_ProgramCounter.
Referenced by Profiler::addAddressTraceSample().
|
inline |
Definition at line 152 of file RubyRequest.hh.
References m_Size.
|
inline |
Definition at line 149 of file RubyRequest.hh.
References m_Type.
Referenced by Profiler::addAddressTraceSample().
|
virtual |
uint8_t* RubyRequest::data |
Definition at line 55 of file RubyRequest.hh.
RubyAccessMode RubyRequest::m_AccessMode |
Definition at line 52 of file RubyRequest.hh.
Referenced by getAccessMode().
ContextID RubyRequest::m_contextId |
Definition at line 57 of file RubyRequest.hh.
Addr RubyRequest::m_LineAddress |
Definition at line 49 of file RubyRequest.hh.
Referenced by getLineAddress(), and RubyRequest().
Addr RubyRequest::m_PhysicalAddress |
Definition at line 48 of file RubyRequest.hh.
Referenced by getPhysicalAddress(), and RubyRequest().
PacketPtr RubyRequest::m_pkt |
Definition at line 56 of file RubyRequest.hh.
PrefetchBit RubyRequest::m_Prefetch |
Definition at line 54 of file RubyRequest.hh.
Referenced by getPrefetch().
Addr RubyRequest::m_ProgramCounter |
Definition at line 51 of file RubyRequest.hh.
Referenced by getProgramCounter().
HSAScope RubyRequest::m_scope |
Definition at line 61 of file RubyRequest.hh.
HSASegment RubyRequest::m_segment |
Definition at line 62 of file RubyRequest.hh.
int RubyRequest::m_Size |
Definition at line 53 of file RubyRequest.hh.
Referenced by getSize().
RubyRequestType RubyRequest::m_Type |
Definition at line 50 of file RubyRequest.hh.
Referenced by getType().
int RubyRequest::m_wfid |
Definition at line 60 of file RubyRequest.hh.
WriteMask RubyRequest::m_writeMask |
Definition at line 58 of file RubyRequest.hh.
DataBlock RubyRequest::m_WTData |
Definition at line 59 of file RubyRequest.hh.