> Can we define FV_HANDOFF_TABLE_POINTERS2 and FV_HANDOFF_TABLE_POINTERS2 in > MdePkg/Include/IndustryStandard/UefiTcgPlatform.h?
[Jiewen] No. We cannot move to MdePkg. TCG defines the field to be variable length. Something like below: typedef struct { UINT8 TableDescriptionSize; UINT8 TableDescription[TableDescriptionSize]; UINT64 NumberOfTables; EFI_CONFIGURATION_TABLE TableEntry[NumberOfTables]; } HANDOFF_TABLE_POINTERS2; typedef struct { UINT8 BlobDescriptionSize; UINT8 BlobDescription[BlobDescriptionSize]; EFI_PHYSICAL_ADDRESS BlobBase; UINT64 BlobLength; } HANDOFF_TABLE_POINTERS2; The implementation can choose its own length as they wish. Thank you Yao, Jiewen > -----Original Message----- > From: Xu, Min M <min.m...@intel.com> > Sent: Friday, January 20, 2023 3:40 PM > To: Gerd Hoffmann <kra...@redhat.com>; Yao, Jiewen > <jiewen....@intel.com> > Cc: devel@edk2.groups.io; Aktas, Erdem <erdemak...@google.com>; James > Bottomley <j...@linux.ibm.com>; Tom Lendacky > <thomas.lenda...@amd.com>; Michael Roth <michael.r...@amd.com> > Subject: RE: [PATCH V2 04/10] OvmfPkg/IntelTdx: Implement other helper > functions in SecTdxHelperLib > > On January 19, 2023 5:54 PM, Gerd Hoffmann wrote: > > > > > +#pragma pack(1) > > > + > > > +#define HANDOFF_TABLE_DESC "TdxTable" > > > +typedef struct { > > > + UINT8 TableDescriptionSize; > > > + UINT8 TableDescription[sizeof > > > (HANDOFF_TABLE_DESC)]; > > > + UINT64 NumberOfTables; > > > + EFI_CONFIGURATION_TABLE TableEntry[1]; > > > +} TDX_HANDOFF_TABLE_POINTERS2; > > > + > > > +#define FV_HANDOFF_TABLE_DESC "Fv(XXXXXXXX-XXXX-XXXX-XXXX- > > XXXXXXXXXXXX)" > > > +typedef struct { > > > + UINT8 BlobDescriptionSize; > > > + UINT8 BlobDescription[sizeof > > > (FV_HANDOFF_TABLE_DESC)]; > > > + EFI_PHYSICAL_ADDRESS BlobBase; > > > + UINT64 BlobLength; > > > +} FV_HANDOFF_TABLE_POINTERS2; > > > + > > > +#pragma pack() > > > > Why do you need this? For standard event types we should have those > > structs already defined somewhere in edk2 I think ... > > > FV_HANDOFF_TABLE_POINTERS2 is related to standard event type > (EV_EFI_PLATFORM_FIRMWARE_BLOB2). > According to comment > (https://github.com/tianocore/edk2/blob/master/MdePkg/Include/Industry > Standard/UefiTcgPlatform.h#L145-L156) we can see this event type uses the > structure of UEFI_PLATFORM_FIRMWARE_BLOB2. It is not a data struct with > fixed size. Instead its size depends on BlobDescriptionSize. > Tcg2Pei measures the FV image with the event type > (EV_EFI_PLATFORM_FIRMWARE_BLOB2) and data struct > (FV_HANDOFF_TABLE_POINTERS2). > Tdx measurement does the same measurement to the Configuration FV > image. > @Yao, Jiewen Can we define FV_HANDOFF_TABLE_POINTERS2 and > FV_HANDOFF_TABLE_POINTERS2 in > MdePkg/Include/IndustryStandard/UefiTcgPlatform.h? > > Thanks > Min -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#98910): https://edk2.groups.io/g/devel/message/98910 Mute This Topic: https://groups.io/mt/96370898/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-