summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2007-01-16 19:06:33 -0500
committerAli Saidi <saidi@eecs.umich.edu>2007-01-16 19:06:33 -0500
commit0584d5bd6c24c66a0d497bba6a3a47d8cdc7a87e (patch)
tree5bb309c8a0dd63dfa23fefc122f9ead0d550f0fb
parentecfd628ecd394f8e7df654ffc7c342d959e12e15 (diff)
downloadgem5-0584d5bd6c24c66a0d497bba6a3a47d8cdc7a87e.tar.xz
In the case of ASI_P or ASI_LDTX_P set primary and skip the other checks
--HG-- extra : convert_revision : e7b21c56eadf4603ab03364741b00c9689492423
-rw-r--r--src/arch/sparc/tlb.cc16
1 files changed, 6 insertions, 10 deletions
diff --git a/src/arch/sparc/tlb.cc b/src/arch/sparc/tlb.cc
index 1cecb4ebb..0935cee4e 100644
--- a/src/arch/sparc/tlb.cc
+++ b/src/arch/sparc/tlb.cc
@@ -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;