mem: Add tryTiming suppport to CommMonitor

The CommMonitor did not support tryTiming, which resulted in gem5
panicing if the CommMonitor was used.

With this change, we update the CommMonitor pass through the
tryTiming() calls.

Change-Id: I86810170e5e10a0c5d63af76fc4a6ab70710d2fb
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/15736
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Nikos Nikoleris <nikos.nikoleris@arm.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>
This commit is contained in:
Sascha Bischoff
2018-11-14 16:31:53 +00:00
committed by Giacomo Travaglini
parent e9d957592a
commit a0649ee1e9
2 changed files with 15 additions and 2 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2013, 2015 ARM Limited
* Copyright (c) 2012-2013, 2015, 2018 ARM Limited
* Copyright (c) 2016 Google Inc.
* Copyright (c) 2017, Centre National de la Recherche Scientifique
* All rights reserved.
@@ -374,6 +374,12 @@ CommMonitor::recvRespRetry()
masterPort.sendRetryResp();
}
bool
CommMonitor::tryTiming(PacketPtr pkt)
{
return masterPort.tryTiming(pkt);
}
void
CommMonitor::recvRangeChange()
{

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2012-2013, 2015 ARM Limited
* Copyright (c) 2012-2013, 2015, 2018 ARM Limited
* Copyright (c) 2016 Google Inc.
* Copyright (c) 2017, Centre National de la Recherche Scientifique
* All rights reserved.
@@ -232,6 +232,11 @@ class CommMonitor : public MemObject
mon.recvRespRetry();
}
bool tryTiming(PacketPtr pkt)
{
return mon.tryTiming(pkt);
}
private:
CommMonitor& mon;
@@ -269,6 +274,8 @@ class CommMonitor : public MemObject
void recvRangeChange();
bool tryTiming(PacketPtr pkt);
/** Stats declarations, all in a struct for convenience. */
struct MonitorStats
{