Panic if any CMT registers are accessed
authorAli Saidi <saidi@eecs.umich.edu>
Fri, 9 Mar 2007 02:49:13 +0000 (21:49 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Fri, 9 Mar 2007 02:49:13 +0000 (21:49 -0500)
src/arch/sparc/asi.cc:
src/arch/sparc/asi.hh:
    add CMT ASI registers
src/arch/sparc/tlb.cc:
    Panic if any of the CMT registers are being accessed

--HG--
extra : convert_revision : b9a94281e2074a576ac21d042b756950d509e758

src/arch/sparc/asi.cc
src/arch/sparc/asi.hh
src/arch/sparc/tlb.cc

index d8cd84af5bb80c2233a137d005e39fdfe59be765..254635bff9ecf2b1938f5ea895946ce03c3c153f 100644 (file)
@@ -247,7 +247,8 @@ namespace SparcISA
     bool AsiIsCmt(ASI asi)
     {
         return
-            (asi == ASI_CMT_PER_STRAND);
+            (asi == ASI_CMT_PER_STRAND) ||
+            (asi == ASI_CMT_SHARED);
     }
 
     bool AsiIsQueue(ASI asi)
@@ -295,7 +296,8 @@ namespace SparcISA
     bool AsiIsReg(ASI asi)
     {
         return AsiIsMmu(asi) || AsiIsScratchPad(asi) ||
-               AsiIsSparcError(asi) || AsiIsInterrupt(asi);
+               AsiIsSparcError(asi) || AsiIsInterrupt(asi)
+               || AsiIsCmt(asi);
     }
 
     bool AsiIsSparcError(ASI asi)
index 166c3867eec224eff6569361e9d997ebed618841..eba2d518f7b36687f7abea541e90dec65d90887a 100644 (file)
@@ -115,6 +115,7 @@ namespace SparcISA
         ASI_IMMU_CTXT_NONZERO_TSB_BASE_PS1 = 0x3E,
         ASI_IMMU_CTXT_NONZERO_CONFIG = 0x3F,
         ASI_STREAM_MA = 0x40,
+        ASI_CMT_SHARED = 0x41,
         //0x41 implementation dependent
         ASI_SPARC_BIST_CONTROL = 0x42,
         ASI_INST_MASK_REG = 0x42,
index c399697698911d69649c7d0b35ab484e0a8d4a30..09266fd6e495b7e044432c2be6985e13d78c8161 100644 (file)
@@ -693,6 +693,9 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
         if (AsiIsPartialStore(asi))
             panic("Partial Store ASIs not supported\n");
 
+        if (AsiIsCmt(asi))
+            panic("Cmt ASI registers not implmented\n");
+
         if (AsiIsInterrupt(asi))
             goto handleIntRegAccess;
         if (AsiIsMmu(asi))