changeset d1dce0b728b6 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=d1dce0b728b6
description:
        arm: Fix timing wakeup with LLSC

diffstat:

 src/cpu/simple/timing.cc |  12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diffs (29 lines):

diff -r 66451b99f3e6 -r d1dce0b728b6 src/cpu/simple/timing.cc
--- a/src/cpu/simple/timing.cc  Wed Nov 12 09:05:21 2014 -0500
+++ b/src/cpu/simple/timing.cc  Wed Nov 12 09:05:22 2014 -0500
@@ -243,6 +243,12 @@
 TimingSimpleCPU::handleReadPacket(PacketPtr pkt)
 {
     RequestPtr req = pkt->req;
+
+    // We're about the issues a locked load, so tell the monitor
+    // to start caring about this address
+    if (pkt->isRead() && pkt->req->isLLSC()) {
+        TheISA::handleLockedRead(thread, pkt->req);
+    }
     if (req->isMmappedIpr()) {
         Cycles delay = TheISA::handleIprRead(thread->getTC(), pkt);
         new IprEvent(pkt, this, clockEdge(delay));
@@ -792,12 +798,6 @@
         traceData = NULL;
     }
 
-    // the locked flag may be cleared on the response packet, so check
-    // pkt->req and not pkt to see if it was a load-locked
-    if (pkt->isRead() && pkt->req->isLLSC()) {
-        TheISA::handleLockedRead(thread, pkt->req);
-    }
-
     delete pkt->req;
     delete pkt;
 
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to