From: Min M Xu <min.m...@intel.com> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4243
TdxHelperBuildGuidHobForTdxMeasurement builds GuidHob for tdx-measurement which is measured in SEC phase. The implementation is movded from PeilessStartupLib/IntelTdx.c. Cc: Erdem Aktas <erdemak...@google.com> Cc: James Bottomley <j...@linux.ibm.com> Cc: Jiewen Yao <jiewen....@intel.com> Cc: Gerd Hoffmann <kra...@redhat.com> Cc: Tom Lendacky <thomas.lenda...@amd.com> Cc: Michael Roth <michael.r...@amd.com> Signed-off-by: Min Xu <min.m...@intel.com> --- OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelper.c | 16 ++++++++++++++++ .../IntelTdx/TdxHelperLib/SecTdxHelperLib.inf | 1 + .../TdxHelperLib/TdxMeasurementHob.c} | 9 +++++---- .../PeilessStartupLib/PeilessStartupLib.inf | 1 - 4 files changed, 22 insertions(+), 5 deletions(-) rename OvmfPkg/{Library/PeilessStartupLib/IntelTdx.c => IntelTdx/TdxHelperLib/TdxMeasurementHob.c} (95%) diff --git a/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelper.c b/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelper.c index f64071827658..c857fe2ed06f 100644 --- a/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelper.c +++ b/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelper.c @@ -23,6 +23,18 @@ #include <ConfidentialComputingGuestAttr.h> #include <Library/TdxHelperLib.h> +/** + Build the GuidHob for tdx measurements which were done in SEC phase. + The measurement values are stored in WorkArea. + + @retval EFI_SUCCESS The GuidHob is built successfully + @retval Others Other errors as indicated +**/ +EFI_STATUS +InternalBuildGuidHobForTdxMeasurement ( + VOID + ); + /** In Tdx guest, some information need to be passed from host VMM to guest firmware. For example, the memory resource, etc. These information are @@ -208,5 +220,9 @@ TdxHelperBuildGuidHobForTdxMeasurement ( VOID ) { + #ifdef TDX_PEI_LESS_BOOT + return InternalBuildGuidHobForTdxMeasurement (); + #else return EFI_UNSUPPORTED; + #endif } diff --git a/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelperLib.inf b/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelperLib.inf index 3c6b96f7759a..d17b84c01f20 100644 --- a/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelperLib.inf +++ b/OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelperLib.inf @@ -24,6 +24,7 @@ [Sources] SecTdxHelper.c + TdxMeasurementHob.c [Packages] CryptoPkg/CryptoPkg.dec diff --git a/OvmfPkg/Library/PeilessStartupLib/IntelTdx.c b/OvmfPkg/IntelTdx/TdxHelperLib/TdxMeasurementHob.c similarity index 95% rename from OvmfPkg/Library/PeilessStartupLib/IntelTdx.c rename to OvmfPkg/IntelTdx/TdxHelperLib/TdxMeasurementHob.c index 4bc6f5e95e63..a4c7095cffab 100644 --- a/OvmfPkg/Library/PeilessStartupLib/IntelTdx.c +++ b/OvmfPkg/IntelTdx/TdxHelperLib/TdxMeasurementHob.c @@ -1,6 +1,10 @@ /** @file - Copyright (c) 2022, Intel Corporation. All rights reserved.<BR> + Build GuidHob for tdx measurement. + + Copyright (c) 2022 - 2023, Intel Corporation. All rights reserved.<BR> + SPDX-License-Identifier: BSD-2-Clause-Patent + **/ #include <PiPei.h> @@ -12,11 +16,8 @@ #include <Library/HobLib.h> #include <Library/PrintLib.h> #include <Library/TcgEventLogRecordLib.h> -#include <Library/TpmMeasurementLib.h> #include <WorkArea.h> -#include "PeilessStartupInternal.h" - #pragma pack(1) #define HANDOFF_TABLE_DESC "TdxTable" diff --git a/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf b/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf index 5be6baf2cef8..e77ad7bc921e 100644 --- a/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf +++ b/OvmfPkg/Library/PeilessStartupLib/PeilessStartupLib.inf @@ -29,7 +29,6 @@ PeilessStartup.c Hob.c DxeLoad.c - IntelTdx.c X64/VirtualMemory.c [Packages] -- 2.29.2.windows.2 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#99115): https://edk2.groups.io/g/devel/message/99115 Mute This Topic: https://groups.io/mt/96556340/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-