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