Go to the documentation of this file.
40 #ifndef __MEM_QOS_POLICY_HH__
41 #define __MEM_QOS_POLICY_HH__
44 #include "debug/QOS.hh"
68 virtual void init()
override {};
87 template <
typename Requestor,
typename T>
98 const uint64_t
data) = 0;
114 template <
typename Requestor,
typename T>
121 "Unable to find requestor %s\n", requestor);
124 "Requestor %s [id %d] associated with QoS data %d\n",
125 requestor,
id, value);
The QoS::MemCtrl is a base class for Memory objects which support QoS - it provides access to a set o...
virtual void regStats() override
Callback to set stat parameters.
virtual uint8_t schedule(const RequestorID requestor_id, const uint64_t data)=0
Schedules data - must be defined by derived class.
RequestorID lookupRequestorId(const SimObject *obj) const
Looks up the RequestorID for a given SimObject returns an invalid RequestorID (invldRequestorId) if n...
virtual void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
void setMemCtrl(MemCtrl *mem)
Setting a pointer to the Memory Controller implementing the policy.
@ invldRequestorId
Invalid requestor id for assertion checking only.
std::pair< RequestorID, T > pair(Requestor requestor, T value)
Builds a RequestorID/value pair given a requestor input.
#define panic_if(cond,...)
Conditional panic macro that checks the supplied condition and only panics if the condition is true a...
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
System * system() const
read the system pointer
MemCtrl * memCtrl
Pointer to parent memory controller implementing the policy.
Abstract superclass for simulation objects.
Generated on Wed Sep 30 2020 14:02:13 for gem5 by doxygen 1.8.17