mem: Fix compilation issues in qos

Fix circular dependency and related issues.

Change-Id: I48490519fa0a00619a4baede72ebae2868560660
Signed-off-by: Daniel R. Carvalho <odanrc@yahoo.com.br>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/45245
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Daniel R. Carvalho
2021-05-08 11:57:30 -03:00
committed by Daniel Carvalho
parent b1a396bfcf
commit bf365b962d
14 changed files with 77 additions and 44 deletions

View File

@@ -35,9 +35,12 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "mem_ctrl.hh"
#include "mem/qos/mem_ctrl.hh"
#include "turnaround_policy.hh"
#include "mem/qos/policy.hh"
#include "mem/qos/q_policy.hh"
#include "mem/qos/turnaround_policy.hh"
#include "sim/core.hh"
namespace QoS {

View File

@@ -35,22 +35,34 @@
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
#include "debug/QOS.hh"
#include "mem/qos/policy.hh"
#include "mem/qos/q_policy.hh"
#include "params/QoSMemCtrl.hh"
#include "sim/clocked_object.hh"
#include "sim/system.hh"
#include <unordered_map>
#include <vector>
#include <deque>
#ifndef __MEM_QOS_MEM_CTRL_HH__
#define __MEM_QOS_MEM_CTRL_HH__
#include <cstdint>
#include <deque>
#include <memory>
#include <unordered_map>
#include <utility>
#include <vector>
#include "base/logging.hh"
#include "base/statistics.hh"
#include "base/trace.hh"
#include "base/types.hh"
#include "debug/QOS.hh"
#include "mem/packet.hh"
#include "mem/request.hh"
#include "params/QoSMemCtrl.hh"
#include "sim/clocked_object.hh"
#include "sim/cur_tick.hh"
#include "sim/system.hh"
namespace QoS {
class Policy;
class QueuePolicy;
class TurnaroundPolicy;
/**
* The QoS::MemCtrl is a base class for Memory objects
* which support QoS - it provides access to a set of QoS

View File

@@ -33,15 +33,16 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#include "mem/qos/mem_sink.hh"
#include "base/logging.hh"
#include "base/trace.hh"
#include "debug/Drain.hh"
#include "debug/QOS.hh"
#include "mem_sink.hh"
#include "mem/qos/q_policy.hh"
#include "params/QoSMemSinkInterface.hh"
#include "sim/system.hh"
namespace QoS {

View File

@@ -33,18 +33,22 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#ifndef __MEM_QOS_MEM_SINK_HH__
#define __MEM_QOS_MEM_SINK_HH__
#include <cstdint>
#include <deque>
#include <vector>
#include "base/types.hh"
#include "mem/abstract_mem.hh"
#include "mem/qos/mem_ctrl.hh"
#include "mem/qport.hh"
#include "params/QoSMemSinkCtrl.hh"
#include "sim/eventq.hh"
struct QoSMemSinkInterfaceParams;
class QoSMemSinkInterface;

View File

@@ -33,11 +33,11 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#include "policy.hh"
#include "mem/qos/policy.hh"
#include "params/QoSPolicy.hh"
namespace QoS {

View File

@@ -33,18 +33,22 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#ifndef __MEM_QOS_POLICY_HH__
#define __MEM_QOS_POLICY_HH__
#include <cstdint>
#include <utility>
#include "base/logging.hh"
#include "base/trace.hh"
#include "debug/QOS.hh"
#include "mem/qos/mem_ctrl.hh"
#include "mem/packet.hh"
#include "sim/system.hh"
#include "mem/request.hh"
struct QoSPolicyParams;
namespace QoS {

View File

@@ -33,8 +33,6 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#include "mem/qos/policy_fixed_prio.hh"
@@ -42,7 +40,10 @@
#include <algorithm>
#include <functional>
#include "base/trace.hh"
#include "debug/QOS.hh"
#include "mem/request.hh"
#include "params/QoSFixedPriorityPolicy.hh"
namespace QoS {

View File

@@ -33,15 +33,17 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#ifndef __MEM_QOS_POLICY_FIXED_PRIO_HH__
#define __MEM_QOS_POLICY_FIXED_PRIO_HH__
#include <cstdint>
#include <map>
#include "mem/qos/policy.hh"
#include "params/QoSFixedPriorityPolicy.hh"
struct QoSFixedPriorityPolicyParams;
namespace QoS {

View File

@@ -33,13 +33,14 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Giacomo Travaglini
*/
#include "mem/qos/policy_pf.hh"
#include "mem/request.hh"
#include <algorithm>
#include "base/logging.hh"
#include "params/QoSPropFairPolicy.hh"
namespace QoS {

View File

@@ -33,15 +33,17 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Giacomo Travaglini
*/
#ifndef __MEM_QOS_POLICY_PF_HH__
#define __MEM_QOS_POLICY_PF_HH__
#include <vector>
#include "mem/qos/policy.hh"
#include "params/QoSPropFairPolicy.hh"
#include "mem/request.hh"
struct QoSPropFairPolicyParams;
namespace QoS {

View File

@@ -33,8 +33,6 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#include "mem/qos/q_policy.hh"
@@ -42,9 +40,11 @@
#include <unordered_map>
#include <utility>
#include "base/logging.hh"
#include "base/trace.hh"
#include "debug/QOS.hh"
#include "enums/QoSQPolicy.hh"
#include "mem/qos/mem_ctrl.hh"
#include "mem/request.hh"
namespace QoS {

View File

@@ -33,23 +33,21 @@
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* Author: Matteo Andreozzi
*/
#ifndef __MEM_QOS_Q_POLICY_HH__
#define __MEM_QOS_Q_POLICY_HH__
#include <deque>
#include <list>
#include <unordered_set>
#include "mem/packet.hh"
#include "mem/qos/mem_ctrl.hh"
#include "params/QoSMemCtrl.hh"
namespace QoS {
class MemCtrl;
/**
* QoS Queue Policy
*

View File

@@ -38,7 +38,9 @@
#ifndef __MEM_QOS_TURNAROUND_POLICY_HH__
#define __MEM_QOS_TURNAROUND_POLICY_HH__
#include "mem_ctrl.hh"
#include "mem/qos/mem_ctrl.hh"
#include "params/QoSTurnaroundPolicy.hh"
#include "sim/sim_object.hh"
namespace QoS {

View File

@@ -37,6 +37,9 @@
#include "turnaround_policy_ideal.hh"
#include <cstdint>
#include "base/trace.hh"
#include "params/QoSTurnaroundPolicyIdeal.hh"
namespace QoS {