diff options
author | Andreas Sandberg <andreas.sandberg@arm.com> | 2015-08-04 10:29:13 +0100 |
---|---|---|
committer | Andreas Sandberg <andreas.sandberg@arm.com> | 2015-08-04 10:29:13 +0100 |
commit | feded87fc99741a0603c4a124bb856eca594c4aa (patch) | |
tree | 6feffa21c8bbdb65d3cd67b552b756053590a826 /src/mem/comm_monitor.hh | |
parent | 8723b08dbf254bc436eac2b2ddf86efa02fc4274 (diff) | |
download | gem5-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.hh | 16 |
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__ |