[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 2/2] x86/svm: Use the virtual NMI when available


  • To: Abdelkareem Abdelsaamad <abdelkareem.abdelsaamad@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx
  • From: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
  • Date: Mon, 16 Feb 2026 10:15:55 +0000
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=kwQOmHp52ZjOBw3FJ0akkfMrRrqh9uqU5TyBIqj6OLM=; b=tMYd5YL3rzqgK1ZK7x7dsz1dBsalXdEegNR1hoYSboCS6IeMw/HSXohRb3JmHyjCHa3EZx978HB1lqhwZFmc4q/U4SvCFSRPMCnOTc72VAR2f1BZ3XkZg46Zuueh6qkZvKwN8QDeOT8d/QPhNZVZwwDmzHnUgfEcuzl+FPbG8AIwobSm+YMOGguyWXYTS6QWW2jCc78URz+Eb/8pesLNfwtRHRTvdZMyi5g04aFVbVkmBzxiek7kQi+SfJqt/OexiokAzf0OBUbUtVHjPbK7UawB/XYEnsxaFP/7jzduydc/SCTnoI3rb4WI5WTGvVPJK0vSGUj6eJdWNj8q5W1fgw==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gd3tMVYH5R6NzmYkvvzgv3/8LlUWJeMIG7Q6gDlaavt7tlMdPMSfae1LJouFRYYImxwh3/btFs/k38HG7JuoNmlcuQIrEG8F3AFhpqrkGpTM/eD/vHq5JKzj1JmVKUc1CcBQmGgJPefzNXuceG88HROF0fNTXMFThYye5Ra5qIIVe7I1n1XdsTNtRBkfxRfnrrMpoC516NEf4FwKzguJ37n3sviClntprBE99bZ8vF91KhmhoF5MXewSxjotZKs22M0EIbZ6f6LIPpzLOX2LtdmjFaKmH2XJ5LGuEuzBqRWah5ps1IynD7P2SaYvIjsiVNBZZbpvk4rHtCz7Nd8QLw==
  • Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
  • Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>, roger.pau@xxxxxxxxxx, Jan Beulich <jbeulich@xxxxxxxx>, Jason Andryuk <jason.andryuk@xxxxxxx>
  • Delivery-date: Mon, 16 Feb 2026 10:16:06 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

On 15/02/2026 6:16 pm, Abdelkareem Abdelsaamad wrote:
> diff --git a/xen/arch/x86/hvm/svm/intr.c b/xen/arch/x86/hvm/svm/intr.c
> index 6453a46b85..3e8959f155 100644
> --- a/xen/arch/x86/hvm/svm/intr.c
> +++ b/xen/arch/x86/hvm/svm/intr.c
> @@ -33,6 +33,15 @@ static void svm_inject_nmi(struct vcpu *v)
>      u32 general1_intercepts = vmcb_get_general1_intercepts(vmcb);
>      intinfo_t event;
>  
> +    if ( vmcb->_vintr.fields.vnmi_enable )
> +    {
> +       if ( !vmcb->_vintr.fields.vnmi_pending &&
> +            !vmcb->_vintr.fields.vnmi_blocking )
> +           vmcb->_vintr.fields.vnmi_pending = 1;
> +
> +        return;
> +    }

So what happens to the NMI we're trying to inject when NMIs are
currently blocked?

~Andrew



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.