[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
|