From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH] KVM: VMX: simplify NMI mask management Date: Wed, 23 Mar 2011 16:10:09 +0100 Message-ID: <4D8A0D51.10204@siemens.com> References: <1300885976-8755-1-git-send-email-avi@redhat.com> <4D8A098D.5070902@siemens.com> <4D8A0A92.7030105@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , "kvm@vger.kernel.org" To: Avi Kivity Return-path: Received: from goliath.siemens.de ([192.35.17.28]:24276 "EHLO goliath.siemens.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933045Ab1CWPKT (ORCPT ); Wed, 23 Mar 2011 11:10:19 -0400 In-Reply-To: <4D8A0A92.7030105@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On 2011-03-23 15:58, Avi Kivity wrote: > On 03/23/2011 04:54 PM, Jan Kiszka wrote: >>> @@ -3991,9 +3987,7 @@ static void __vmx_complete_interrupts(struct vcpu_vmx *vmx, >>> * Clear bit "block by NMI" before VM entry if a NMI >>> * delivery faulted. >>> */ >>> - vmcs_clear_bits(GUEST_INTERRUPTIBILITY_INFO, >>> - GUEST_INTR_STATE_NMI); >>> - vmx->nmi_known_unmasked = true; >>> + vmx_set_nmi_mask(&vmx->vcpu, false); >>> break; >>> case INTR_TYPE_SOFT_EXCEPTION: >>> vmx->vcpu.arch.event_exit_inst_len = >> >> Looks consistent to me, but maybe you should update the comment above >> that's now also applied to the emulated mask. > > In what way? > > /* > * SDM 3: 27.7.1.2 (September 2008) > * Clear bit "block by NMI" before VM entry if a NMI > * delivery faulted. > */ > > Seems pretty descriptive. IIRC, the above only applies to CPUs that support VNMI and is meaningless for older ones. But vmx_set_nmi_mask is not void for those old CPUs. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux