• Joerg Roedel's avatar
    x86/sev-es: Handle NMI State · 4ca68e02
    Joerg Roedel authored
    When running under SEV-ES, the kernel has to tell the hypervisor when to
    open the NMI window again after an NMI was injected. This is done with
    an NMI-complete message to the hypervisor.
    
    Add code to the kernel's NMI handler to send this message right at the
    beginning of do_nmi(). This always allows nesting NMIs.
    
     [ bp: Mark __sev_es_nmi_complete() noinstr:
       vmlinux.o: warning: objtool: exc_nmi()+0x17: call to __sev_es_nmi_complete()
    	leaves .noinstr.text section
       While at it, use __pa_nodebug() for the same reason due to
       CONFIG_DEBUG_VIRTUAL=y:
       vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0xd9: call to __phys_addr()
       	leaves .noinstr.text section ]
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    Signed-off-by: default avatarBorislav Petkov <bp@suse.de>
    Link: https://lkml.kernel.org/r/20200907131613.12703-71-joro@8bytes.org
    4ca68e02
svm.h 7.34 KB