[RFC 0/9] KVM: x86: break the xAPIC barrier

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

 



Please give attention to [5/9], which introduces a new userpace
interface, and to [7/9], which codifies a very unfourtunate interface
choice that was made when introducing paravirtual x2APIC.

The rest makes APIC ID > 255 work in KVM.

I've tested latest upstream and rhel7 kernels as guests in physical and
cluster x2APIC modes and there were no issues that could be tracked to
these patches.  If interrupt remapping + split irqchip didn't screw up
EOI, then everything useful would have worked.

It was a setup from Igor's latest x2APIC QEMU series, so 2 VCPUs in
total, first has id 0, the second has 280.  I used v4 of Peter's IR
patches with Jan's EIM on top, because newer versions got stuck at boot
even without other patches.

See the qemu-devel-list for potential uses,
"[RFC 0/4] APIC, IOMMU, KVM: add x2APIC interface".


Radim Krčmář (9):
  KVM: x86: add kvm_apic_map_get_dest_lapic
  KVM: x86: dynamic kvm_apic_map
  KVM: x86: use u16 for logical VCPU mask in lapic
  KVM: x86: use generic function for MSI parsing
  KVM: support x2APIC ID in userspace routes
  KVM: x86: directly call recalculate_apic_map on lapic restore
  KVM: x86: use proper format of APIC ID register
  KVM: x86: reset lapic base in kvm_lapic_reset
  KVM: bump MAX_VCPUS

 Documentation/virtual/kvm/api.txt |  17 +-
 arch/x86/include/asm/kvm_host.h   |  11 +-
 arch/x86/kvm/irq_comm.c           |  26 +--
 arch/x86/kvm/lapic.c              | 354 ++++++++++++++++++--------------------
 arch/x86/kvm/lapic.h              |   9 +-
 arch/x86/kvm/vmx.c                |   7 +-
 arch/x86/kvm/x86.c                |   3 +
 include/uapi/linux/kvm.h          |   5 +
 virt/kvm/irqchip.c                |   6 +-
 9 files changed, 228 insertions(+), 210 deletions(-)

-- 
2.8.2

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[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