diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2007-07-18 17:51:05 -0700 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2007-07-18 17:51:05 -0700 |
commit | 09f056a1ef324b540818f1d85377fb09af44a0f1 (patch) | |
tree | cbb261e7db4811358c18c349791b1d5ebebf8dd9 | |
parent | f6d326d6fcd505068ffff4014b19d4fa27f2e5be (diff) | |
download | gem5-09f056a1ef324b540818f1d85377fb09af44a0f1.tar.xz |
Check for the two opcode prefix correctly and add in some instructions.
--HG--
extra : convert_revision : 751e54843f5c81b81529050a1ae9d46d07c36e97
-rw-r--r-- | src/arch/x86/isa/decoder/two_byte_opcodes.isa | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/src/arch/x86/isa/decoder/two_byte_opcodes.isa b/src/arch/x86/isa/decoder/two_byte_opcodes.isa index f05c33bdb..7fc571205 100644 --- a/src/arch/x86/isa/decoder/two_byte_opcodes.isa +++ b/src/arch/x86/isa/decoder/two_byte_opcodes.isa @@ -58,7 +58,7 @@ // Decode the two byte opcodes // 0x2: decode OPCODE_PREFIXA { - 0xF0: decode OPCODE_OP_TOP5 { + 0x0F: decode OPCODE_OP_TOP5 { format WarnUnimpl { 0x00: decode OPCODE_OP_BOTTOM3 { 0x00: group6(); @@ -67,9 +67,7 @@ 0x03: lsl_Gv_Ew(); //sandpile.org doesn't seem to know what this is... ? 0x04: loadall_or_reset_or_hang(); - //sandpile.org says (AMD) after syscall, so I might want to check - //if that means amd64 or AMD machines - 0x05: loadall_or_syscall(); + 0x05: syscall(); 0x06: clts(); //sandpile.org says (AMD) after sysret, so I might want to check //if that means amd64 or AMD machines @@ -226,14 +224,14 @@ 0x7: holder(); } 0x10: decode OPCODE_OP_BOTTOM3 { - 0x0: holder(); - 0x1: holder(); - 0x2: holder(); - 0x3: holder(); - 0x4: holder(); - 0x5: holder(); - 0x6: holder(); - 0x7: holder(); + 0x0: jo_Jz(); + 0x1: jno_Jz(); + 0x2: jb_Jz(); + 0x3: jnb_Jz(); + 0x4: jz_Jz(); + 0x5: Inst::JNZ(Jz); + 0x6: jbe_Jz(); + 0x7: jnbe_Jz(); } 0x11: decode OPCODE_OP_BOTTOM3 { 0x0: holder(); |