From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [PATCH 10/11] VMX: work around lacking VNMI support Date: Tue, 23 Sep 2008 10:46:38 +0200 Message-ID: <48D8ACEE.9000905@siemens.com> References: <48D74CE6.5060008@siemens.com> <48D7504B.7050102@siemens.com> <20080922141511.GA25282@minantech.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: kvm-devel , "Yang, Sheng" , Avi Kivity To: Gleb Natapov Return-path: Received: from lizzard.sbs.de ([194.138.37.39]:17257 "EHLO lizzard.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751392AbYIWIq6 (ORCPT ); Tue, 23 Sep 2008 04:46:58 -0400 In-Reply-To: <20080922141511.GA25282@minantech.com> Sender: kvm-owner@vger.kernel.org List-ID: Gleb Natapov wrote: > On Mon, Sep 22, 2008 at 09:59:07AM +0200, Jan Kiszka wrote: >> @@ -2356,6 +2384,19 @@ static void vmx_inject_nmi(struct kvm_vc >> { >> struct vcpu_vmx *vmx = to_vmx(vcpu); >> >> + if (!cpu_has_virtual_nmis()) { >> + /* >> + * Tracking the NMI-blocked state in software is built upon >> + * finding the next open IRQ window. This, in turn, depends on >> + * well-behaving guests: They have to keep IRQs disabled at >> + * least as long as the NMI handler runs. Otherwise we may >> + * cause NMI nesting, maybe breaking the guest. But as this is >> + * highly unlikely, we can live with the residual risk. >> + */ >> + vmx->soft_vnmi_blocked = 1; >> + vmx->vnmi_blocked_time = 0; >> + } >> + > We still get here with vmx->soft_vnmi_blocked = 1. Trying to find out > how. We should only come along here with vnmi blocked on reinjection (after a fault on calling the handler). Jan -- Siemens AG, Corporate Technology, CT SE 2 Corporate Competence Center Embedded Linux