From: Min M Xu <min.m...@intel.com> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4181
With the introduce of PcdAcceptMemoryEndAddress, TDVF may accept less memory than LowerMemorySizse. So it should be adjusted in PublishPeiMemory(). Cc: Erdem Aktas <erdemak...@google.com> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: James Bottomley <j...@linux.ibm.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Tom Lendacky <thomas.lenda...@amd.com> Signed-off-by: Min Xu <min.m...@intel.com> --- OvmfPkg/PlatformPei/MemDetect.c | 13 +++++++++++++ OvmfPkg/PlatformPei/PlatformPei.inf | 1 + 2 files changed, 14 insertions(+) diff --git a/OvmfPkg/PlatformPei/MemDetect.c b/OvmfPkg/PlatformPei/MemDetect.c index 3d8375320dcb..12a1ad46f1ca 100644 --- a/OvmfPkg/PlatformPei/MemDetect.c +++ b/OvmfPkg/PlatformPei/MemDetect.c @@ -270,8 +270,21 @@ PublishPeiMemory ( UINT32 PeiMemoryCap; UINT32 S3AcpiReservedMemoryBase; UINT32 S3AcpiReservedMemorySize; + UINT64 AcceptMemoryEndAddress; LowerMemorySize = PlatformGetSystemMemorySizeBelow4gb (PlatformInfoHob); + + // + // In Tdx guest there may be less memory accepted than LowerMemorySize. + // So LowerMemorySize need to be adjusted accordingly. + // + if (TdIsEnabled ()) { + AcceptMemoryEndAddress = FixedPcdGet64 (PcdAcceptMemoryEndAddress); + if ((AcceptMemoryEndAddress < SIZE_4GB) && (LowerMemorySize > (UINT32)(UINTN)AcceptMemoryEndAddress)) { + LowerMemorySize = (UINT32)(UINTN)AcceptMemoryEndAddress; + } + } + if (PlatformInfoHob->SmmSmramRequire) { // // TSEG is chipped from the end of low RAM diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf index 1fadadeb5565..c87d2fa25c08 100644 --- a/OvmfPkg/PlatformPei/PlatformPei.inf +++ b/OvmfPkg/PlatformPei/PlatformPei.inf @@ -130,6 +130,7 @@ gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaSize gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsSize + gUefiOvmfPkgTokenSpaceGuid.PcdAcceptMemoryEndAddress [FeaturePcd] gUefiOvmfPkgTokenSpaceGuid.PcdCsmEnable -- 2.29.2.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#97753): https://edk2.groups.io/g/devel/message/97753 Mute This Topic: https://groups.io/mt/95882250/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-