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