• Tom Lendacky's avatar
    x86/sev: Add SNP-specific unaccepted memory support · 6c321179
    Tom Lendacky authored
    Add SNP-specific hooks to the unaccepted memory support in the boot
    path (__accept_memory()) and the core kernel (accept_memory()) in order
    to support booting SNP guests when unaccepted memory is present. Without
    this support, SNP guests will fail to boot and/or panic() when unaccepted
    memory is present in the EFI memory map.
    
    The process of accepting memory under SNP involves invoking the hypervisor
    to perform a page state change for the page to private memory and then
    issuing a PVALIDATE instruction to accept the page.
    
    Since the boot path and the core kernel paths perform similar operations,
    move the pvalidate_pages() and vmgexit_psc() functions into sev-shared.c
    to avoid code duplication.
    
    Create the new header file arch/x86/boot/compressed/sev.h because adding
    the function declaration to any of the existing SEV related header files
    pulls in too many other header files, causing the build to fail.
    Signed-off-by: default avatarTom Lendacky <thomas.lendacky@amd.com>
    Signed-off-by: default avatarBorislav Petkov (AMD) <bp@alien8.de>
    Link: https://lore.kernel.org/r/a52fa69f460fd1876d70074b20ad68210dfc31dd.1686063086.git.thomas.lendacky@amd.com
    6c321179
sev.c 14 KB