Gabe Black has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/36978 )

Change subject: mem: Expose the underlyig DRAM or NVM's memory back door.
......................................................................

mem: Expose the underlyig DRAM or NVM's memory back door.

Use the AbstractMem's new getBackdoor call to implement the
recvAtomicBackdoor call in the memory controller's port.

Change-Id: I10a7d22edb62afc3b77a2d462f297572c04f020d
---
M src/mem/mem_ctrl.cc
M src/mem/mem_ctrl.hh
2 files changed, 25 insertions(+), 4 deletions(-)



diff --git a/src/mem/mem_ctrl.cc b/src/mem/mem_ctrl.cc
index 1e60ced..beb8332 100644
--- a/src/mem/mem_ctrl.cc
+++ b/src/mem/mem_ctrl.cc
@@ -154,6 +154,17 @@
     return latency;
 }

+Tick
+MemCtrl::recvAtomicBackdoor(PacketPtr pkt, MemBackdoorPtr &backdoor)
+{
+    Tick latency = recvAtomic(pkt);
+    if (dram)
+        dram->getBackdoor(backdoor);
+    else if (nvm)
+        nvm->getBackdoor(backdoor);
+    return latency;
+}
+
 bool
 MemCtrl::readQueueFull(unsigned int neededEntries) const
 {
@@ -1461,6 +1472,13 @@
     return ctrl.recvAtomic(pkt);
 }

+Tick
+MemCtrl::MemoryPort::recvAtomicBackdoor(
+        PacketPtr pkt, MemBackdoorPtr &backdoor)
+{
+    return ctrl.recvAtomicBackdoor(pkt, backdoor);
+}
+
 bool
 MemCtrl::MemoryPort::recvTimingReq(PacketPtr pkt)
 {
diff --git a/src/mem/mem_ctrl.hh b/src/mem/mem_ctrl.hh
index e6ae0ab..dd13e3c 100644
--- a/src/mem/mem_ctrl.hh
+++ b/src/mem/mem_ctrl.hh
@@ -251,13 +251,15 @@

       protected:

-        Tick recvAtomic(PacketPtr pkt);
+        Tick recvAtomic(PacketPtr pkt) override;
+        Tick recvAtomicBackdoor(
+                PacketPtr pkt, MemBackdoorPtr &backdoor) override;

-        void recvFunctional(PacketPtr pkt);
+        void recvFunctional(PacketPtr pkt) override;

-        bool recvTimingReq(PacketPtr);
+        bool recvTimingReq(PacketPtr) override;

-        virtual AddrRangeList getAddrRanges() const;
+        AddrRangeList getAddrRanges() const override;

     };

@@ -701,6 +703,7 @@
   protected:

     Tick recvAtomic(PacketPtr pkt);
+    Tick recvAtomicBackdoor(PacketPtr pkt, MemBackdoorPtr &backdoor);
     void recvFunctional(PacketPtr pkt);
     bool recvTimingReq(PacketPtr pkt);


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/36978
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: I10a7d22edb62afc3b77a2d462f297572c04f020d
Gerrit-Change-Number: 36978
Gerrit-PatchSet: 1
Gerrit-Owner: Gabe Black <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s

Reply via email to