[PATCH v4 0/3] svm: avic: Allow AVIC support on system w/ physical APIC ID > 255

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux