blob: c28b673bfd87ac823cebf800861294d7a615fe54 [file] [log] [blame]
From mtosatti@redhat.com Tue Apr 28 21:37:36 2009
From: Marcelo Tosatti <mtosatti@redhat.com>
Date: Mon, 23 Mar 2009 17:51:29 -0300
Subject: KVM: x86 emulator: Fix handling of VMMCALL instruction
To: stable@kernel.org
Cc: Amit Shah <amit.shah@redhat.com>, mtosatti@redhat.com, avi@redhat.com
Message-ID: <1237841498-14100-13-git-send-email-mtosatti@redhat.com>
From: Amit Shah <amit.shah@redhat.com>
(cherry picked from fbce554e940a983d005e29849636d0ef54b3eb18)
The VMMCALL instruction doesn't get recognised and isn't processed
by the emulator.
This is seen on an Intel host that tries to execute the VMMCALL
instruction after a guest live migrates from an AMD host.
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
arch/x86/kvm/x86_emulate.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/arch/x86/kvm/x86_emulate.c
+++ b/arch/x86/kvm/x86_emulate.c
@@ -299,7 +299,7 @@ static u16 group_table[] = {
static u16 group2_table[] = {
[Group7*8] =
- SrcNone | ModRM, 0, 0, 0,
+ SrcNone | ModRM, 0, 0, SrcNone | ModRM,
SrcNone | ModRM | DstMem | Mov, 0,
SrcMem16 | ModRM | Mov, 0,
};