diff options
author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2007-09-15 10:41:26 +0300 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2007-10-13 10:18:29 +0200 |
commit | 26a3e983d154beca544afd36f293cfef10657f24 (patch) | |
tree | 61dc0fb2a00a2aafdd0d7e2bf535629891665ee1 | |
parent | 7e0b54b149315743f5743dbc0cf758012682024e (diff) |
KVM: x86 emulator: jmp abs
Implement emulation of instruction:
jump absolute r/m
opcode: 0xff /4
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
-rw-r--r-- | drivers/kvm/x86_emulate.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/kvm/x86_emulate.c b/drivers/kvm/x86_emulate.c index 4c78a4ff868f..cf8db670df7f 100644 --- a/drivers/kvm/x86_emulate.c +++ b/drivers/kvm/x86_emulate.c @@ -1148,6 +1148,12 @@ push: case 1: /* dec */ emulate_1op("dec", dst, _eflags); break; + case 4: /* jmp abs */ + if (b == 0xff) + _eip = dst.val; + else + goto cannot_emulate; + break; case 6: /* push */ /* 64-bit mode: PUSH always pushes a 64-bit operand. */ if (mode == X86EMUL_MODE_PROT64) { |