mbox series

[0/2] KVM: x86: hyper-v: Conditionally allow SynIC with APICv/AVIC

Message ID 20210513113710.1740398-1-vkuznets@redhat.com (mailing list archive)
Headers show
Series KVM: x86: hyper-v: Conditionally allow SynIC with APICv/AVIC | expand

Message

Vitaly Kuznetsov May 13, 2021, 11:37 a.m. UTC
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(-)