KVM: SVM: Inhibit AVIC if vCPUs are aliased in logical mode
authorSean Christopherson <seanjc@google.com>
Fri, 6 Jan 2023 01:12:57 +0000 (01:12 +0000)
committerPaolo Bonzini <pbonzini@redhat.com>
Fri, 13 Jan 2023 15:45:31 +0000 (10:45 -0500)
commit9a364857ab4f8d59d417eca88a39ddf9b308237b
treef1c7856eb08e3fe08e383292e629bba71256eb7b
parent5063c41bebac8d18a83ac7b5d54782d73a9ab5f7
KVM: SVM: Inhibit AVIC if vCPUs are aliased in logical mode

Inhibit SVM's AVIC if multiple vCPUs are aliased to the same logical ID.
Architecturally, all CPUs whose logical ID matches the MDA are supposed
to receive the interrupt; overwriting existing entries in AVIC's
logical=>physical map can result in missed IPIs.

Fixes: 18f40c53e10f ("svm: Add VMEXIT handlers for AVIC")
Reviewed-by: Maxim Levitsky <mlevitsk@redhat.com>
Signed-off-by: Sean Christopherson <seanjc@google.com>
Message-Id: <20230106011306.85230-25-seanjc@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/lapic.c
arch/x86/kvm/svm/avic.c