KVM: x86 emulator: Re-add VendorSpecific tag to VMMCALL insn
authorAvi Kivity <avi@redhat.com>
Tue, 5 Apr 2011 13:21:58 +0000 (16:21 +0300)
committerAvi Kivity <avi@redhat.com>
Wed, 11 May 2011 11:57:04 +0000 (07:57 -0400)
VMMCALL needs the VendorSpecific tag so that #UD emulation
(called if a guest running on AMD was migrated to an Intel host)
is allowed to process the instruction.

Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/kvm/emulate.c

index ae5f491..0e31b0c 100644 (file)
@@ -2677,7 +2677,7 @@ static struct opcode group7_rm1[] = {
 
 static struct opcode group7_rm3[] = {
        DIP(SrcNone | ModRM | Prot | Priv, vmrun,   check_svme_pa),
-       DIP(SrcNone | ModRM | Prot       , vmmcall, check_svme),
+       DIP(SrcNone | ModRM | Prot | VendorSpecific, vmmcall, check_svme),
        DIP(SrcNone | ModRM | Prot | Priv, vmload,  check_svme_pa),
        DIP(SrcNone | ModRM | Prot | Priv, vmsave,  check_svme_pa),
        DIP(SrcNone | ModRM | Prot | Priv, stgi,    check_svme),