KVM: SVM: Inhibit APIC virtualization for X2APIC guest
authorOliver Upton <oupton@google.com>
Fri, 28 Feb 2020 08:59:04 +0000 (00:59 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Mon, 16 Mar 2020 16:57:35 +0000 (17:57 +0100)
commitcc7f5577adfc766de8613b71e9ae52c053fcca01
treebf8b7b9e5fbe9f57d8f2e6cdd99db3b7109d350d
parent4d395762599dbab1eb29d9011d5b75ca3cc4f70a
KVM: SVM: Inhibit APIC virtualization for X2APIC guest

The AVIC does not support guest use of the x2APIC interface. Currently,
KVM simply chooses to squash the x2APIC feature in the guest's CPUID
If the AVIC is enabled. Doing so prevents KVM from running a guest
with greater than 255 vCPUs, as such a guest necessitates the use
of the x2APIC interface.

Instead, inhibit AVIC enablement on a per-VM basis whenever the x2APIC
feature is set in the guest's CPUID.

Signed-off-by: Oliver Upton <oupton@google.com>
Reviewed-by: Jim Mattson <jmattson@google.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/include/asm/kvm_host.h
arch/x86/kvm/svm.c