arm: Don't speculatively access most miscregisters.
Speculative exeuction can cause panics in detailed execution mode that shouldn't happen.
This commit is contained in:
@@ -219,7 +219,7 @@ let {{
|
||||
msrBankedRegIop = InstObjParams("msr", "MsrBankedReg", "MsrRegOp",
|
||||
{ "code": msrBankedRegCode,
|
||||
"predicate_test": predicateTest },
|
||||
["IsSerializeAfter"])
|
||||
["IsSerializeAfter", "IsNonSpeculative"])
|
||||
header_output += MsrBankedRegDeclare.subst(msrBankedRegIop)
|
||||
decoder_output += MsrBankedRegConstructor.subst(msrBankedRegIop)
|
||||
exec_output += PredOpExecute.subst(msrBankedRegIop)
|
||||
|
||||
@@ -758,7 +758,7 @@ bitset<NUM_MISCREG_INFOS> miscRegInfo[NUM_MISCREGS] = {
|
||||
// MISCREG_CNTP_CVAL
|
||||
bitset<NUM_MISCREG_INFOS>(string("0000000000000001001")),
|
||||
// MISCREG_CNTP_CVAL_NS
|
||||
bitset<NUM_MISCREG_INFOS>(string("1100110011111110000")),
|
||||
bitset<NUM_MISCREG_INFOS>(string("1100110011111110001")),
|
||||
// MISCREG_CNTP_CVAL_S
|
||||
bitset<NUM_MISCREG_INFOS>(string("0011001100111110000")),
|
||||
// MISCREG_CNTV_CVAL
|
||||
|
||||
Reference in New Issue
Block a user