Yu-hsin Wang has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/67291?usp=email )
Change subject: mem: Implemement backdoor interface for Bridge
......................................................................
mem: Implemement backdoor interface for Bridge
Change-Id: I5ff62b03c34e41395a957a0799925ddd9c275458
---
M src/mem/bridge.cc
M src/mem/bridge.hh
2 files changed, 44 insertions(+), 8 deletions(-)
diff --git a/src/mem/bridge.cc b/src/mem/bridge.cc
index 0f744f7..36832eb 100644
--- a/src/mem/bridge.cc
+++ b/src/mem/bridge.cc
@@ -347,6 +347,14 @@
return delay * bridge.clockPeriod() + memSidePort.sendAtomic(pkt);
}
+Tick
+Bridge::BridgeResponsePort::recvAtomicBackdoor(
+ PacketPtr pkt, MemBackdoorPtr &backdoor)
+{
+ return delay * bridge.clockPeriod() + memSidePort.sendAtomicBackdoor(
+ pkt, backdoor);
+}
+
void
Bridge::BridgeResponsePort::recvFunctional(PacketPtr pkt)
{
@@ -371,6 +379,13 @@
memSidePort.sendFunctional(pkt);
}
+void
+Bridge::BridgeResponsePort::recvMemBackdoorReq(
+ const MemBackdoorReq &req, MemBackdoorPtr &backdoor)
+{
+ memSidePort.sendMemBackdoorReq(req, backdoor);
+}
+
bool
Bridge::BridgeRequestPort::trySatisfyFunctional(PacketPtr pkt)
{
diff --git a/src/mem/bridge.hh b/src/mem/bridge.hh
index f56cef1..e4a6837 100644
--- a/src/mem/bridge.hh
+++ b/src/mem/bridge.hh
@@ -195,23 +195,35 @@
/** When receiving a timing request from the peer port,
pass it to the bridge. */
- bool recvTimingReq(PacketPtr pkt);
+ bool recvTimingReq(PacketPtr pkt) override;
/** When receiving a retry request from the peer port,
pass it to the bridge. */
- void recvRespRetry();
+ void recvRespRetry() override;
- /** When receiving a Atomic requestfrom the peer port,
+ /** When receiving an Atomic request from the peer port,
pass it to the bridge. */
- Tick recvAtomic(PacketPtr pkt);
+ Tick recvAtomic(PacketPtr pkt) override;
+
+ /** When receiving an Atomic backdoor request from the peer port,
+ pass it to the bridge. */
+ Tick recvAtomicBackdoor(
+ PacketPtr pkt, MemBackdoorPtr &backdoor) override;
+
/** When receiving a Functional request from the peer port,
pass it to the bridge. */
- void recvFunctional(PacketPtr pkt);
+ void recvFunctional(PacketPtr pkt) override;
+
+ /** When receiving a Functional backdoor request from the peer
port,
+ pass it to the bridge. */
+ void recvMemBackdoorReq(
+ const MemBackdoorReq &req, MemBackdoorPtr &backdoor) override;
+
/** When receiving a address range request the peer port,
pass it to the bridge. */
- AddrRangeList getAddrRanges() const;
+ AddrRangeList getAddrRanges() const override;
};
@@ -303,11 +315,11 @@
/** When receiving a timing request from the peer port,
pass it to the bridge. */
- bool recvTimingResp(PacketPtr pkt);
+ bool recvTimingResp(PacketPtr pkt) override;
/** When receiving a retry request from the peer port,
pass it to the bridge. */
- void recvReqRetry();
+ void recvReqRetry() override;
};
/** Response port of the bridge. */
--
To view, visit
https://gem5-review.googlesource.com/c/public/gem5/+/67291?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I5ff62b03c34e41395a957a0799925ddd9c275458
Gerrit-Change-Number: 67291
Gerrit-PatchSet: 1
Gerrit-Owner: Yu-hsin Wang <yuhsi...@google.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org