In the case of ASI_P or ASI_LDTX_P set primary and skip the other checks

--HG--
extra : convert_revision : e7b21c56eadf4603ab03364741b00c9689492423
This commit is contained in:
Ali Saidi 2007-01-16 19:06:33 -05:00
parent ecfd628ecd
commit 0584d5bd6c

View file

@ -625,13 +625,12 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
return new DataAccessException; return new DataAccessException;
} }
} /*else if (hpriv) {*/ }
if (asi == ASI_P) { if (asi == ASI_P || asi == ASI_LDTX_P) {
ct = Primary; ct = Primary;
context = pri_context; context = pri_context;
goto continueDtbFlow; goto continueDtbFlow;
} }
//}
if (!implicit) { if (!implicit) {
if (AsiIsLittle(asi)) if (AsiIsLittle(asi))
@ -640,9 +639,6 @@ DTB::translate(RequestPtr &req, ThreadContext *tc, bool write)
panic("Block ASIs not supported\n"); panic("Block ASIs not supported\n");
if (AsiIsNoFault(asi)) if (AsiIsNoFault(asi))
panic("No Fault ASIs not supported\n"); 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) if (!write && asi == ASI_QUAD_LDD)
goto continueDtbFlow; goto continueDtbFlow;