changeset 95297ec0f14b in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=95297ec0f14b
description:
        cpu: Always mask the snoop address when performing lock check

        Ensure the snoop address check is always using a cache-block aligned
        address. This patch updates Alpha and Mips to match the other ISAs.

diffstat:

 src/arch/alpha/locked_mem.hh |  4 +---
 src/arch/mips/locked_mem.hh  |  4 +---
 2 files changed, 2 insertions(+), 6 deletions(-)

diffs (28 lines):

diff -r 3b405d11d6dc -r 95297ec0f14b src/arch/alpha/locked_mem.hh
--- a/src/arch/alpha/locked_mem.hh      Tue Dec 02 06:07:58 2014 -0500
+++ b/src/arch/alpha/locked_mem.hh      Tue Dec 02 06:08:00 2014 -0500
@@ -76,9 +76,7 @@
         return;
 
     Addr locked_addr = xc->readMiscReg(MISCREG_LOCKADDR) & cacheBlockMask;
-    Addr snoop_addr = pkt->getAddr();
-
-    assert((cacheBlockMask & snoop_addr) == snoop_addr);
+    Addr snoop_addr = pkt->getAddr() & cacheBlockMask;
 
     if (locked_addr == snoop_addr)
         xc->setMiscReg(MISCREG_LOCKFLAG, false);
diff -r 3b405d11d6dc -r 95297ec0f14b src/arch/mips/locked_mem.hh
--- a/src/arch/mips/locked_mem.hh       Tue Dec 02 06:07:58 2014 -0500
+++ b/src/arch/mips/locked_mem.hh       Tue Dec 02 06:08:00 2014 -0500
@@ -66,9 +66,7 @@
         return;
 
     Addr locked_addr = xc->readMiscReg(MISCREG_LLADDR) & cacheBlockMask;
-    Addr snoop_addr = pkt->getAddr();
-
-    assert((cacheBlockMask & snoop_addr) == snoop_addr);
+    Addr snoop_addr = pkt->getAddr() & cacheBlockMask;
 
     if (locked_addr == snoop_addr)
         xc->setMiscReg(MISCREG_LLFLAG, false);
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to