]> git.proxmox.com Git - mirror_edk2.git/commit
OvmfPkg: Refactor MeasureHobList
authorMin M Xu <min.m.xu@intel.com>
Fri, 3 Feb 2023 03:31:40 +0000 (11:31 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sat, 4 Feb 2023 03:38:15 +0000 (03:38 +0000)
commitf41acc651feec13fac8bea305da5ef0523508a53
tree21d2a778d76ba828c16d4fc090f1259b285b5a25
parentd59279f8ce640caad9e372184a962fad5c578310
OvmfPkg: Refactor MeasureHobList

BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4243

MeasureHobList once was implemented in PeilessStartupLib and it does
measurement and logging for TdHob in one go, using TpmMeasureAndLogData().
But it doesn't work in SEC.

This patch splits MeasureHobList into 2 functions and implement them in
SecTdxHelperLib.
 - TdxHelperMeasureTdHob
 - TdxHelperBuildGuidHobForTdxMeasurement

TdxHelperMeasureTdHob measures the TdHob and stores the hash value in
WorkArea. TdxHelperBuildGuidHobForTdxMeasurement builds GuidHob for the
measurement based on the hash value in WorkArea.

After these 2 functions are introduced, PeilessStartupLib should also be
updated:
 - Call these 2 functions instead of the MeasureHobList
 - Delete the duplicated codes in PeilessStartupLib

Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Michael Roth <michael.roth@amd.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
OvmfPkg/IntelTdx/IntelTdxX64.dsc
OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelper.c
OvmfPkg/IntelTdx/TdxHelperLib/SecTdxHelperLib.inf
OvmfPkg/IntelTdx/TdxHelperLib/TdxMeasurementHob.c [new file with mode: 0644]
OvmfPkg/Library/PeilessStartupLib/IntelTdx.c
OvmfPkg/Library/PeilessStartupLib/PeilessStartup.c
OvmfPkg/Library/PeilessStartupLib/PeilessStartupInternal.h