x86/sev-es: Compile early handler code into kernel image
authorJoerg Roedel <jroedel@suse.de>
Mon, 7 Sep 2020 13:15:39 +0000 (15:15 +0200)
committerBorislav Petkov <bp@suse.de>
Wed, 9 Sep 2020 08:44:46 +0000 (10:44 +0200)
commitf980f9c31a923e9040dee0bc679a5f5b09e61f40
tree420e9c485e61d4ebe601c726c74020c83411a083
parentc685eb0c12b4d4816d22ee734e91f4005b152fcd
x86/sev-es: Compile early handler code into kernel image

Setup sev-es.c and include the code from the pre-decompression stage
to also build it into the image of the running kernel. Temporarily add
__maybe_unused annotations to avoid build warnings until the functions
get used.

 [ bp: Use the non-tracing rd/wrmsr variants because:
   vmlinux.o: warning: objtool: __sev_es_nmi_complete()+0x11f: \
   call to do_trace_write_msr() leaves .noinstr.text section
   as __sev_es_nmi_complete() is noinstr due to being called from the
   NMI handler exc_nmi(). ]

Signed-off-by: Joerg Roedel <jroedel@suse.de>
Signed-off-by: Borislav Petkov <bp@suse.de>
Link: https://lkml.kernel.org/r/20200907131613.12703-39-joro@8bytes.org
arch/x86/kernel/Makefile
arch/x86/kernel/sev-es-shared.c
arch/x86/kernel/sev-es.c [new file with mode: 0644]