diff options
Diffstat (limited to 'src/arch/x86/isa/decoder/one_byte_opcodes.isa')
-rw-r--r-- | src/arch/x86/isa/decoder/one_byte_opcodes.isa | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/arch/x86/isa/decoder/one_byte_opcodes.isa b/src/arch/x86/isa/decoder/one_byte_opcodes.isa index ac714b3ff..62b8c8d59 100644 --- a/src/arch/x86/isa/decoder/one_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/one_byte_opcodes.isa @@ -313,17 +313,18 @@ default: WarnUnimpl::call_far_Ap(); } 0x3: WarnUnimpl::fwait(); //aka wait - 0x4: WarnUnimpl::pushf_Fv(); - 0x5: WarnUnimpl::popf_Fv(); - //Both of these should be illegal only if CPUID.AHF64=0, - //according to sandpile.org + 0x4: PUSHF(); + 0x5: POPF(); + //The 64 bit versions of both of these should be illegal only + //if CPUID says it isn't supported. For now, we'll just assume + //that it's supported. 0x6: decode MODE_SUBMODE { - 0x0: UD2(); - default: WarnUnimpl::sahf(); + 0x0: SAHF_64(); + default: SAHF(); } 0x7: decode MODE_SUBMODE { - 0x0: UD2(); - default: WarnUnimpl::lahf(); + 0x0: LAHF_64(); + default: LAHF(); } } 0x14: decode OPCODE_OP_BOTTOM3 { |