In the case of ASI_P or ASI_LDTX_P set primary and skip the other checks
authorAli Saidi <saidi@eecs.umich.edu>
Wed, 17 Jan 2007 00:06:33 +0000 (19:06 -0500)
committerAli Saidi <saidi@eecs.umich.edu>
Wed, 17 Jan 2007 00:06:33 +0000 (19:06 -0500)
--HG--
extra : convert_revision : e7b21c56eadf4603ab03364741b00c9689492423

src/arch/sparc/tlb.cc

index 1cecb4ebb1b5cfbfa14439a81c9c58b9c048b71e..0935cee4e04ba7d5930ec141a183b057595554e6 100644 (file)
@@ -625,13 +625,12 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
             return new DataAccessException;
         }
 
-    } /*else if (hpriv) {*/
-        if (asi == ASI_P) {
-            ct = Primary;
-            context = pri_context;
-            goto continueDtbFlow;
-        }
-    //}
+    }
+    if (asi == ASI_P || asi == ASI_LDTX_P) {
+        ct = Primary;
+        context = pri_context;
+        goto continueDtbFlow;
+    }
 
     if (!implicit) {
         if (AsiIsLittle(asi))
@@ -640,9 +639,6 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
             panic("Block ASIs not supported\n");
         if (AsiIsNoFault(asi))
             panic("No Fault ASIs not supported\n");
-        if (write && asi == ASI_LDTX_P)
-            // block init store (like write hint64)
-            goto continueDtbFlow;
         if (!write && asi == ASI_QUAD_LDD)
             goto continueDtbFlow;