X86: Implement the int system call interface in the decoder.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 27 Feb 2009 17:21:58 +0000 (09:21 -0800)
committerGabe 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

index 005864f027be9238c3cc502a5cc3bf80020bcd27..817986232df1ce4e246d21124575e4d5f13b40ba 100644 (file)
                     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();