summaryrefslogtreecommitdiff
path: root/src/mem/comm_monitor.hh
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas.sandberg@arm.com>2015-08-04 10:29:13 +0100
committerAndreas Sandberg <andreas.sandberg@arm.com>2015-08-04 10:29:13 +0100
commitfeded87fc99741a0603c4a124bb856eca594c4aa (patch)
tree6feffa21c8bbdb65d3cd67b552b756053590a826 /src/mem/comm_monitor.hh
parent8723b08dbf254bc436eac2b2ddf86efa02fc4274 (diff)
downloadgem5-feded87fc99741a0603c4a124bb856eca594c4aa.tar.xz
mem: Add probe support to the CommMonitor
This changeset adds a standardized probe point type to monitor packets in the memory system and adds two probe points to the CommMonitor class. These probe points enable monitoring of successfully delivered requests and successfully delivered responses. Memory system probe listeners should use the BaseMemProbe base class to provide a unified configuration interface and reuse listener registration code. Unlike the ProbeListenerObject class, the BaseMemProbe allows objects to be wired to multiple ProbeManager instances as long as they use the same probe point name.
Diffstat (limited to 'src/mem/comm_monitor.hh')
-rw-r--r--src/mem/comm_monitor.hh16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/mem/comm_monitor.hh b/src/mem/comm_monitor.hh
index 74c711955..941de23ab 100644
--- a/src/mem/comm_monitor.hh
+++ b/src/mem/comm_monitor.hh
@@ -46,6 +46,7 @@
#include "mem/stack_dist_calc.hh"
#include "params/CommMonitor.hh"
#include "proto/protoio.hh"
+#include "sim/probe/mem.hh"
#include "sim/system.hh"
/**
@@ -82,6 +83,7 @@ class CommMonitor : public MemObject
void init() M5_ATTR_OVERRIDE;
void regStats() M5_ATTR_OVERRIDE;
void startup() M5_ATTR_OVERRIDE;
+ void regProbePoints() M5_ATTR_OVERRIDE;
public: // MemObject interfaces
BaseMasterPort& getMasterPort(const std::string& if_name,
@@ -428,6 +430,20 @@ class CommMonitor : public MemObject
/** Instantiate stats */
MonitorStats stats;
+
+ protected: // Probe points
+ /**
+ * @{
+ * @name Memory system probe points
+ */
+
+ /** Successfully forwarded request packet */
+ ProbePoints::PacketUPtr ppPktReq;
+
+ /** Successfully forwarded response packet */
+ ProbePoints::PacketUPtr ppPktResp;
+
+ /** @} */
};
#endif //__MEM_COMM_MONITOR_HH__