public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Re: [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG PFP spec.
  2019-12-18  7:17 Yao, Jiewen
@ 2019-12-19 14:27 ` Liming Gao
  0 siblings, 0 replies; 3+ messages in thread
From: Liming Gao @ 2019-12-19 14:27 UTC (permalink / raw)
  To: devel@edk2.groups.io, Yao, Jiewen; +Cc: Kinney, Michael D

Jiewen:
 I see this patch removes some old definitions. Is there any impact on this change?

Thanks
Liming
> -----Original Message-----
> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Yao, Jiewen
> Sent: Wednesday, December 18, 2019 3:17 PM
> To: devel@edk2.groups.io
> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>
> Subject: [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG PFP spec.
> 
> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2428
> 
> The latest TCG PFP specification (TCG PC Client Platform Firmware Profile
> Specification, Revision 1.05) added new data structure. For example,
> the SPDM device measurement. This patch adds the new content.
> 
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Liming Gao <liming.gao@intel.com>
> Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
> ---
>  .../IndustryStandard/UefiTcgPlatform.h        | 182 +++++++++++++++++-
>  1 file changed, 173 insertions(+), 9 deletions(-)
> 
> diff --git a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
> index 3f1d444aed..84023c4347 100644
> --- a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
> +++ b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
> @@ -1,7 +1,8 @@
>  /** @file
> -  TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final
> +  TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final and
> +  TCG PC Client Platform Firmware Profile Specification, Revision 1.05
> 
> -  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
> +  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
>    SPDX-License-Identifier: BSD-2-Clause-Patent
> 
>  **/
> @@ -21,6 +22,7 @@
>  #define EV_NO_ACTION                ((TCG_EVENTTYPE) 0x00000003)
>  #define EV_SEPARATOR                ((TCG_EVENTTYPE) 0x00000004)
>  #define EV_ACTION                   ((TCG_EVENTTYPE) 0x00000005)
> +#define EV_EVENT_TAG                ((TCG_EVENTTYPE) 0x00000006)
>  #define EV_S_CRTM_CONTENTS          ((TCG_EVENTTYPE) 0x00000007)
>  #define EV_S_CRTM_VERSION           ((TCG_EVENTTYPE) 0x00000008)
>  #define EV_CPU_MICROCODE            ((TCG_EVENTTYPE) 0x00000009)
> @@ -45,8 +47,12 @@
>  #define EV_EFI_ACTION                       (EV_EFI_EVENT_BASE + 7)
>  #define EV_EFI_PLATFORM_FIRMWARE_BLOB       (EV_EFI_EVENT_BASE + 8)
>  #define EV_EFI_HANDOFF_TABLES               (EV_EFI_EVENT_BASE + 9)
> +#define EV_EFI_PLATFORM_FIRMWARE_BLOB2      (EV_EFI_EVENT_BASE + 0xA)
> +#define EV_EFI_HANDOFF_TABLES2              (EV_EFI_EVENT_BASE + 0xB)
>  #define EV_EFI_HCRTM_EVENT                  (EV_EFI_EVENT_BASE + 0x10)
>  #define EV_EFI_VARIABLE_AUTHORITY           (EV_EFI_EVENT_BASE + 0xE0)
> +#define EV_EFI_SPDM_FIRMWARE_BLOB           (EV_EFI_EVENT_BASE + 0xE1)
> +#define EV_EFI_SPDM_FIRMWARE_CONFIG         (EV_EFI_EVENT_BASE + 0xE2)
> 
>  #define EFI_CALLING_EFI_APPLICATION         \
>    "Calling EFI Application from Boot Option"
> @@ -78,6 +84,9 @@
>  #define EV_POSTCODE_INFO_OPROM        "Embedded Option ROM"
>  #define OPROM_LEN                     (sizeof(EV_POSTCODE_INFO_OPROM) - 1)
> 
> +#define EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER  "Embedded UEFI Driver"
> +#define EMBEDDED_UEFI_DRIVER_LEN               (sizeof(EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER) - 1)
> +
>  #define FIRMWARE_DEBUGGER_EVENT_STRING      "UEFI Debug Mode"
>  #define FIRMWARE_DEBUGGER_EVENT_STRING_LEN  (sizeof(FIRMWARE_DEBUGGER_EVENT_STRING) - 1)
> 
> @@ -123,6 +132,30 @@ typedef struct tdEFI_PLATFORM_FIRMWARE_BLOB {
>    UINT64                            BlobLength;
>  } EFI_PLATFORM_FIRMWARE_BLOB;
> 
> +///
> +/// UEFI_PLATFORM_FIRMWARE_BLOB
> +///
> +/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB
> +/// event to facilitate the measurement of firmware volume.
> +///
> +typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB {
> +  EFI_PHYSICAL_ADDRESS              BlobBase;
> +  UINT64                            BlobLength;
> +} UEFI_PLATFORM_FIRMWARE_BLOB;
> +
> +///
> +/// UEFI_PLATFORM_FIRMWARE_BLOB2
> +///
> +/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB2
> +/// event to facilitate the measurement of firmware volume.
> +///
> +typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB2 {
> +  UINT8                             BlobDescriptionSize;
> +//UINT8                             BlobDescription[BlobDescriptionSize];
> +//EFI_PHYSICAL_ADDRESS              BlobBase;
> +//UINT64                            BlobLength;
> +} UEFI_PLATFORM_FIRMWARE_BLOB2;
> +
>  ///
>  /// EFI_IMAGE_LOAD_EVENT
>  ///
> @@ -137,6 +170,20 @@ typedef struct tdEFI_IMAGE_LOAD_EVENT {
>    EFI_DEVICE_PATH_PROTOCOL          DevicePath[1];
>  } EFI_IMAGE_LOAD_EVENT;
> 
> +///
> +/// UEFI_IMAGE_LOAD_EVENT
> +///
> +/// This structure is used in EV_EFI_BOOT_SERVICES_APPLICATION,
> +/// EV_EFI_BOOT_SERVICES_DRIVER and EV_EFI_RUNTIME_SERVICES_DRIVER
> +///
> +typedef struct tdUEFI_IMAGE_LOAD_EVENT {
> +  EFI_PHYSICAL_ADDRESS              ImageLocationInMemory;
> +  UINT64                            ImageLengthInMemory;
> +  UINT64                            ImageLinkTimeAddress;
> +  UINT64                            LengthOfDevicePath;
> +  EFI_DEVICE_PATH_PROTOCOL          DevicePath[1];
> +} UEFI_IMAGE_LOAD_EVENT;
> +
>  ///
>  /// EFI_HANDOFF_TABLE_POINTERS
>  ///
> @@ -148,6 +195,30 @@ typedef struct tdEFI_HANDOFF_TABLE_POINTERS {
>    EFI_CONFIGURATION_TABLE           TableEntry[1];
>  } EFI_HANDOFF_TABLE_POINTERS;
> 
> +///
> +/// UEFI_HANDOFF_TABLE_POINTERS
> +///
> +/// This structure is used in EV_EFI_HANDOFF_TABLES event to facilitate
> +/// the measurement of given configuration tables.
> +///
> +typedef struct tdUEFI_HANDOFF_TABLE_POINTERS {
> +  UINT64                            NumberOfTables;
> +  EFI_CONFIGURATION_TABLE           TableEntry[1];
> +} UEFI_HANDOFF_TABLE_POINTERS;
> +
> +///
> +/// UEFI_HANDOFF_TABLE_POINTERS2
> +///
> +/// This structure is used in EV_EFI_HANDOFF_TABLES2 event to facilitate
> +/// the measurement of given configuration tables.
> +///
> +typedef struct tdUEFI_HANDOFF_TABLE_POINTERS2 {
> +  UINT8                             TableDescriptionSize;
> +//UINT8                             TableDescription[TableDescriptionSize];
> +//UINT64                            NumberOfTables;
> +//EFI_CONFIGURATION_TABLE           TableEntry[1];
> +} UEFI_HANDOFF_TABLE_POINTERS2;
> +
>  ///
>  /// EFI_VARIABLE_DATA
>  ///
> @@ -197,6 +268,66 @@ typedef struct tdEFI_GPT_DATA {
>    EFI_PARTITION_ENTRY         Partitions[1];
>  } EFI_GPT_DATA;
> 
> +typedef struct tdUEFI_GPT_DATA {
> +  EFI_PARTITION_TABLE_HEADER  EfiPartitionHeader;
> +  UINT64                      NumberOfPartitions;
> +  EFI_PARTITION_ENTRY         Partitions[1];
> +} UEFI_GPT_DATA;
> +
> +#define TCG_DEVICE_SECURITY_EVENT_DATA_SIGNATURE "SPDM Device Sec"
> +#define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION   0
> +
> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_NULL  0
> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_PCI   1
> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_USB   2
> +
> +///
> +/// TCG_DEVICE_SECURITY_EVENT_DATA_HEADER
> +/// This is the header of TCG_DEVICE_SECURITY_EVENT_DATA, which is
> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
> +///
> +typedef struct {
> +  UINT8                          Signature[16];
> +  UINT16                         Version;
> +  UINT16                         Length;
> +  UINT32                         SpdmHashAlgo;
> +  UINT32                         DeviceType;
> +//SPDM_MEASUREMENT_BLOCK         SpdmMeasurementBlock;
> +} TCG_DEVICE_SECURITY_EVENT_DATA_HEADER;
> +
> +#define TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT_VERSION  0
> +
> +///
> +/// TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT
> +/// This is the PCI context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is
> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
> +///
> +typedef struct {
> +  UINT16  Version;
> +  UINT16  Length;
> +  UINT16  VendorId;
> +  UINT16  DeviceId;
> +  UINT8   RevisionID;
> +  UINT8   ClassCode[3];
> +  UINT16  SubsystemVendorID;
> +  UINT16  SubsystemID;
> +} TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT;
> +
> +#define TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT_VERSION  0
> +
> +///
> +/// TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT
> +/// This is the USB context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is
> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
> +///
> +typedef struct {
> +  UINT16  Version;
> +  UINT16  Length;
> +//UINT8   DeviceDescriptor[DescLen];
> +//UINT8   BodDescriptor[DescLen];
> +//UINT8   ConfigurationDescriptor[DescLen][NumOfConfiguration];
> +} TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT;
> +
>  //
>  // Crypto Agile Log Entry Format
>  //
> @@ -243,6 +374,7 @@ typedef struct {
>  #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM2   2
>  #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM2   0
>  #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2          0
> +#define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2_REV_105  105
> 
>  typedef struct {
>    UINT8               signature[16];
> @@ -299,20 +431,52 @@ typedef struct {
>  //UINT8               vendorInfo[vendorInfoSize];
>  } TCG_EfiSpecIDEventStruct;
> 
> +typedef struct tdTCG_PCClientTaggedEvent {
> +  UINT32              taggedEventID;
> +  UINT32              taggedEventDataSize;
> +//UINT8               taggedEventData[taggedEventDataSize];
> +} TCG_PCClientTaggedEvent;
> +
> +#define TCG_Sp800_155_PlatformId_Event_SIGNATURE  "SP800-155 Event"
> +#define TCG_Sp800_155_PlatformId_Event2_SIGNATURE "SP800-155 Event2"
> 
> +typedef struct tdTCG_Sp800_155_PlatformId_Event2 {
> +  UINT8               Signature[16];
> +  //
> +  // Where Vendor ID is an integer defined
> +  // at http://www.iana.org/assignments/enterprisenumbers
> +  //
> +  UINT32              VendorId;
> +  //
> +  // 16-byte identifier of a given platform's static configuration of code
> +  //
> +  EFI_GUID            ReferenceManifestGuid;
> +  //
> +  // Below structure is newly added in TCG_Sp800_155_PlatformId_Event2.
> +  //
> +//UINT8               PlatformManufacturerStrSize;
> +//UINT8               PlatformManufacturerStr[PlatformManufacturerStrSize];
> +//UINT8               PlatformModelSize;
> +//UINT8               PlatformModel[PlatformModelSize];
> +//UINT8               PlatformVersionSize;
> +//UINT8               PlatformVersion[PlatformVersionSize];
> +//UINT8               PlatformModelSize;
> +//UINT8               PlatformModel[PlatformModelSize];
> +//UINT8               FirmwareManufacturerStrSize;
> +//UINT8               FirmwareManufacturerStr[FirmwareManufacturerStrSize];
> +//UINT32              FirmwareManufacturerId;
> +//UINT8               FirmwareVersion;
> +//UINT8               FirmwareVersion[FirmwareVersionSize]];
> +} TCG_Sp800_155_PlatformId_Event2;
> 
>  #define TCG_EfiStartupLocalityEvent_SIGNATURE      "StartupLocality"
> 
> 
>  //
> -// PC Client PTP spec Table 8 Relationship between Locality and Locality Attribute
> +// The Locality Indicator which sent the TPM2_Startup command
>  //
> -#define LOCALITY_0_INDICATOR        0x01
> -#define LOCALITY_1_INDICATOR        0x02
> -#define LOCALITY_2_INDICATOR        0x03
> -#define LOCALITY_3_INDICATOR        0x04
> -#define LOCALITY_4_INDICATOR        0x05
> -
> +#define LOCALITY_0_INDICATOR        0x00
> +#define LOCALITY_3_INDICATOR        0x03
> 
>  //
>  // Startup Locality Event
> --
> 2.19.2.windows.1
> 
> 
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG PFP spec.
@ 2019-12-19 14:54 Yao, Jiewen
  2019-12-20  3:02 ` Liming Gao
  0 siblings, 1 reply; 3+ messages in thread
From: Yao, Jiewen @ 2019-12-19 14:54 UTC (permalink / raw)
  To: Gao, Liming; +Cc: devel@edk2.groups.io, Kinney, Michael D

no impact. 
the old definition is totally wrong according to the spec. 
No code is using that. 

thank you!
Yao, Jiewen


> 在 2019年12月19日,下午10:27,Gao, Liming <liming.gao@intel.com> 写道:
> 
> Jiewen:
> I see this patch removes some old definitions. Is there any impact on this change?
> 
> Thanks
> Liming
>> -----Original Message-----
>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Yao, Jiewen
>> Sent: Wednesday, December 18, 2019 3:17 PM
>> To: devel@edk2.groups.io
>> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming <liming.gao@intel.com>
>> Subject: [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG PFP spec.
>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2428
>> The latest TCG PFP specification (TCG PC Client Platform Firmware Profile
>> Specification, Revision 1.05) added new data structure. For example,
>> the SPDM device measurement. This patch adds the new content.
>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>> Cc: Liming Gao <liming.gao@intel.com>
>> Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
>> ---
>> .../IndustryStandard/UefiTcgPlatform.h        | 182 +++++++++++++++++-
>> 1 file changed, 173 insertions(+), 9 deletions(-)
>> diff --git a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
>> index 3f1d444aed..84023c4347 100644
>> --- a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
>> +++ b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
>> @@ -1,7 +1,8 @@
>> /** @file
>> -  TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final
>> +  TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final and
>> +  TCG PC Client Platform Firmware Profile Specification, Revision 1.05
>> -  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
>> +  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
>>  SPDX-License-Identifier: BSD-2-Clause-Patent
>> **/
>> @@ -21,6 +22,7 @@
>> #define EV_NO_ACTION                ((TCG_EVENTTYPE) 0x00000003)
>> #define EV_SEPARATOR                ((TCG_EVENTTYPE) 0x00000004)
>> #define EV_ACTION                   ((TCG_EVENTTYPE) 0x00000005)
>> +#define EV_EVENT_TAG                ((TCG_EVENTTYPE) 0x00000006)
>> #define EV_S_CRTM_CONTENTS          ((TCG_EVENTTYPE) 0x00000007)
>> #define EV_S_CRTM_VERSION           ((TCG_EVENTTYPE) 0x00000008)
>> #define EV_CPU_MICROCODE            ((TCG_EVENTTYPE) 0x00000009)
>> @@ -45,8 +47,12 @@
>> #define EV_EFI_ACTION                       (EV_EFI_EVENT_BASE + 7)
>> #define EV_EFI_PLATFORM_FIRMWARE_BLOB       (EV_EFI_EVENT_BASE + 8)
>> #define EV_EFI_HANDOFF_TABLES               (EV_EFI_EVENT_BASE + 9)
>> +#define EV_EFI_PLATFORM_FIRMWARE_BLOB2      (EV_EFI_EVENT_BASE + 0xA)
>> +#define EV_EFI_HANDOFF_TABLES2              (EV_EFI_EVENT_BASE + 0xB)
>> #define EV_EFI_HCRTM_EVENT                  (EV_EFI_EVENT_BASE + 0x10)
>> #define EV_EFI_VARIABLE_AUTHORITY           (EV_EFI_EVENT_BASE + 0xE0)
>> +#define EV_EFI_SPDM_FIRMWARE_BLOB           (EV_EFI_EVENT_BASE + 0xE1)
>> +#define EV_EFI_SPDM_FIRMWARE_CONFIG         (EV_EFI_EVENT_BASE + 0xE2)
>> #define EFI_CALLING_EFI_APPLICATION         \
>>  "Calling EFI Application from Boot Option"
>> @@ -78,6 +84,9 @@
>> #define EV_POSTCODE_INFO_OPROM        "Embedded Option ROM"
>> #define OPROM_LEN                     (sizeof(EV_POSTCODE_INFO_OPROM) - 1)
>> +#define EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER  "Embedded UEFI Driver"
>> +#define EMBEDDED_UEFI_DRIVER_LEN               (sizeof(EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER) - 1)
>> +
>> #define FIRMWARE_DEBUGGER_EVENT_STRING      "UEFI Debug Mode"
>> #define FIRMWARE_DEBUGGER_EVENT_STRING_LEN  (sizeof(FIRMWARE_DEBUGGER_EVENT_STRING) - 1)
>> @@ -123,6 +132,30 @@ typedef struct tdEFI_PLATFORM_FIRMWARE_BLOB {
>>  UINT64                            BlobLength;
>> } EFI_PLATFORM_FIRMWARE_BLOB;
>> +///
>> +/// UEFI_PLATFORM_FIRMWARE_BLOB
>> +///
>> +/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB
>> +/// event to facilitate the measurement of firmware volume.
>> +///
>> +typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB {
>> +  EFI_PHYSICAL_ADDRESS              BlobBase;
>> +  UINT64                            BlobLength;
>> +} UEFI_PLATFORM_FIRMWARE_BLOB;
>> +
>> +///
>> +/// UEFI_PLATFORM_FIRMWARE_BLOB2
>> +///
>> +/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB2
>> +/// event to facilitate the measurement of firmware volume.
>> +///
>> +typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB2 {
>> +  UINT8                             BlobDescriptionSize;
>> +//UINT8                             BlobDescription[BlobDescriptionSize];
>> +//EFI_PHYSICAL_ADDRESS              BlobBase;
>> +//UINT64                            BlobLength;
>> +} UEFI_PLATFORM_FIRMWARE_BLOB2;
>> +
>> ///
>> /// EFI_IMAGE_LOAD_EVENT
>> ///
>> @@ -137,6 +170,20 @@ typedef struct tdEFI_IMAGE_LOAD_EVENT {
>>  EFI_DEVICE_PATH_PROTOCOL          DevicePath[1];
>> } EFI_IMAGE_LOAD_EVENT;
>> +///
>> +/// UEFI_IMAGE_LOAD_EVENT
>> +///
>> +/// This structure is used in EV_EFI_BOOT_SERVICES_APPLICATION,
>> +/// EV_EFI_BOOT_SERVICES_DRIVER and EV_EFI_RUNTIME_SERVICES_DRIVER
>> +///
>> +typedef struct tdUEFI_IMAGE_LOAD_EVENT {
>> +  EFI_PHYSICAL_ADDRESS              ImageLocationInMemory;
>> +  UINT64                            ImageLengthInMemory;
>> +  UINT64                            ImageLinkTimeAddress;
>> +  UINT64                            LengthOfDevicePath;
>> +  EFI_DEVICE_PATH_PROTOCOL          DevicePath[1];
>> +} UEFI_IMAGE_LOAD_EVENT;
>> +
>> ///
>> /// EFI_HANDOFF_TABLE_POINTERS
>> ///
>> @@ -148,6 +195,30 @@ typedef struct tdEFI_HANDOFF_TABLE_POINTERS {
>>  EFI_CONFIGURATION_TABLE           TableEntry[1];
>> } EFI_HANDOFF_TABLE_POINTERS;
>> +///
>> +/// UEFI_HANDOFF_TABLE_POINTERS
>> +///
>> +/// This structure is used in EV_EFI_HANDOFF_TABLES event to facilitate
>> +/// the measurement of given configuration tables.
>> +///
>> +typedef struct tdUEFI_HANDOFF_TABLE_POINTERS {
>> +  UINT64                            NumberOfTables;
>> +  EFI_CONFIGURATION_TABLE           TableEntry[1];
>> +} UEFI_HANDOFF_TABLE_POINTERS;
>> +
>> +///
>> +/// UEFI_HANDOFF_TABLE_POINTERS2
>> +///
>> +/// This structure is used in EV_EFI_HANDOFF_TABLES2 event to facilitate
>> +/// the measurement of given configuration tables.
>> +///
>> +typedef struct tdUEFI_HANDOFF_TABLE_POINTERS2 {
>> +  UINT8                             TableDescriptionSize;
>> +//UINT8                             TableDescription[TableDescriptionSize];
>> +//UINT64                            NumberOfTables;
>> +//EFI_CONFIGURATION_TABLE           TableEntry[1];
>> +} UEFI_HANDOFF_TABLE_POINTERS2;
>> +
>> ///
>> /// EFI_VARIABLE_DATA
>> ///
>> @@ -197,6 +268,66 @@ typedef struct tdEFI_GPT_DATA {
>>  EFI_PARTITION_ENTRY         Partitions[1];
>> } EFI_GPT_DATA;
>> 
>> +typedef struct tdUEFI_GPT_DATA {
>> +  EFI_PARTITION_TABLE_HEADER  EfiPartitionHeader;
>> +  UINT64                      NumberOfPartitions;
>> +  EFI_PARTITION_ENTRY         Partitions[1];
>> +} UEFI_GPT_DATA;
>> +
>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_SIGNATURE "SPDM Device Sec"
>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION   0
>> +
>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_NULL  0
>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_PCI   1
>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_USB   2
>> +
>> +///
>> +/// TCG_DEVICE_SECURITY_EVENT_DATA_HEADER
>> +/// This is the header of TCG_DEVICE_SECURITY_EVENT_DATA, which is
>> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
>> +///
>> +typedef struct {
>> +  UINT8                          Signature[16];
>> +  UINT16                         Version;
>> +  UINT16                         Length;
>> +  UINT32                         SpdmHashAlgo;
>> +  UINT32                         DeviceType;
>> +//SPDM_MEASUREMENT_BLOCK         SpdmMeasurementBlock;
>> +} TCG_DEVICE_SECURITY_EVENT_DATA_HEADER;
>> +
>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT_VERSION  0
>> +
>> +///
>> +/// TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT
>> +/// This is the PCI context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is
>> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
>> +///
>> +typedef struct {
>> +  UINT16  Version;
>> +  UINT16  Length;
>> +  UINT16  VendorId;
>> +  UINT16  DeviceId;
>> +  UINT8   RevisionID;
>> +  UINT8   ClassCode[3];
>> +  UINT16  SubsystemVendorID;
>> +  UINT16  SubsystemID;
>> +} TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT;
>> +
>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT_VERSION  0
>> +
>> +///
>> +/// TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT
>> +/// This is the USB context data of TCG_DEVICE_SECURITY_EVENT_DATA, which is
>> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and EV_EFI_SPDM_FIRMWARE_CONFIG.
>> +///
>> +typedef struct {
>> +  UINT16  Version;
>> +  UINT16  Length;
>> +//UINT8   DeviceDescriptor[DescLen];
>> +//UINT8   BodDescriptor[DescLen];
>> +//UINT8   ConfigurationDescriptor[DescLen][NumOfConfiguration];
>> +} TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT;
>> +
>> //
>> // Crypto Agile Log Entry Format
>> //
>> @@ -243,6 +374,7 @@ typedef struct {
>> #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM2   2
>> #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM2   0
>> #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2          0
>> +#define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2_REV_105  105
>> 
>> typedef struct {
>>  UINT8               signature[16];
>> @@ -299,20 +431,52 @@ typedef struct {
>> //UINT8               vendorInfo[vendorInfoSize];
>> } TCG_EfiSpecIDEventStruct;
>> 
>> +typedef struct tdTCG_PCClientTaggedEvent {
>> +  UINT32              taggedEventID;
>> +  UINT32              taggedEventDataSize;
>> +//UINT8               taggedEventData[taggedEventDataSize];
>> +} TCG_PCClientTaggedEvent;
>> +
>> +#define TCG_Sp800_155_PlatformId_Event_SIGNATURE  "SP800-155 Event"
>> +#define TCG_Sp800_155_PlatformId_Event2_SIGNATURE "SP800-155 Event2"
>> 
>> +typedef struct tdTCG_Sp800_155_PlatformId_Event2 {
>> +  UINT8               Signature[16];
>> +  //
>> +  // Where Vendor ID is an integer defined
>> +  // at http://www.iana.org/assignments/enterprisenumbers
>> +  //
>> +  UINT32              VendorId;
>> +  //
>> +  // 16-byte identifier of a given platform's static configuration of code
>> +  //
>> +  EFI_GUID            ReferenceManifestGuid;
>> +  //
>> +  // Below structure is newly added in TCG_Sp800_155_PlatformId_Event2.
>> +  //
>> +//UINT8               PlatformManufacturerStrSize;
>> +//UINT8               PlatformManufacturerStr[PlatformManufacturerStrSize];
>> +//UINT8               PlatformModelSize;
>> +//UINT8               PlatformModel[PlatformModelSize];
>> +//UINT8               PlatformVersionSize;
>> +//UINT8               PlatformVersion[PlatformVersionSize];
>> +//UINT8               PlatformModelSize;
>> +//UINT8               PlatformModel[PlatformModelSize];
>> +//UINT8               FirmwareManufacturerStrSize;
>> +//UINT8               FirmwareManufacturerStr[FirmwareManufacturerStrSize];
>> +//UINT32              FirmwareManufacturerId;
>> +//UINT8               FirmwareVersion;
>> +//UINT8               FirmwareVersion[FirmwareVersionSize]];
>> +} TCG_Sp800_155_PlatformId_Event2;
>> 
>> #define TCG_EfiStartupLocalityEvent_SIGNATURE      "StartupLocality"
>> 
>> 
>> //
>> -// PC Client PTP spec Table 8 Relationship between Locality and Locality Attribute
>> +// The Locality Indicator which sent the TPM2_Startup command
>> //
>> -#define LOCALITY_0_INDICATOR        0x01
>> -#define LOCALITY_1_INDICATOR        0x02
>> -#define LOCALITY_2_INDICATOR        0x03
>> -#define LOCALITY_3_INDICATOR        0x04
>> -#define LOCALITY_4_INDICATOR        0x05
>> -
>> +#define LOCALITY_0_INDICATOR        0x00
>> +#define LOCALITY_3_INDICATOR        0x03
>> 
>> //
>> // Startup Locality Event
>> --
>> 2.19.2.windows.1
>> 
>> 
>> 
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG PFP spec.
  2019-12-19 14:54 [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG PFP spec Yao, Jiewen
@ 2019-12-20  3:02 ` Liming Gao
  0 siblings, 0 replies; 3+ messages in thread
From: Liming Gao @ 2019-12-20  3:02 UTC (permalink / raw)
  To: Yao, Jiewen; +Cc: devel@edk2.groups.io, Kinney, Michael D

That's good. Reviewed-by: Liming Gao <liming.gao@intel.com>

>-----Original Message-----
>From: Yao, Jiewen
>Sent: Thursday, December 19, 2019 10:54 PM
>To: Gao, Liming <liming.gao@intel.com>
>Cc: devel@edk2.groups.io; Kinney, Michael D <michael.d.kinney@intel.com>
>Subject: Re: [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG
>PFP spec.
>
>no impact.
>the old definition is totally wrong according to the spec.
>No code is using that.
>
>thank you!
>Yao, Jiewen
>
>
>> 在 2019年12月19日,下午10:27,Gao, Liming <liming.gao@intel.com>
>写道:
>>
>> Jiewen:
>> I see this patch removes some old definitions. Is there any impact on this
>change?
>>
>> Thanks
>> Liming
>>> -----Original Message-----
>>> From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Yao,
>Jiewen
>>> Sent: Wednesday, December 18, 2019 3:17 PM
>>> To: devel@edk2.groups.io
>>> Cc: Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming
><liming.gao@intel.com>
>>> Subject: [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG
>PFP spec.
>>> REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2428
>>> The latest TCG PFP specification (TCG PC Client Platform Firmware Profile
>>> Specification, Revision 1.05) added new data structure. For example,
>>> the SPDM device measurement. This patch adds the new content.
>>> Cc: Michael D Kinney <michael.d.kinney@intel.com>
>>> Cc: Liming Gao <liming.gao@intel.com>
>>> Signed-off-by: Jiewen Yao <jiewen.yao@intel.com>
>>> ---
>>> .../IndustryStandard/UefiTcgPlatform.h        | 182 +++++++++++++++++-
>>> 1 file changed, 173 insertions(+), 9 deletions(-)
>>> diff --git a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
>b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
>>> index 3f1d444aed..84023c4347 100644
>>> --- a/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
>>> +++ b/MdePkg/Include/IndustryStandard/UefiTcgPlatform.h
>>> @@ -1,7 +1,8 @@
>>> /** @file
>>> -  TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final
>>> +  TCG EFI Platform Definition in TCG_EFI_Platform_1_20_Final and
>>> +  TCG PC Client Platform Firmware Profile Specification, Revision 1.05
>>> -  Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>
>>> +  Copyright (c) 2006 - 2019, Intel Corporation. All rights reserved.<BR>
>>>  SPDX-License-Identifier: BSD-2-Clause-Patent
>>> **/
>>> @@ -21,6 +22,7 @@
>>> #define EV_NO_ACTION                ((TCG_EVENTTYPE) 0x00000003)
>>> #define EV_SEPARATOR                ((TCG_EVENTTYPE) 0x00000004)
>>> #define EV_ACTION                   ((TCG_EVENTTYPE) 0x00000005)
>>> +#define EV_EVENT_TAG                ((TCG_EVENTTYPE) 0x00000006)
>>> #define EV_S_CRTM_CONTENTS          ((TCG_EVENTTYPE) 0x00000007)
>>> #define EV_S_CRTM_VERSION           ((TCG_EVENTTYPE) 0x00000008)
>>> #define EV_CPU_MICROCODE            ((TCG_EVENTTYPE) 0x00000009)
>>> @@ -45,8 +47,12 @@
>>> #define EV_EFI_ACTION                       (EV_EFI_EVENT_BASE + 7)
>>> #define EV_EFI_PLATFORM_FIRMWARE_BLOB       (EV_EFI_EVENT_BASE +
>8)
>>> #define EV_EFI_HANDOFF_TABLES               (EV_EFI_EVENT_BASE + 9)
>>> +#define EV_EFI_PLATFORM_FIRMWARE_BLOB2      (EV_EFI_EVENT_BASE
>+ 0xA)
>>> +#define EV_EFI_HANDOFF_TABLES2              (EV_EFI_EVENT_BASE + 0xB)
>>> #define EV_EFI_HCRTM_EVENT                  (EV_EFI_EVENT_BASE + 0x10)
>>> #define EV_EFI_VARIABLE_AUTHORITY           (EV_EFI_EVENT_BASE + 0xE0)
>>> +#define EV_EFI_SPDM_FIRMWARE_BLOB           (EV_EFI_EVENT_BASE +
>0xE1)
>>> +#define EV_EFI_SPDM_FIRMWARE_CONFIG         (EV_EFI_EVENT_BASE +
>0xE2)
>>> #define EFI_CALLING_EFI_APPLICATION         \
>>>  "Calling EFI Application from Boot Option"
>>> @@ -78,6 +84,9 @@
>>> #define EV_POSTCODE_INFO_OPROM        "Embedded Option ROM"
>>> #define OPROM_LEN                     (sizeof(EV_POSTCODE_INFO_OPROM) - 1)
>>> +#define EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER  "Embedded
>UEFI Driver"
>>> +#define EMBEDDED_UEFI_DRIVER_LEN
>(sizeof(EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER) - 1)
>>> +
>>> #define FIRMWARE_DEBUGGER_EVENT_STRING      "UEFI Debug Mode"
>>> #define FIRMWARE_DEBUGGER_EVENT_STRING_LEN
>(sizeof(FIRMWARE_DEBUGGER_EVENT_STRING) - 1)
>>> @@ -123,6 +132,30 @@ typedef struct
>tdEFI_PLATFORM_FIRMWARE_BLOB {
>>>  UINT64                            BlobLength;
>>> } EFI_PLATFORM_FIRMWARE_BLOB;
>>> +///
>>> +/// UEFI_PLATFORM_FIRMWARE_BLOB
>>> +///
>>> +/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB
>>> +/// event to facilitate the measurement of firmware volume.
>>> +///
>>> +typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB {
>>> +  EFI_PHYSICAL_ADDRESS              BlobBase;
>>> +  UINT64                            BlobLength;
>>> +} UEFI_PLATFORM_FIRMWARE_BLOB;
>>> +
>>> +///
>>> +/// UEFI_PLATFORM_FIRMWARE_BLOB2
>>> +///
>>> +/// This structure is used in EV_EFI_PLATFORM_FIRMWARE_BLOB2
>>> +/// event to facilitate the measurement of firmware volume.
>>> +///
>>> +typedef struct tdUEFI_PLATFORM_FIRMWARE_BLOB2 {
>>> +  UINT8                             BlobDescriptionSize;
>>> +//UINT8                             BlobDescription[BlobDescriptionSize];
>>> +//EFI_PHYSICAL_ADDRESS              BlobBase;
>>> +//UINT64                            BlobLength;
>>> +} UEFI_PLATFORM_FIRMWARE_BLOB2;
>>> +
>>> ///
>>> /// EFI_IMAGE_LOAD_EVENT
>>> ///
>>> @@ -137,6 +170,20 @@ typedef struct tdEFI_IMAGE_LOAD_EVENT {
>>>  EFI_DEVICE_PATH_PROTOCOL          DevicePath[1];
>>> } EFI_IMAGE_LOAD_EVENT;
>>> +///
>>> +/// UEFI_IMAGE_LOAD_EVENT
>>> +///
>>> +/// This structure is used in EV_EFI_BOOT_SERVICES_APPLICATION,
>>> +/// EV_EFI_BOOT_SERVICES_DRIVER and
>EV_EFI_RUNTIME_SERVICES_DRIVER
>>> +///
>>> +typedef struct tdUEFI_IMAGE_LOAD_EVENT {
>>> +  EFI_PHYSICAL_ADDRESS              ImageLocationInMemory;
>>> +  UINT64                            ImageLengthInMemory;
>>> +  UINT64                            ImageLinkTimeAddress;
>>> +  UINT64                            LengthOfDevicePath;
>>> +  EFI_DEVICE_PATH_PROTOCOL          DevicePath[1];
>>> +} UEFI_IMAGE_LOAD_EVENT;
>>> +
>>> ///
>>> /// EFI_HANDOFF_TABLE_POINTERS
>>> ///
>>> @@ -148,6 +195,30 @@ typedef struct tdEFI_HANDOFF_TABLE_POINTERS
>{
>>>  EFI_CONFIGURATION_TABLE           TableEntry[1];
>>> } EFI_HANDOFF_TABLE_POINTERS;
>>> +///
>>> +/// UEFI_HANDOFF_TABLE_POINTERS
>>> +///
>>> +/// This structure is used in EV_EFI_HANDOFF_TABLES event to facilitate
>>> +/// the measurement of given configuration tables.
>>> +///
>>> +typedef struct tdUEFI_HANDOFF_TABLE_POINTERS {
>>> +  UINT64                            NumberOfTables;
>>> +  EFI_CONFIGURATION_TABLE           TableEntry[1];
>>> +} UEFI_HANDOFF_TABLE_POINTERS;
>>> +
>>> +///
>>> +/// UEFI_HANDOFF_TABLE_POINTERS2
>>> +///
>>> +/// This structure is used in EV_EFI_HANDOFF_TABLES2 event to facilitate
>>> +/// the measurement of given configuration tables.
>>> +///
>>> +typedef struct tdUEFI_HANDOFF_TABLE_POINTERS2 {
>>> +  UINT8                             TableDescriptionSize;
>>> +//UINT8                             TableDescription[TableDescriptionSize];
>>> +//UINT64                            NumberOfTables;
>>> +//EFI_CONFIGURATION_TABLE           TableEntry[1];
>>> +} UEFI_HANDOFF_TABLE_POINTERS2;
>>> +
>>> ///
>>> /// EFI_VARIABLE_DATA
>>> ///
>>> @@ -197,6 +268,66 @@ typedef struct tdEFI_GPT_DATA {
>>>  EFI_PARTITION_ENTRY         Partitions[1];
>>> } EFI_GPT_DATA;
>>>
>>> +typedef struct tdUEFI_GPT_DATA {
>>> +  EFI_PARTITION_TABLE_HEADER  EfiPartitionHeader;
>>> +  UINT64                      NumberOfPartitions;
>>> +  EFI_PARTITION_ENTRY         Partitions[1];
>>> +} UEFI_GPT_DATA;
>>> +
>>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_SIGNATURE "SPDM
>Device Sec"
>>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION   0
>>> +
>>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_NULL  0
>>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_PCI   1
>>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_USB   2
>>> +
>>> +///
>>> +/// TCG_DEVICE_SECURITY_EVENT_DATA_HEADER
>>> +/// This is the header of TCG_DEVICE_SECURITY_EVENT_DATA, which is
>>> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and
>EV_EFI_SPDM_FIRMWARE_CONFIG.
>>> +///
>>> +typedef struct {
>>> +  UINT8                          Signature[16];
>>> +  UINT16                         Version;
>>> +  UINT16                         Length;
>>> +  UINT32                         SpdmHashAlgo;
>>> +  UINT32                         DeviceType;
>>> +//SPDM_MEASUREMENT_BLOCK         SpdmMeasurementBlock;
>>> +} TCG_DEVICE_SECURITY_EVENT_DATA_HEADER;
>>> +
>>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT_VERSION
>0
>>> +
>>> +///
>>> +/// TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT
>>> +/// This is the PCI context data of TCG_DEVICE_SECURITY_EVENT_DATA,
>which is
>>> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and
>EV_EFI_SPDM_FIRMWARE_CONFIG.
>>> +///
>>> +typedef struct {
>>> +  UINT16  Version;
>>> +  UINT16  Length;
>>> +  UINT16  VendorId;
>>> +  UINT16  DeviceId;
>>> +  UINT8   RevisionID;
>>> +  UINT8   ClassCode[3];
>>> +  UINT16  SubsystemVendorID;
>>> +  UINT16  SubsystemID;
>>> +} TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT;
>>> +
>>> +#define TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT_VERSION
>0
>>> +
>>> +///
>>> +/// TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT
>>> +/// This is the USB context data of TCG_DEVICE_SECURITY_EVENT_DATA,
>which is
>>> +/// used in EV_EFI_SPDM_FIRMWARE_BLOB and
>EV_EFI_SPDM_FIRMWARE_CONFIG.
>>> +///
>>> +typedef struct {
>>> +  UINT16  Version;
>>> +  UINT16  Length;
>>> +//UINT8   DeviceDescriptor[DescLen];
>>> +//UINT8   BodDescriptor[DescLen];
>>> +//UINT8   ConfigurationDescriptor[DescLen][NumOfConfiguration];
>>> +} TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT;
>>> +
>>> //
>>> // Crypto Agile Log Entry Format
>>> //
>>> @@ -243,6 +374,7 @@ typedef struct {
>>> #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM2   2
>>> #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM2   0
>>> #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2          0
>>> +#define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2_REV_105  105
>>>
>>> typedef struct {
>>>  UINT8               signature[16];
>>> @@ -299,20 +431,52 @@ typedef struct {
>>> //UINT8               vendorInfo[vendorInfoSize];
>>> } TCG_EfiSpecIDEventStruct;
>>>
>>> +typedef struct tdTCG_PCClientTaggedEvent {
>>> +  UINT32              taggedEventID;
>>> +  UINT32              taggedEventDataSize;
>>> +//UINT8               taggedEventData[taggedEventDataSize];
>>> +} TCG_PCClientTaggedEvent;
>>> +
>>> +#define TCG_Sp800_155_PlatformId_Event_SIGNATURE  "SP800-155
>Event"
>>> +#define TCG_Sp800_155_PlatformId_Event2_SIGNATURE "SP800-155
>Event2"
>>>
>>> +typedef struct tdTCG_Sp800_155_PlatformId_Event2 {
>>> +  UINT8               Signature[16];
>>> +  //
>>> +  // Where Vendor ID is an integer defined
>>> +  // at http://www.iana.org/assignments/enterprisenumbers
>>> +  //
>>> +  UINT32              VendorId;
>>> +  //
>>> +  // 16-byte identifier of a given platform's static configuration of code
>>> +  //
>>> +  EFI_GUID            ReferenceManifestGuid;
>>> +  //
>>> +  // Below structure is newly added in
>TCG_Sp800_155_PlatformId_Event2.
>>> +  //
>>> +//UINT8               PlatformManufacturerStrSize;
>>> +//UINT8               PlatformManufacturerStr[PlatformManufacturerStrSize];
>>> +//UINT8               PlatformModelSize;
>>> +//UINT8               PlatformModel[PlatformModelSize];
>>> +//UINT8               PlatformVersionSize;
>>> +//UINT8               PlatformVersion[PlatformVersionSize];
>>> +//UINT8               PlatformModelSize;
>>> +//UINT8               PlatformModel[PlatformModelSize];
>>> +//UINT8               FirmwareManufacturerStrSize;
>>> +//UINT8               FirmwareManufacturerStr[FirmwareManufacturerStrSize];
>>> +//UINT32              FirmwareManufacturerId;
>>> +//UINT8               FirmwareVersion;
>>> +//UINT8               FirmwareVersion[FirmwareVersionSize]];
>>> +} TCG_Sp800_155_PlatformId_Event2;
>>>
>>> #define TCG_EfiStartupLocalityEvent_SIGNATURE      "StartupLocality"
>>>
>>>
>>> //
>>> -// PC Client PTP spec Table 8 Relationship between Locality and Locality
>Attribute
>>> +// The Locality Indicator which sent the TPM2_Startup command
>>> //
>>> -#define LOCALITY_0_INDICATOR        0x01
>>> -#define LOCALITY_1_INDICATOR        0x02
>>> -#define LOCALITY_2_INDICATOR        0x03
>>> -#define LOCALITY_3_INDICATOR        0x04
>>> -#define LOCALITY_4_INDICATOR        0x05
>>> -
>>> +#define LOCALITY_0_INDICATOR        0x00
>>> +#define LOCALITY_3_INDICATOR        0x03
>>>
>>> //
>>> // Startup Locality Event
>>> --
>>> 2.19.2.windows.1
>>>
>>>
>>> 
>>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-12-20  3:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-19 14:54 [edk2-devel] [PATCH] MdePkg/Tcg: Add new definition in TCG PFP spec Yao, Jiewen
2019-12-20  3:02 ` Liming Gao
  -- strict thread matches above, loose matches on Subject: below --
2019-12-18  7:17 Yao, Jiewen
2019-12-19 14:27 ` [edk2-devel] " Liming Gao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox