diff options
author | Guillaume Thouvenin <guillaume.thouvenin@ext.bull.net> | 2008-05-27 04:19:16 -0400 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2008-07-20 05:42:27 -0400 |
commit | 615ac125618dc7b40ecb418e8b353d31ccf0e518 (patch) | |
tree | 2e6d629c0eaa10264a71095c183b13a35da5f375 /arch/x86/kvm/x86_emulate.c | |
parent | 954cd36f7613ac6d084abe33114dd45a8e0dbe92 (diff) |
KVM: x86 emulator: adds support to mov r,imm (opcode 0xb8) instruction
Add support to mov r, imm (0xb8) instruction.
Signed-off-by: Guillaume Thouvenin <guillaume.thouvenin@ext.bull.net>
Signed-off-by: Laurent Vivier <laurent.vivier@bull.net>
Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch/x86/kvm/x86_emulate.c')
-rw-r--r-- | arch/x86/kvm/x86_emulate.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kvm/x86_emulate.c b/arch/x86/kvm/x86_emulate.c index 48b62cc3bd0c..21d7ff6a8ecd 100644 --- a/arch/x86/kvm/x86_emulate.c +++ b/arch/x86/kvm/x86_emulate.c | |||
@@ -152,7 +152,8 @@ static u16 opcode_table[256] = { | |||
152 | ByteOp | ImplicitOps | Mov | String, ImplicitOps | Mov | String, | 152 | ByteOp | ImplicitOps | Mov | String, ImplicitOps | Mov | String, |
153 | ByteOp | ImplicitOps | String, ImplicitOps | String, | 153 | ByteOp | ImplicitOps | String, ImplicitOps | String, |
154 | /* 0xB0 - 0xBF */ | 154 | /* 0xB0 - 0xBF */ |
155 | 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, | 155 | 0, 0, 0, 0, 0, 0, 0, 0, |
156 | DstReg | SrcImm | Mov, 0, 0, 0, 0, 0, 0, 0, | ||
156 | /* 0xC0 - 0xC7 */ | 157 | /* 0xC0 - 0xC7 */ |
157 | ByteOp | DstMem | SrcImm | ModRM, DstMem | SrcImmByte | ModRM, | 158 | ByteOp | DstMem | SrcImm | ModRM, DstMem | SrcImmByte | ModRM, |
158 | 0, ImplicitOps | Stack, 0, 0, | 159 | 0, ImplicitOps | Stack, 0, 0, |
@@ -1624,6 +1625,8 @@ special_insn: | |||
1624 | case 0xae ... 0xaf: /* scas */ | 1625 | case 0xae ... 0xaf: /* scas */ |
1625 | DPRINTF("Urk! I don't handle SCAS.\n"); | 1626 | DPRINTF("Urk! I don't handle SCAS.\n"); |
1626 | goto cannot_emulate; | 1627 | goto cannot_emulate; |
1628 | case 0xb8: /* mov r, imm */ | ||
1629 | goto mov; | ||
1627 | case 0xc0 ... 0xc1: | 1630 | case 0xc0 ... 0xc1: |
1628 | emulate_grp2(ctxt); | 1631 | emulate_grp2(ctxt); |
1629 | break; | 1632 | break; |