audk/OvmfPkg/Include
Min M Xu 6ba931bebf OvmfPkg: Add Tdx measurement data structure in WorkArea
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4243

From the perspective of security any external input should be measured
and extended to some registers (TPM PCRs or TDX RTMR registers).

There are below 2 external input in a Td guest:
 - TdHob
 - Configuration FV (CFV)

TdHob contains the resource information passed from VMM, such as
unaccepted memory region. CFV contains the configurations, such as
secure boot variables.

TdHob and CFV should be measured and extended to RTMRs before they're
consumed. TdHob is consumed in the very early stage of boot process.
At that moment the memory service is not ready. Cfv is consumed in
PlatformPei to initialize the EmuVariableNvStore. To make the
implementation simple and clean, these 2 external input are measured
and extended to RTMRs in SEC phase. That is to say the tdx measurement
is only supported in SEC phase.

After the measurement the hash values are stored in WorkArea. Then after
the Hob service is available, these 2 measurement values are retrieved
and GuidHobs for these 2 tdx measurements are generated.

This patch defines the structure of TDX_MEASUREMENTS_DATA in
SEC_TDX_WORK_AREA to store above 2 tdx measurements. It can be extended
to store more tdx measurements if needed in the future.

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>
2023-02-04 03:38:15 +00:00
..
Dsc OvmfPkg: move dsc include snippet for Network support to Include/Dsc 2022-12-09 14:07:21 +00:00
Fdf mv OvmfPkg: move fdf include snippets to Include/Fdf 2022-12-09 14:07:21 +00:00
Guid OvmfPkg/AmdSev: expose the SNP reserved pages through configuration table 2021-12-09 06:28:10 +00:00
IndustryStandard OvmfPkg: Update I/O port related to ACPI devices for CloudHv 2022-09-08 00:28:42 +00:00
Library OvmfPkg/PlatformInitLib: Add PlatformGetLowMemoryCB 2023-01-17 16:36:59 +00:00
Pcd OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
Ppi OvmfPkg: Add MpInitLibDepLib related PPI/Protocol definitions 2022-05-11 08:40:53 +00:00
Protocol OvmfPkg: Introduce the OvmfSevMemoryAcceptance protocol 2023-01-26 23:00:51 +00:00
Register OvmfPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
OvmfPlatforms.h OvmfPkg: Handle Cloud Hypervisor host bridge 2021-12-11 14:26:05 +00:00
TdxCommondefs.inc OvmfPkg: Enable APs to accept memory for TDVF 2022-12-21 07:06:17 +00:00
WorkArea.h OvmfPkg: Add Tdx measurement data structure in WorkArea 2023-02-04 03:38:15 +00:00