diff options
author | Ali Saidi <Ali.Saidi@ARM.com> | 2010-08-25 19:10:43 -0500 |
---|---|---|
committer | Ali Saidi <Ali.Saidi@ARM.com> | 2010-08-25 19:10:43 -0500 |
commit | edca5f7da6bad677dfc1ea69fff904554181cc17 (patch) | |
tree | 19e1656c6267c6677944160d10ea1a229f409b94 /src/arch/arm/isa/insts/misc.isa | |
parent | e6d3fe8a0c02e0692444399e63e6c5ce6c3abd17 (diff) | |
download | gem5-edca5f7da6bad677dfc1ea69fff904554181cc17.tar.xz |
ARM: Make VMSR, RFE PC/LR etc non speculative, and serializing
Diffstat (limited to 'src/arch/arm/isa/insts/misc.isa')
-rw-r--r-- | src/arch/arm/isa/insts/misc.isa | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/arch/arm/isa/insts/misc.isa b/src/arch/arm/isa/insts/misc.isa index 120372603..089b7bc86 100644 --- a/src/arch/arm/isa/insts/misc.isa +++ b/src/arch/arm/isa/insts/misc.isa @@ -490,7 +490,7 @@ let {{ ''' wfeIop = InstObjParams("wfe", "WfeInst", "PredOp", \ { "code" : wfeCode, "predicate_test" : predicateTest }, - ["IsNonSpeculative", "IsQuiesce"]) + ["IsNonSpeculative", "IsQuiesce", "IsSerializeAfter"]) header_output += BasicDeclare.subst(wfeIop) decoder_output += BasicConstructor.subst(wfeIop) exec_output += PredOpExecute.subst(wfeIop) @@ -517,14 +517,15 @@ let {{ ''' sevIop = InstObjParams("sev", "SevInst", "PredOp", \ { "code" : sevCode, "predicate_test" : predicateTest }, - ["IsNonSpeculative", "IsQuiesce"]) + ["IsNonSpeculative", "IsQuiesce", "IsSerializeAfter"]) header_output += BasicDeclare.subst(sevIop) decoder_output += BasicConstructor.subst(sevIop) exec_output += PredOpExecute.subst(sevIop) itIop = InstObjParams("it", "ItInst", "PredOp", \ { "code" : "Itstate = machInst.newItstate;", - "predicate_test" : predicateTest }) + "predicate_test" : predicateTest }, + ["IsNonSpeculative", "IsSerializeAfter"]) header_output += BasicDeclare.subst(itIop) decoder_output += BasicConstructor.subst(itIop) exec_output += PredOpExecute.subst(itIop) @@ -663,7 +664,8 @@ let {{ ''' setendIop = InstObjParams("setend", "Setend", "ImmOp", { "code": setendCode, - "predicate_test": predicateTest }, []) + "predicate_test": predicateTest }, + ["IsSerializeAfter","IsNonSpeculative"]) header_output += ImmOpDeclare.subst(setendIop) decoder_output += ImmOpConstructor.subst(setendIop) exec_output += PredOpExecute.subst(setendIop) |