38#ifndef __MEM_QOS_POLICY_HH__
39#define __MEM_QOS_POLICY_HH__
47#include "debug/QOS.hh"
55struct QoSPolicyParams;
80 virtual void init()
override {};
99 template <
typename Requestor,
typename T>
110 const uint64_t
data) = 0;
126template <
typename Requestor,
typename T>
133 "Unable to find requestor %s\n", requestor);
136 "Requestor %s [id %d] associated with QoS data %d\n",
137 requestor,
id, value);
A Packet is used to encapsulate a transfer between two objects in the memory system (e....
@ invldRequestorId
Invalid requestor id for assertion checking only.
Abstract superclass for simulation objects.
RequestorID lookupRequestorId(const SimObject *obj) const
Looks up the RequestorID for a given SimObject returns an invalid RequestorID (invldRequestorId) if n...
The qos::MemCtrl is a base class for Memory objects which support QoS - it provides access to a set o...
System * system() const
read the system pointer
virtual uint8_t schedule(const RequestorID requestor_id, const uint64_t data)=0
Schedules data - must be defined by derived class.
void setMemCtrl(MemCtrl *mem)
Setting a pointer to the Memory Controller implementing the policy.
virtual void init() override
init() is called after all C++ SimObjects have been created and all ports are connected.
MemCtrl * memCtrl
Pointer to parent memory controller implementing the policy.
virtual void regStats() override
Callback to set stat parameters.
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...
Copyright (c) 2024 - Pranith Kumar Copyright (c) 2020 Inria All rights reserved.
Declaration of the Packet class.
Declaration of a request, the overall memory request consisting of the parts of the request that are ...