Originally, AMD SVM AVIC supports 8-bit host physical APIC ID. However, newer AMD systems can have physical APIC ID larger than 255, and AVIC hardware has been extended to support upto 12-bit host physical APIC ID. This series introduces a helper function in the APIC subsystem to get the maximum physical APIC ID allowing the SVM AVIC driver to calculate the proper size to program the host physical APIC ID in the AVIC physical APIC ID table entry. Regards, Suravee Suthikulpanit Changes from V3 (https://lkml.org/lkml/2021/12/13/1062) * Rename and modify patch 1/3 to also set vcpu_(un)blocking only when AVIC is enabled. * PATCH 3/3: Instead of dynamically calculate the host physical APIC ID mask value, use the max host physical APIC ID to determine whether to use 8-bit or 12-bit mask. * PATCH 3/3: change avic_host_physical_id_mask size. * PATCH 3/3: change warning condition in avic_vcpu_load() Suravee Suthikulpanit (3): KVM: SVM: Only call vcpu_(un)blocking when AVIC is enabled. x86/apic: Add helper function to get maximum physical APIC ID KVM: SVM: Add support for 12-bit host physical APIC ID arch/x86/include/asm/apic.h | 1 + arch/x86/kernel/apic/apic.c | 6 +++++ arch/x86/kvm/svm/avic.c | 50 +++++++++++++++++++++++++++++-------- arch/x86/kvm/svm/svm.c | 10 ++------ arch/x86/kvm/svm/svm.h | 4 +-- 5 files changed, 49 insertions(+), 22 deletions(-) -- 2.25.1