From mboxrd@z Thu Jan 1 00:00:00 1970 From: Radim =?utf-8?B?S3LEjW3DocWZ?= Subject: Re: [PATCH v3 5/6] KVM: X86: Add NMI support to PV IPIs Date: Thu, 19 Jul 2018 18:31:39 +0200 Message-ID: <20180719163138.GC11749@flask> References: <1530598891-21370-1-git-send-email-wanpengli@tencent.com> <1530598891-21370-6-git-send-email-wanpengli@tencent.com> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: linux-kernel@vger.kernel.org, kvm@vger.kernel.org, Paolo Bonzini , Vitaly Kuznetsov To: Wanpeng Li Return-path: Content-Disposition: inline In-Reply-To: <1530598891-21370-6-git-send-email-wanpengli@tencent.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 2018-07-03 14:21+0800, Wanpeng Li: > From: Wanpeng Li > > The NMI delivery mode of ICR is used to deliver an NMI to the processor, > and the vector information is ignored. > > Cc: Paolo Bonzini > Cc: Radim Krčmář > Cc: Vitaly Kuznetsov > Signed-off-by: Wanpeng Li > --- > 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); >