Go to the documentation of this file.
38 #ifndef __MEM_RUBY_SYSTEM_HTMSEQUENCER_HH__
39 #define __MEM_RUBY_SYSTEM_HTMSEQUENCER_HH__
45 #include "mem/ruby/protocol/HtmCallbackMode.hh"
46 #include "mem/ruby/protocol/HtmFailedInCacheReason.hh"
49 #include "params/RubyHTMSequencer.hh"
60 const HtmCallbackMode,
61 const HtmFailedInCacheReason);
63 bool empty()
const override;
64 void print(std::ostream& out)
const override;
83 RubyRequestType primary_type,
84 RubyRequestType secondary_type)
override;
113 #endif // __MEM_RUBY_SYSTEM_HTMSEQUENCER_HH__
void print(std::ostream &out) const override
void htmCallback(Addr, const HtmCallbackMode, const HtmFailedInCacheReason)
Counter m_htmstart_instruction
Stats::Histogram m_htm_transaction_instructions
Histogram of instruction lengths of HTM transactions.
uint64_t Tick
Tick count type.
A vector of scalar stats.
Stats::Vector m_htm_transaction_abort_cause
Causes for HTM transaction aborts.
int64_t Counter
Statistics counter type.
HtmCacheFailure htmRetCodeConversion(const HtmFailedInCacheReason rc)
Htm return code conversion.
HTMSequencer & operator=(const HTMSequencer &obj)
void regStats() override
Callback to set stat parameters.
void rubyHtmCallback(PacketPtr pkt, const HtmFailedInCacheReason fail_r)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
RequestStatus insertRequest(PacketPtr pkt, RubyRequestType primary_type, RubyRequestType secondary_type) override
HTMSequencer(const RubyHTMSequencerParams *p)
Stats::Histogram m_htm_transaction_cycles
Histogram of cycle latencies of HTM transactions.
std::ostream & operator<<(std::ostream &out, const HTMSequencer &obj)
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
bool empty() const override
std::deque< SequencerRequest * > m_htmCmdRequestTable
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17