[PATCH 0/2] KVM: x86: hyper-v: Conditionally allow SynIC with APICv/AVIC
From: Vitaly Kuznetsov
Date: Thu May 13 2021 - 07:37:25 EST
APICV_INHIBIT_REASON_HYPERV is currently unconditionally forced upon
SynIC activation as SynIC's AutoEOI is incompatible with APICv/AVIC. It is,
however, possible to track whether the feature was actually used by the
guest and only inhibit APICv/AVIC when needed.
The feature can be tested with QEMU's 'hv-passthrough' debug mode.
Note, 'avic' kvm-amd module parameter is '0' by default and thus needs to
be explicitly enabled.
Vitaly Kuznetsov (2):
KVM: x86: Invert APICv/AVIC enablement check
KVM: x86: hyper-v: Deactivate APICv only when AutoEOI feature is in
use
arch/x86/include/asm/kvm_host.h | 5 ++++-
arch/x86/kvm/hyperv.c | 27 +++++++++++++++++++++------
arch/x86/kvm/svm/svm.c | 7 ++++++-
arch/x86/kvm/vmx/vmx.c | 7 ++++++-
arch/x86/kvm/x86.c | 6 +++---
5 files changed, 40 insertions(+), 12 deletions(-)
--
2.31.1