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 the maximum physical APIC ID available in the system. 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 number of bits to program the host physical APIC ID in the AVIC physical APIC ID table entry. Regards, Suravee Suthikulpanit Changes from V1 (https://lkml.org/lkml/2021/11/10/243) : * Refactor AVIC hardware setup code into a helper function to simplify logic for enabling AVIC. (patch 1/3) * Simplify the logic in avic_init_host_physical_apicid_mask() by by removing the CPUID[0xb,0x1] check for processor level APIC ID mask. (patch 3/3) Suravee Suthikulpanit (3): KVM: SVM: Refactor AVIC hardware setup logic into helper function x86/apic: Add helper function to get maximum physical APIC ID KVM: SVM: Extend host physical APIC ID field to support more than 8-bit arch/x86/include/asm/apic.h | 1 + arch/x86/kernel/apic/apic.c | 6 ++++++ arch/x86/kvm/svm/avic.c | 38 +++++++++++++++++++++++++++++-------- arch/x86/kvm/svm/svm.c | 8 +------- arch/x86/kvm/svm/svm.h | 2 +- 5 files changed, 39 insertions(+), 16 deletions(-) -- 2.25.1