summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2010-10-29 02:20:46 -0700
committerGabe Black <gblack@eecs.umich.edu>2010-10-29 02:20:46 -0700
commit7378424b149a16cbc22a5b0260372beb8c8a0ac7 (patch)
tree4ce9b5276c65e07a170ac490c06fb5876b9d0390 /src/arch/x86
parentd5dbd91f3d98b4c2df88aa6ee88f19269cd67bc4 (diff)
downloadgem5-7378424b149a16cbc22a5b0260372beb8c8a0ac7.tar.xz
X86: Make syscalls also serialize after.
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/isa/decoder/one_byte_opcodes.isa2
-rw-r--r--src/arch/x86/isa/decoder/two_byte_opcodes.isa4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa
index 213ddf65a..71d161231 100644
--- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa
+++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa
@@ -403,7 +403,7 @@
0x5: decode IMMEDIATE {
-0x80:
SyscallInst::int80('xc->syscall(Rax)',
- IsSyscall, IsNonSpeculative);
+ IsSyscall, IsNonSpeculative, IsSerializeAfter);
default: int_Ib();
}
#endif
diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa
index 27824c8aa..de167d1c1 100644
--- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa
+++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa
@@ -229,7 +229,7 @@
}
#else
0x05: SyscallInst::syscall('xc->syscall(Rax)',
- IsSyscall, IsNonSpeculative);
+ IsSyscall, IsNonSpeculative, IsSerializeAfter);
#endif
0x06: Inst::CLTS();
0x07: decode MODE_SUBMODE {
@@ -406,7 +406,7 @@
0x4: sysenter();
#else
0x4: SyscallInst::sysenter('xc->syscall(Rax)',
- IsSyscall, IsNonSpeculative);
+ IsSyscall, IsNonSpeculative, IsSerializeAfter);
#endif
0x5: sysexit();
0x6: Inst::UD2();