Re: [PATCH v2 00/13] KVM: x86: break the xAPIC barrier

Paolo Bonzini
2016-07-08T10:00:08Z

On 07/07/2016 19:15, Radim Krčmář wrote:
> This series allows userspace to create and send interrupts to VCPUs with
> APIC ID > 255.
>
> v2:
> dropped "KVM: x86: use u16 for logical VCPU mask in lapic" [Paolo]
> [1,5,8,9,12/13] r-b Paolo
> [7,10,13/13] new [Paolo]
> [2/13] do not point to out-of-scope value (return &src) [Paolo]
> [3/13]
> * split from the next patch [Paolo]
> * handle all sizes of the lapic array [Paolo]
> [4/13]
> * replaced size with max_apic_id to minimize chances of overflow [Andrew]
> * fixed allocation size [Paolo]
> [6/13]
> * removed an obvious comment about recalculate_apic_id in state_set
> * refactor kvm_apic_state_fixup and kvm_apic_post_state_restore [Paolo]
> * reset apic id on xapic->disabled->xapic transitions [Paolo]
> [11/13]
> * pass struct kvm into kvm_set_msi_irq [Paolo]
> * trace address_hi [David]
> * use hex dst, like other tracepoins
> * strict reserved MSI bits checking [Paolo]
> * loose reserved capability bits checking [Paolo]
> * improved documentation [Paolo]
>
> v1: http://www.spinics.net/lists/kvm/msg134921.html

Looks good, thanks!

Paolo

>
> Radim Krčmář (13):
> KVM: x86: bump KVM_SOFT_MAX_VCPUS to 240
> KVM: x86: add kvm_apic_map_get_dest_lapic
> KVM: x86: use physical LAPIC array for logical x2APIC
> KVM: x86: dynamic kvm_apic_map
> KVM: x86: use generic function for MSI parsing
> KVM: x86: use hardware-compatible format for APIC ID register
> KVM: x86: reset APIC ID when enabling LAPIC
> KVM: VMX: optimize APIC ID read with APICv
> KVM: x86: reset lapic base in kvm_lapic_reset
> KVM: pass struct kvm to kvm_set_routing_entry
> KVM: x86: add KVM_CAP_X2APIC_API
> KVM: x86: bump MAX_VCPUS to 288
> KVM: x86: bump KVM_MAX_VCPU_ID to 1023
>
> Documentation/virtual/kvm/api.txt | 32 ++++
> arch/powerpc/kvm/mpic.c | 3 +-
> arch/s390/kvm/interrupt.c | 3 +-
> arch/x86/include/asm/kvm_host.h | 18 +-
> arch/x86/kvm/irq_comm.c | 44 +++--
> arch/x86/kvm/lapic.c | 380 +++++++++++++++++++-------------------
> arch/x86/kvm/lapic.h | 10 +-
> arch/x86/kvm/vmx.c | 5 +-
> arch/x86/kvm/x86.c | 17 +-
> include/linux/kvm_host.h | 3 +-
> include/trace/events/kvm.h | 5 +-
> include/uapi/linux/kvm.h | 1 +
> virt/kvm/irqchip.c | 7 +-
> 13 files changed, 300 insertions(+), 228 deletions(-)
>