changeset e278fa3086b5 in /z/repo/gem5 details: http://repo.gem5.org/gem5?cmd=changeset;node=e278fa3086b5 description: arm: Don't speculatively access most miscregisters.
Speculative exeuction can cause panics in detailed execution mode that shouldn't happen. diffstat: src/arch/arm/isa/insts/misc.isa | 2 +- src/arch/arm/miscregs.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diffs (24 lines): diff -r ffe6ab7141ab -r e278fa3086b5 src/arch/arm/isa/insts/misc.isa --- a/src/arch/arm/isa/insts/misc.isa Mon Oct 20 18:03:56 2014 -0400 +++ b/src/arch/arm/isa/insts/misc.isa Tue Sep 02 11:26:32 2014 +0100 @@ -219,7 +219,7 @@ 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) diff -r ffe6ab7141ab -r e278fa3086b5 src/arch/arm/miscregs.cc --- a/src/arch/arm/miscregs.cc Mon Oct 20 18:03:56 2014 -0400 +++ b/src/arch/arm/miscregs.cc Tue Sep 02 11:26:32 2014 +0100 @@ -758,7 +758,7 @@ // 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 _______________________________________________ gem5-dev mailing list gem5-dev@gem5.org http://m5sim.org/mailman/listinfo/gem5-dev