[edk2-devel] [PATCH 0/3] Add safe unaccepted memory behavior
Lendacky, Thomas via groups.io
thomas.lendacky=amd.com at groups.io
Fri Sep 23 19:42:57 UTC 2022
On 9/23/22 14:34, Dionna Amalie Glaze wrote:
> 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?
No, if it works and is easier / more concise, then please keep it the way
you have it.
Thanks,
Tom
>
> On Fri, Sep 23, 2022 at 10:19 AM Tom Lendacky <thomas.lendacky at amd.com
> <mailto:thomas.lendacky at 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 at kernel.org <mailto:ardb at kernel.org>>
> > Cc: "Min M. Xu" <min.m.xu at intel.org <mailto:min.m.xu at intel.org>>
> > Cc: Gerd Hoffmann <kraxel at redhat.com <mailto:kraxel at redhat.com>>
> > Cc: James Bottomley <jejb at linux.ibm.com <mailto:jejb at linux.ibm.com>>
> > Cc: Tom Lendacky <Thomas.Lendacky at amd.com
> <mailto:Thomas.Lendacky at amd.com>>
> > Cc: Jiewen Yao <jiewen.yao at intel.com <mailto:jiewen.yao at intel.com>>
> > Cc: Erdem Aktas <erdemaktas at google.com <mailto:erdemaktas at google.com>>
> >
> > Signed-off-by: Dionna Glaze <dionnaglaze at google.com
> <mailto:dionnaglaze at 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)
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#94249): https://edk2.groups.io/g/devel/message/94249
Mute This Topic: https://groups.io/mt/93857638/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list