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 <thomas.lendacky@amd.com> 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 <ardb@kernel.org>
> Cc: "Min M. Xu" <min.m.xu@intel.org>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: James Bottomley <jejb@linux.ibm.com>
> Cc: Tom Lendacky <Thomas.Lendacky@amd.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
> Cc: Erdem Aktas <erdemaktas@google.com>
>
> Signed-off-by: Dionna Glaze <dionnaglaze@google.com>
>
> 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)