Messages in this thread | | | From | "Suthikulpanit, Suravee" <> | Subject | [PATCH 0/6] KVM/x86: Add workaround to support ExtINT with AVIC | Date | Fri, 22 Mar 2019 11:57:22 +0000 |
| |
This series is one of the prerequisites for supporting AMD AVIC with in-kernel irqchip (kernel_irqchip=on).
Since AVIC does not support ExtINT interrupt, which is required during the booting phase of Windows and FreeBSD VMs (e.g. PIT -> PIC -> ExtInt). This results in VM hang in the boot loader with kernel_irqchip=on mode.
This series provides workaround by temporary deactivate AVIC and fallback to use legacy interrupt injection (w/ vINTR and interrupt window). Then re-activate AVIC once the intrrupts are handled.
Thanks, Suravee
Suravee Suthikulpanit (6): 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 kvm: lapic: Add apicv activate/deactivate helper function KVM: x86: Add interface for run-time activate/de-activate APIC virtualization svm: Temporary deactivate AVIC during ExtINT handling
arch/x86/include/asm/kvm_host.h | 11 ++++ arch/x86/kvm/lapic.c | 29 +++++++-- arch/x86/kvm/lapic.h | 1 + arch/x86/kvm/svm.c | 106 ++++++++++++++++++++++++++++++-- arch/x86/kvm/x86.c | 48 +++++++++++++++ 5 files changed, 185 insertions(+), 10 deletions(-)
-- 2.17.1
| |