]> git.baikalelectronics.ru Git - kernel.git/commitdiff
KVM: x86: WARN if the APIC map is dirty without an in-kernel local APIC
authorSean Christopherson <seanjc@google.com>
Tue, 13 Jul 2021 16:32:49 +0000 (09:32 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 2 Aug 2021 15:01:50 +0000 (11:01 -0400)
WARN if KVM ends up in a state where it thinks its APIC map needs to be
recalculated, but KVM is not emulating the local APIC.  This is mostly
to document KVM's "rules" in order to provide clarity in future cleanups.

Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20210713163324.627647-12-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/lapic.c

index ba5a27879f1dcff24e16237eb4bd72706becb85e..add4dd1e35288873c194816ecbe8f0e43bf253e7 100644 (file)
@@ -192,6 +192,9 @@ void kvm_recalculate_apic_map(struct kvm *kvm)
        if (atomic_read_acquire(&kvm->arch.apic_map_dirty) == CLEAN)
                return;
 
+       WARN_ONCE(!irqchip_in_kernel(kvm),
+                 "Dirty APIC map without an in-kernel local APIC");
+
        mutex_lock(&kvm->arch.apic_map_lock);
        /*
         * Read kvm->arch.apic_map_dirty before kvm->arch.apic_map