2018-07-03 14:21+0800, Wanpeng Li:
> From: Wanpeng Li <wanpen...@tencent.com>
> 
> The NMI delivery mode of ICR is used to deliver an NMI to the processor, 
> and the vector information is ignored.
> 
> Cc: Paolo Bonzini <pbonz...@redhat.com>
> Cc: Radim Krčmář <rkrc...@redhat.com>
> Cc: Vitaly Kuznetsov <vkuzn...@redhat.com>
> Signed-off-by: Wanpeng Li <wanpen...@tencent.com>
> ---
> diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
> @@ -479,7 +479,16 @@ static int __send_ipi_mask(const struct cpumask *mask, 
> int vector)
>               }
>       }
>  
> -     ret = kvm_hypercall3(KVM_HC_SEND_IPI, ipi_bitmap_low, ipi_bitmap_high, 
> vector);
> +     switch (vector) {
> +     default:
> +             icr = APIC_DM_FIXED | vector;
> +             break;
> +     case NMI_VECTOR:
> +             icr = APIC_DM_NMI;

I think it would be better to say that KVM interprets NMI_VECTOR and
sends the interrupt as APIC_DM_NMI.

> +             break;
> +     }
> +
> +     ret = kvm_hypercall3(KVM_HC_SEND_IPI, ipi_bitmap_low, ipi_bitmap_high, 
> icr);
>  

Reply via email to