summaryrefslogtreecommitdiff
path: root/src/mem/coherent_xbar.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/mem/coherent_xbar.hh')
-rw-r--r--src/mem/coherent_xbar.hh9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mem/coherent_xbar.hh b/src/mem/coherent_xbar.hh
index 24d00628b..8c55b59da 100644
--- a/src/mem/coherent_xbar.hh
+++ b/src/mem/coherent_xbar.hh
@@ -273,6 +273,9 @@ class CoherentXBar : public BaseXBar
/** Cycles of snoop response latency.*/
const Cycles snoopResponseLatency;
+ /** Is this crossbar the point of coherency? **/
+ const bool pointOfCoherency;
+
/**
* Upstream caches need this packet until true is returned, so
* hold it for deletion until a subsequent call
@@ -384,6 +387,12 @@ class CoherentXBar : public BaseXBar
*/
void forwardFunctional(PacketPtr pkt, PortID exclude_slave_port_id);
+ /**
+ * Determine if the crossbar should sink the packet, as opposed to
+ * forwarding it, or responding.
+ */
+ bool sinkPacket(const PacketPtr pkt) const;
+
Stats::Scalar snoops;
Stats::Distribution snoopFanout;