Go to the documentation of this file.
41 #ifndef __MEM_RUBY_SLICC_INTERFACE_RUBYREQUEST_HH__
42 #define __MEM_RUBY_SLICC_INTERFACE_RUBYREQUEST_HH__
50 #include "mem/ruby/protocol/Message.hh"
51 #include "mem/ruby/protocol/PrefetchBit.hh"
52 #include "mem/ruby/protocol/RubyAccessMode.hh"
53 #include "mem/ruby/protocol/RubyRequestType.hh"
76 uint64_t _pc, RubyRequestType _type, RubyAccessMode _access_mode,
77 PacketPtr _pkt, PrefetchBit _pb = PrefetchBit_No,
96 uint64_t _pc, RubyRequestType _type,
97 RubyAccessMode _access_mode,
PacketPtr _pkt, PrefetchBit _pb,
98 unsigned _proc_id,
unsigned _core_id,
101 uint64_t _instSeqNum = 0)
123 uint64_t _pc, RubyRequestType _type,
124 RubyAccessMode _access_mode,
PacketPtr _pkt, PrefetchBit _pb,
125 unsigned _proc_id,
unsigned _core_id,
129 uint64_t _instSeqNum = 0)
152 {
return std::shared_ptr<Message>(
new RubyRequest(*
this)); }
162 void print(std::ostream& out)
const;
175 #endif //__MEM_RUBY_SLICC_INTERFACE_RUBYREQUEST_HH__
bool functionalWrite(Packet *pkt)
std::ostream & operator<<(std::ostream &out, const RubyRequest &obj)
uint64_t m_htmTransactionUid
Addr makeLineAddress(Addr addr)
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, uint64_t _instSeqNum=0)
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)
RubyAccessMode m_AccessMode
int ContextID
Globally unique thread context ID.
uint64_t Tick
Tick count type.
void print(std::ostream &out) const
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, uint64_t _instSeqNum=0)
const RubyRequestType & getType() const
bool functionalRead(Packet *pkt)
The two functions below are used for reading / writing the message functionally.
Addr getLineAddress() const
const PrefetchBit & getPrefetch() const
const int & getSize() const
RubyRequest(Tick curTime)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::shared_ptr< Message > MsgPtr
const RubyAccessMode & getAccessMode() const
bool m_htmFromTransaction
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
Addr getProgramCounter() const
Addr getPhysicalAddress() const
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17