changeset f51e3dce9521 in /z/repo/gem5
details: http://repo.gem5.org/gem5?cmd=changeset;node=f51e3dce9521
description:
        ARM: update TLB to set request packet ASID field

diffstat:

 src/arch/arm/miscregs.hh |  5 +++++
 src/arch/arm/tlb.cc      |  2 ++
 src/arch/arm/tlb.hh      |  2 +-
 3 files changed, 8 insertions(+), 1 deletions(-)

diffs (39 lines):

diff -r 4e09d02322fb -r f51e3dce9521 src/arch/arm/miscregs.hh
--- a/src/arch/arm/miscregs.hh  Tue Sep 13 12:06:13 2011 -0500
+++ b/src/arch/arm/miscregs.hh  Tue Sep 13 12:06:13 2011 -0500
@@ -436,6 +436,11 @@
        Bitfield<31,30> or7;
    EndBitUnion(NMRR)
 
+   BitUnion32(CONTEXTIDR)
+      Bitfield<7,0>  asid;
+      Bitfield<31,8> procid;
+   EndBitUnion(CONTEXTIDR)
+
    BitUnion32(L2CTLR)
       Bitfield<2,0>   sataRAMLatency;
       Bitfield<4,3>   reserved_4_3;
diff -r 4e09d02322fb -r f51e3dce9521 src/arch/arm/tlb.cc
--- a/src/arch/arm/tlb.cc       Tue Sep 13 12:06:13 2011 -0500
+++ b/src/arch/arm/tlb.cc       Tue Sep 13 12:06:13 2011 -0500
@@ -467,6 +467,8 @@
     bool is_write = (mode == Write);
     bool is_priv = isPriv && !(flags & UserMode);
 
+    req->setAsid(contextId.asid);
+
     DPRINTF(TLBVerbose, "CPSR is priv:%d UserMode:%d\n",
             isPriv, flags & UserMode);
     // If this is a clrex instruction, provide a PA of 0 with no fault
diff -r 4e09d02322fb -r f51e3dce9521 src/arch/arm/tlb.hh
--- a/src/arch/arm/tlb.hh       Tue Sep 13 12:06:13 2011 -0500
+++ b/src/arch/arm/tlb.hh       Tue Sep 13 12:06:13 2011 -0500
@@ -222,7 +222,7 @@
 protected:
     SCTLR sctlr;
     bool isPriv;
-    uint32_t contextId;
+    CONTEXTIDR contextId;
     PRRR prrr;
     NMRR nmrr;
     uint32_t dacr;
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to