From a0649ee1e90e6c71f74425457c381e8b6c5d0d43 Mon Sep 17 00:00:00 2001 From: Sascha Bischoff Date: Wed, 14 Nov 2018 16:31:53 +0000 Subject: 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 Reviewed-by: Andreas Sandberg Reviewed-on: https://gem5-review.googlesource.com/c/15736 Reviewed-by: Jason Lowe-Power Maintainer: Nikos Nikoleris Maintainer: Jason Lowe-Power --- src/mem/comm_monitor.cc | 8 +++++++- src/mem/comm_monitor.hh | 9 ++++++++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/src/mem/comm_monitor.cc b/src/mem/comm_monitor.cc index 354f66092..223d1cc9f 100644 --- a/src/mem/comm_monitor.cc +++ b/src/mem/comm_monitor.cc @@ -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() { diff --git a/src/mem/comm_monitor.hh b/src/mem/comm_monitor.hh index d27594d23..dac71185c 100644 --- a/src/mem/comm_monitor.hh +++ b/src/mem/comm_monitor.hh @@ -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 { -- cgit v1.2.3