Il 20/08/2014 08:46, Valentine Sinitsyn ha scritto:
>
> You can see the problem here: the code tries to access APIC MMIO
> register, which is trapped by KVM's MMU code (at nested page table
> walk). During MMIO access emulation, KVM decides to inject 0x23c
> exception (which looks wrong, as there is no exception with this number
> defined). After that things become flawed (pay attention to empty reason
> in the last line; the VMCB is certainly not in the state KVM
> expects/supports).
>
> I'm no KVM expert, and will be grateful for debugging suggestions (or
> maybe even assistance).
Is the 0x23c always the same? Can you try this patch?
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 204422de3fed..194e9300a31b 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -346,6 +346,7 @@ static void kvm_multiple_exception(struct kvm_vcpu *vcpu,
kvm_make_request(KVM_REQ_EVENT, vcpu);
+ WARN_ON(nr > 0x1f);
if (!vcpu->arch.exception.pending) {
queue:
vcpu->arch.exception.pending = true;
Paolo
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html