KVM: Fix mov cr3 #GP at wrong instruction
authorAvi Kivity <avi@redhat.com>
Thu, 10 Jun 2010 14:02:16 +0000 (17:02 +0300)
committerAvi Kivity <avi@redhat.com>
Sun, 1 Aug 2010 07:46:35 +0000 (10:46 +0300)
commit2390218b6aa2eb3784b0a82fa811c19097dc793a
treefacf41c6ed5c3d2eafa939e7ab9209cc1594cddb
parenta83b29c6ad6d6497e569edbc29e556a384cebddd
KVM: Fix mov cr3 #GP at wrong instruction

On Intel, we call skip_emulated_instruction() even if we injected a #GP,
resulting in the #GP pointing at the wrong address.

Fix by injecting the exception and skipping the instruction at the same place,
so we can do just one or the other.

Signed-off-by: Avi Kivity <avi@redhat.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/mmu.c
arch/x86/kvm/svm.c
arch/x86/kvm/vmx.c
arch/x86/kvm/x86.c