gem5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
RubyRequest Class Reference

#include <RubyRequest.hh>

Inheritance diagram for RubyRequest:
Message

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 NetDestgetDestination () const
 
virtual NetDestgetDestination ()
 
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
 

Detailed Description

Definition at line 45 of file RubyRequest.hh.

Constructor & Destructor Documentation

RubyRequest::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 
)
inline

Definition at line 65 of file RubyRequest.hh.

References m_LineAddress, m_PhysicalAddress, and makeLineAddress().

Referenced by clone().

RubyRequest::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 
)
inline

Definition at line 87 of file RubyRequest.hh.

References m_LineAddress, m_PhysicalAddress, and makeLineAddress().

RubyRequest::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 
)
inline

Definition at line 114 of file RubyRequest.hh.

References m_LineAddress, m_PhysicalAddress, and makeLineAddress().

RubyRequest::RubyRequest ( Tick  curTime)
inline

Definition at line 143 of file RubyRequest.hh.

Member Function Documentation

MsgPtr RubyRequest::clone ( ) const
inlinevirtual

Implements Message.

Definition at line 144 of file RubyRequest.hh.

References RubyRequest().

bool RubyRequest::functionalRead ( Packet pkt)
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.

bool RubyRequest::functionalWrite ( Packet pkt)
virtual

Implements Message.

Definition at line 61 of file RubyRequest.cc.

References data, Packet::getAddr(), Packet::getConstPtr(), Packet::getSize(), and ArmISA::i.

const RubyAccessMode& RubyRequest::getAccessMode ( ) const
inline

Definition at line 151 of file RubyRequest.hh.

References m_AccessMode.

Referenced by Profiler::addAddressTraceSample().

Addr RubyRequest::getLineAddress ( ) const
inline

Definition at line 147 of file RubyRequest.hh.

References m_LineAddress.

Referenced by Profiler::addAddressTraceSample().

Addr RubyRequest::getPhysicalAddress ( ) const
inline

Definition at line 148 of file RubyRequest.hh.

References m_PhysicalAddress.

const PrefetchBit& RubyRequest::getPrefetch ( ) const
inline

Definition at line 153 of file RubyRequest.hh.

References m_Prefetch.

Addr RubyRequest::getProgramCounter ( ) const
inline

Definition at line 150 of file RubyRequest.hh.

References m_ProgramCounter.

Referenced by Profiler::addAddressTraceSample().

const int& RubyRequest::getSize ( ) const
inline

Definition at line 152 of file RubyRequest.hh.

References m_Size.

const RubyRequestType& RubyRequest::getType ( ) const
inline

Definition at line 149 of file RubyRequest.hh.

References m_Type.

Referenced by Profiler::addAddressTraceSample().

void RubyRequest::print ( std::ostream &  out) const
virtual

Implements Message.

Definition at line 36 of file RubyRequest.cc.

Referenced by operator<<().

Member Data Documentation

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.


The documentation for this class was generated from the following files:

Generated on Fri Jun 9 2017 13:04:18 for gem5 by doxygen 1.8.6