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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to