Re: [PATCH 62/62] x86/sev-es: Add NMI state tracking

From: Andy Lutomirski
Date: Tue Feb 11 2020 - 17:50:45 EST


On Tue, Feb 11, 2020 at 5:53 AM Joerg Roedel <joro@xxxxxxxxxx> wrote:
>
> From: Joerg Roedel <jroedel@xxxxxxx>
>
> Keep NMI state in SEV-ES code so the kernel can re-enable NMIs for the
> vCPU when it reaches IRET.

This patch is overcomplicated IMO. Just do the magic incantation in C
from do_nmi or from here:

/*
* For ease of testing, unmask NMIs right away. Disabled by
* default because IRET is very expensive.

If you do the latter, you'll need to handle the case where the NMI
came from user mode.

The ideal solution is do_nmi, I think.

if (static_cpu_has(X86_BUG_AMD_FORGOT_ABOUT_NMI))
sev_es_unmask_nmi();

Feel free to use X86_FEATURE_SEV_ES instead :)

--Andu