projects
/
gem5.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
05de9f4
)
X86: Implement the int system call interface in the decoder.
author
Gabe Black
<gblack@eecs.umich.edu>
Fri, 27 Feb 2009 17:21:58 +0000
(09:21 -0800)
committer
Gabe Black
<gblack@eecs.umich.edu>
Fri, 27 Feb 2009 17:21:58 +0000
(09:21 -0800)
src/arch/x86/isa/decoder/one_byte_opcodes.isa
patch
|
blob
|
history
diff --git
a/src/arch/x86/isa/decoder/one_byte_opcodes.isa
b/src/arch/x86/isa/decoder/one_byte_opcodes.isa
index 005864f027be9238c3cc502a5cc3bf80020bcd27..817986232df1ce4e246d21124575e4d5f13b40ba 100644
(file)
--- a/
src/arch/x86/isa/decoder/one_byte_opcodes.isa
+++ b/
src/arch/x86/isa/decoder/one_byte_opcodes.isa
@@
-418,7
+418,18
@@
default: Inst::RET_FAR();
}
0x4: int3();
+#if FULL_SYSTEM
0x5: int_Ib();
+#else
+ // Really only the LSB matters, but the predecoder will sign
+ // extend it, and there's no easy way to specify only checking
+ // the first byte.
+ 0x5: decode IMMEDIATE {
+ 0xffffffffffffff80:
+ SyscallInst::int80('xc->syscall(Rax)', IsSyscall);
+ default: int_Ib();
+ }
+#endif
0x6: decode MODE_SUBMODE {
0x0: Inst::UD2();
default: into();