kvm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH 0/8] KVM: x86: svm: Enabling AVIC with in kernel irqchip
@ 2019-02-04 14:41 Suthikulpanit, Suravee
  2019-02-04 14:41 ` [RFC PATCH 1/8] svm: Fix improper check when deactivate AVIC Suthikulpanit, Suravee
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: Suthikulpanit, Suravee @ 2019-02-04 14:41 UTC (permalink / raw)
  To: linux-kernel, kvm, x86
  Cc: joro, rkrcmar, pbonzini, tglx, mingo, bp, hpa, jsteckli, sironi,
	wawei, Suthikulpanit, Suravee

Currently, AMD AVIC can only be enabled when creating VM in irqchip
split mode, which is due to the following issues:

   * AMD AVIC does not support ExtINT, which is required during booting
     phase of Windows and FreeBSD VMs. This results in hanging in the
     boot loaders.

   * Untrap APIC EOI write for edge-trigger interrpt.
     Please see 67034bb9dd5e ('KVM: SVM: Add irqchip_split() checks
     before enabling AVIC') for more information.

This restriction makes AVIC difficult to enable since it depends on
the non-default QEMU's kernel_irqchip=split option. Therefore, this RFC
series tries to provide workaround for the issues above, and allow AVIC to
work with the option kernel_irqchip=on (QEMU default).

Patch 1 fixes AVIC deactivation.
Patch 2-6 introduces run-time AVIC acticate/deactivate support.
Patch 7 provide workaround for untrap APIC EOI.
Patch 8 removes the kernel irqchip split restriction.

This series has been tested booting Linux, Windows, and FreeBSD VMs
with kernel_irqchip=off/split/on.

Thanks,
Suravee

Julian Stecklina (1):
  KVM: i8254: Remove need for irq ack notifier

Suravee Suthikulpanit (7):
  svm: Fix improper check when deactivate AVIC
  KVM: x86: Add interface for run-time activate/de-activate APIC
    virtualization
  KVM: x86: Add callback functions for handling APIC ID, DFR and LDR
    update
  svm: Add AMD AVIC handlers for APIC ID, DFR and LDR update
  svm: Add support for APIC_ACCESS_PAGE_PRIVATE_MEMSLOT setup/destroy
  svm: Temporary deactivate AVIC during ExtINT handling
  svm: Allow AVIC with in-kernel irqchip mode

 arch/x86/include/asm/kvm_host.h |  11 +++
 arch/x86/kvm/i8254.c            |  22 +-----
 arch/x86/kvm/i8254.h            |   2 -
 arch/x86/kvm/lapic.c            |  11 ++-
 arch/x86/kvm/svm.c              | 118 +++++++++++++++++++++++++++++---
 arch/x86/kvm/x86.c              |  36 ++++++++++
 6 files changed, 164 insertions(+), 36 deletions(-)

-- 
2.17.1


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2019-06-18 14:34 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-02-04 14:41 [RFC PATCH 0/8] KVM: x86: svm: Enabling AVIC with in kernel irqchip Suthikulpanit, Suravee
2019-02-04 14:41 ` [RFC PATCH 1/8] svm: Fix improper check when deactivate AVIC Suthikulpanit, Suravee
2019-02-04 14:42 ` [RFC PATCH 2/8] KVM: x86: Add interface for run-time activate/de-activate APIC virtualization Suthikulpanit, Suravee
2019-02-04 14:42 ` [RFC PATCH 3/8] KVM: x86: Add callback functions for handling APIC ID, DFR and LDR update Suthikulpanit, Suravee
2019-02-04 14:42 ` [RFC PATCH 4/8] svm: Add AMD AVIC handlers for " Suthikulpanit, Suravee
2019-02-04 14:42 ` [RFC PATCH 5/8] svm: Add support for APIC_ACCESS_PAGE_PRIVATE_MEMSLOT setup/destroy Suthikulpanit, Suravee
2019-02-04 14:42 ` [RFC PATCH 6/8] svm: Temporary deactivate AVIC during ExtINT handling Suthikulpanit, Suravee
2019-02-04 14:42 ` [RFC PATCH 7/8] KVM: i8254: Remove need for irq ack notifier Suthikulpanit, Suravee
2019-02-06 10:29   ` Paolo Bonzini
2019-02-06 12:53     ` Julian Stecklina
2019-02-04 14:42 ` [RFC PATCH 8/8] svm: Allow AVIC with in-kernel irqchip mode Suthikulpanit, Suravee
2019-02-05 18:34   ` Alex Williamson
2019-02-06 11:20     ` Suthikulpanit, Suravee
2019-06-15 14:28       ` Maxim Levitsky
2019-06-18 14:34         ` Suthikulpanit, Suravee

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).