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