| 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, |
| }; |