changeset e6347e559e8f in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=e6347e559e8f
description:
        mem: Fix sender state bug and delay popping

        This patch fixes a newly introduced bug where the sender state was
        popped before checking that it should be. Amazingly all regressions
        pass, but Linux fails to boot on the detailed CPU with caches enabled.

diffstat:

 src/mem/cache/cache_impl.hh |  3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diffs (20 lines):

diff -r c77795f711a3 -r e6347e559e8f src/mem/cache/cache_impl.hh
--- a/src/mem/cache/cache_impl.hh       Tue Feb 19 09:53:07 2013 -0500
+++ b/src/mem/cache/cache_impl.hh       Tue Feb 19 12:57:47 2013 -0500
@@ -366,7 +366,7 @@
 
     // must be cache-to-cache response from upper to lower level
     ForwardResponseRecord *rec =
-        dynamic_cast<ForwardResponseRecord *>(pkt->popSenderState());
+        dynamic_cast<ForwardResponseRecord *>(pkt->senderState);
     assert(!system->bypassCaches());
 
     if (rec == NULL) {
@@ -379,6 +379,7 @@
         return;
     }
 
+    pkt->popSenderState();
     pkt->setDest(rec->prevSrc);
     delete rec;
     // @todo someone should pay for this
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to