diff options
author | Mitch Hayenga <mitch.hayenga@arm.com> | 2014-09-03 07:42:46 -0400 |
---|---|---|
committer | Mitch Hayenga <mitch.hayenga@arm.com> | 2014-09-03 07:42:46 -0400 |
commit | afbae1ec95e94b6da441a0269dbd9359a7069e3d (patch) | |
tree | d4d6b3cd23d0d95dbaa227bb9916be9b4a28e73a /src/arch/x86/isa/microops | |
parent | 659bdc1a6b50ace4803d754ad982cd6a79b5695f (diff) | |
download | gem5-afbae1ec95e94b6da441a0269dbd9359a7069e3d.tar.xz |
x86: Flag instructions that call suspend as IsQuiesce
The o3 cpu relies upon instructions that suspend a thread context being
flagged as "IsQuiesce". If they are not, unpredictable behavior can occur.
This patch fixes that for the x86 ISA.
Diffstat (limited to 'src/arch/x86/isa/microops')
-rw-r--r-- | src/arch/x86/isa/microops/specop.isa | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/arch/x86/isa/microops/specop.isa b/src/arch/x86/isa/microops/specop.isa index 854d3910f..77c459097 100644 --- a/src/arch/x86/isa/microops/specop.isa +++ b/src/arch/x86/isa/microops/specop.isa @@ -63,7 +63,8 @@ output header {{ MicroHalt(ExtMachInst _machInst, const char * instMnem, uint64_t setFlags) : X86MicroopBase(_machInst, "halt", instMnem, - setFlags | (ULL(1) << StaticInst::IsNonSpeculative), + setFlags | (ULL(1) << StaticInst::IsNonSpeculative) | + (ULL(1) << StaticInst::IsQuiesce), No_OpClass) { } |