Certain QEMU options fails to boot VM guest w/ SVM AVIC enabled (e.g. modprobe kvm_amd avic=1). Investigation shows that this mainly due to AVIC hardware does not trap into hypervisor when guest OS writes to APIC_EOI register. The boot hang is caused by missing timer interrupt when using in-kernel PIT model (e.g. launch qemu w/ '-no-hpet' option) since it requires irq acknowledgmen before injecting another interrupt in case irq re-injection is enabled (normally default). Changes from V1 (https://lkml.org/lkml/2017/9/5/826) * Consolidate irqchip_split() check to only one place (per Radim). Suravee Suthikulpanit (3): KVM: SVM: Refactor AVIC vcpu initialization into avic_init_vcpu() KVM: Add struct kvm_vcpu pointer parameter to get_enable_apicv() KVM: SVM: Add irqchip_split() checks before enabling AVIC arch/x86/include/asm/kvm_host.h | 2 +- arch/x86/kvm/svm.c | 43 ++++++++++++++++++++++++++++------------- arch/x86/kvm/vmx.c | 2 +- arch/x86/kvm/x86.c | 2 +- 4 files changed, 33 insertions(+), 16 deletions(-) -- 1.8.3.1