Ah yes, I did forget to include that patch. Will add to v2. I was just setting the ResourceType to unaccepted and skipping the Prevalidate call in PlatformPei if the start address is greater or equal to SIZE_4GB. That seemed more self-contained than messing with PlatformInitLib. Would you prefer that I add SevSnp logic to PlatformInitLib? On Fri, Sep 23, 2022 at 10:19 AM Tom Lendacky wrote: > On 9/22/22 15:50, Dionna Glaze wrote: > > These three patches build on the lazy-accept patch series > > > > "Introduce Lazy-accept for Tdx guest" > > > > by adding SEV-SNP support for the MemoryAccept protocol, and > > importantly making eager memory acceptance the default behavior. > > > > For unaccepted memory to be enabled, we must know that the booted image > > supports the unaccepted memory type. We add a trivial protocol that sets > > a dynamic Pcd to true when called in order for the booted image to > > signal its support for unaccepted memory. This does not need to be an > > OsIndications bit because it does not need to be persisted. > > > > We use the Pcd to disable a new ExitBootServices notification that > > accepts all unaccepted memory, removes the unaccepted memory entries in > > the memory space map, and then add the same memory ranges back as > > conventional memory. > > > > All images that support unaccepted memory must now locate and call this > > new ENABLE_UNACCEPTED_MEMORY_PROTOCOL. > > This seems to be missing the creation of unaccepted memory under SEV-SNP. > Is that going to be part of a separate patch (to update > PlatformAddMemoryBaseSizeHob () and mark anything above 4GB as unaccepted)? > > Thanks, > Tom > > > > > Cc: Ard Biescheuvel > > Cc: "Min M. Xu" > > Cc: Gerd Hoffmann > > Cc: James Bottomley > > Cc: Tom Lendacky > > Cc: Jiewen Yao > > Cc: Erdem Aktas > > > > Signed-off-by: Dionna Glaze > > > > Dionna Glaze (3): > > OvmfPkg: Realize EfiMemoryAcceptProtocol in AmdSevDxe > > DxeMain accepts all memory at EBS if needed > > MdeModulePkg: add EnableUnacceptedMemoryProtocol > > > > MdeModulePkg/Core/Dxe/DxeMain.h | 32 +++++ > > MdeModulePkg/Core/Dxe/DxeMain.inf | 3 + > > MdeModulePkg/Core/Dxe/DxeMain/DxeMain.c | 19 ++- > > MdeModulePkg/Core/Dxe/Mem/Page.c | 122 ++++++++++++++++++ > > MdeModulePkg/MdeModulePkg.dec | 9 ++ > > MdeModulePkg/MdeModulePkg.uni | 6 + > > OvmfPkg/AmdSev/AmdSevX64.dsc | 1 + > > OvmfPkg/AmdSevDxe/AmdSevDxe.c | 27 ++++ > > OvmfPkg/AmdSevDxe/AmdSevDxe.inf | 3 + > > OvmfPkg/Bhyve/BhyveX64.dsc | 2 + > > OvmfPkg/CloudHv/CloudHvX64.dsc | 2 + > > OvmfPkg/Include/Library/MemEncryptSevLib.h | 14 ++ > > OvmfPkg/IntelTdx/IntelTdxX64.dsc | 2 + > > .../Ia32/MemEncryptSevLib.c | 17 +++ > > .../X64/DxeSnpSystemRamValidate.c | 35 +++++ > > .../X64/PeiSnpSystemRamValidate.c | 17 +++ > > .../X64/SecSnpSystemRamValidate.c | 18 +++ > > OvmfPkg/OvmfPkgIa32X64.dsc | 2 + > > OvmfPkg/OvmfPkgX64.dsc | 2 + > > OvmfPkg/OvmfXen.dsc | 2 + > > 20 files changed, 334 insertions(+), 1 deletion(-) > > > -- -Dionna Glaze, PhD (she/her)