diff options
author | Nitin A Kamble <nitin.a.kamble@intel.com> | 2007-09-15 09:41:26 +0200 |
---|---|---|
committer | Avi Kivity <avi@qumranet.com> | 2007-10-13 10:18:29 +0200 |
commit | 26a3e983d154beca544afd36f293cfef10657f24 (patch) | |
tree | 61dc0fb2a00a2aafdd0d7e2bf535629891665ee1 /drivers/kvm | |
parent | KVM: x86 emulator: lea (diff) | |
download | linux-26a3e983d154beca544afd36f293cfef10657f24.tar.xz linux-26a3e983d154beca544afd36f293cfef10657f24.zip |
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>
Diffstat (limited to 'drivers/kvm')
-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) { |