10 #ifndef __UEFI_TCG_PLATFORM_H__ 11 #define __UEFI_TCG_PLATFORM_H__ 22 #define EV_PREBOOT_CERT ((TCG_EVENTTYPE) 0x00000000) 23 #define EV_POST_CODE ((TCG_EVENTTYPE) 0x00000001) 24 #define EV_NO_ACTION ((TCG_EVENTTYPE) 0x00000003) 25 #define EV_SEPARATOR ((TCG_EVENTTYPE) 0x00000004) 26 #define EV_ACTION ((TCG_EVENTTYPE) 0x00000005) 27 #define EV_EVENT_TAG ((TCG_EVENTTYPE) 0x00000006) 28 #define EV_S_CRTM_CONTENTS ((TCG_EVENTTYPE) 0x00000007) 29 #define EV_S_CRTM_VERSION ((TCG_EVENTTYPE) 0x00000008) 30 #define EV_CPU_MICROCODE ((TCG_EVENTTYPE) 0x00000009) 31 #define EV_PLATFORM_CONFIG_FLAGS ((TCG_EVENTTYPE) 0x0000000A) 32 #define EV_TABLE_OF_DEVICES ((TCG_EVENTTYPE) 0x0000000B) 33 #define EV_COMPACT_HASH ((TCG_EVENTTYPE) 0x0000000C) 34 #define EV_NONHOST_CODE ((TCG_EVENTTYPE) 0x0000000F) 35 #define EV_NONHOST_CONFIG ((TCG_EVENTTYPE) 0x00000010) 36 #define EV_NONHOST_INFO ((TCG_EVENTTYPE) 0x00000011) 37 #define EV_OMIT_BOOT_DEVICE_EVENTS ((TCG_EVENTTYPE) 0x00000012) 42 #define EV_EFI_EVENT_BASE ((TCG_EVENTTYPE) 0x80000000) 43 #define EV_EFI_VARIABLE_DRIVER_CONFIG (EV_EFI_EVENT_BASE + 1) 44 #define EV_EFI_VARIABLE_BOOT (EV_EFI_EVENT_BASE + 2) 45 #define EV_EFI_BOOT_SERVICES_APPLICATION (EV_EFI_EVENT_BASE + 3) 46 #define EV_EFI_BOOT_SERVICES_DRIVER (EV_EFI_EVENT_BASE + 4) 47 #define EV_EFI_RUNTIME_SERVICES_DRIVER (EV_EFI_EVENT_BASE + 5) 48 #define EV_EFI_GPT_EVENT (EV_EFI_EVENT_BASE + 6) 49 #define EV_EFI_ACTION (EV_EFI_EVENT_BASE + 7) 50 #define EV_EFI_PLATFORM_FIRMWARE_BLOB (EV_EFI_EVENT_BASE + 8) 51 #define EV_EFI_HANDOFF_TABLES (EV_EFI_EVENT_BASE + 9) 52 #define EV_EFI_PLATFORM_FIRMWARE_BLOB2 (EV_EFI_EVENT_BASE + 0xA) 53 #define EV_EFI_HANDOFF_TABLES2 (EV_EFI_EVENT_BASE + 0xB) 54 #define EV_EFI_HCRTM_EVENT (EV_EFI_EVENT_BASE + 0x10) 55 #define EV_EFI_VARIABLE_AUTHORITY (EV_EFI_EVENT_BASE + 0xE0) 56 #define EV_EFI_SPDM_FIRMWARE_BLOB (EV_EFI_EVENT_BASE + 0xE1) 57 #define EV_EFI_SPDM_FIRMWARE_CONFIG (EV_EFI_EVENT_BASE + 0xE2) 58 #define EV_EFI_SPDM_DEVICE_BLOB EV_EFI_SPDM_FIRMWARE_BLOB 59 #define EV_EFI_SPDM_DEVICE_CONFIG EV_EFI_SPDM_FIRMWARE_CONFIG 64 #define EV_EFI_SPDM_DEVICE_POLICY (EV_EFI_EVENT_BASE + 0xE3) 69 #define EV_EFI_SPDM_DEVICE_AUTHORITY (EV_EFI_EVENT_BASE + 0xE4) 71 #define EFI_CALLING_EFI_APPLICATION \ 72 "Calling EFI Application from Boot Option" 73 #define EFI_RETURNING_FROM_EFI_APPLICATION \ 74 "Returning from EFI Application from Boot Option" 75 #define EFI_EXIT_BOOT_SERVICES_INVOCATION \ 76 "Exit Boot Services Invocation" 77 #define EFI_EXIT_BOOT_SERVICES_FAILED \ 78 "Exit Boot Services Returned with Failure" 79 #define EFI_EXIT_BOOT_SERVICES_SUCCEEDED \ 80 "Exit Boot Services Returned with Success" 82 #define EV_POSTCODE_INFO_POST_CODE "POST CODE" 83 #define POST_CODE_STR_LEN (sizeof(EV_POSTCODE_INFO_POST_CODE) - 1) 85 #define EV_POSTCODE_INFO_SMM_CODE "SMM CODE" 86 #define SMM_CODE_STR_LEN (sizeof(EV_POSTCODE_INFO_SMM_CODE) - 1) 88 #define EV_POSTCODE_INFO_ACPI_DATA "ACPI DATA" 89 #define ACPI_DATA_LEN (sizeof(EV_POSTCODE_INFO_ACPI_DATA) - 1) 91 #define EV_POSTCODE_INFO_BIS_CODE "BIS CODE" 92 #define BIS_CODE_LEN (sizeof(EV_POSTCODE_INFO_BIS_CODE) - 1) 94 #define EV_POSTCODE_INFO_UEFI_PI "UEFI PI" 95 #define UEFI_PI_LEN (sizeof(EV_POSTCODE_INFO_UEFI_PI) - 1) 97 #define EV_POSTCODE_INFO_OPROM "Embedded Option ROM" 98 #define OPROM_LEN (sizeof(EV_POSTCODE_INFO_OPROM) - 1) 100 #define EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER "Embedded UEFI Driver" 101 #define EMBEDDED_UEFI_DRIVER_LEN (sizeof(EV_POSTCODE_INFO_EMBEDDED_UEFI_DRIVER) - 1) 103 #define FIRMWARE_DEBUGGER_EVENT_STRING "UEFI Debug Mode" 104 #define FIRMWARE_DEBUGGER_EVENT_STRING_LEN (sizeof(FIRMWARE_DEBUGGER_EVENT_STRING) - 1) 125 #define TSS_EVENT_DATA_MAX_SIZE 256 290 #define TCG_DEVICE_SECURITY_EVENT_DATA_SIGNATURE "SPDM Device Sec" 291 #define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION 1 293 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_NULL 0 294 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_PCI 1 295 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_TYPE_USB 2 311 #define TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT_VERSION 0 329 #define TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT_VERSION 0 380 #define TCG_EfiSpecIDEventStruct_SIGNATURE_02 "Spec ID Event02" 381 #define TCG_EfiSpecIDEventStruct_SIGNATURE_03 "Spec ID Event03" 383 #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM12 1 384 #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM12 2 385 #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM12 2 387 #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MAJOR_TPM2 2 388 #define TCG_EfiSpecIDEventStruct_SPEC_VERSION_MINOR_TPM2 0 389 #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2 0 390 #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2_REV_105 105 391 #define TCG_EfiSpecIDEventStruct_SPEC_ERRATA_TPM2_REV_106 106 454 #define TCG_Sp800_155_PlatformId_Event_SIGNATURE "SP800-155 Event" 455 #define TCG_Sp800_155_PlatformId_Event2_SIGNATURE "SP800-155 Event2" 456 #define TCG_Sp800_155_PlatformId_Event3_SIGNATURE "SP800-155 Event3" 525 #define TCG_LOCATOR_TYPE_RAW_DATA 0 526 #define TCG_LOCATOR_TYPE_URI 1 527 #define TCG_LOCATOR_TYPE_DEVICE_PATH 2 528 #define TCG_LOCATOR_TYPE_UEFI_VARIABLE 3 530 #define TCG_EfiStartupLocalityEvent_SIGNATURE "StartupLocality" 535 #define LOCALITY_0_INDICATOR 0x00 536 #define LOCALITY_3_INDICATOR 0x03 567 #define PCR_INDEX_FOR_SIGNATURE_DB 7 571 #define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION_1 1 572 #define TCG_DEVICE_SECURITY_EVENT_DATA_VERSION_2 2 573 #define TCG_DEVICE_SECURITY_EVENT_DATA_SIGNATURE_2 "SPDM Device Sec2" 589 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_AUTH_STATE_SUCCESS 0 590 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_AUTH_STATE_NO_AUTH 1 591 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_AUTH_STATE_NO_BINDING 2 592 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_AUTH_STATE_FAIL_NO_SIG 3 593 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_AUTH_STATE_FAIL_INVALID 4 594 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_AUTH_STATE_NO_SPDM 0xFF 596 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_SUB_HEADER_TYPE_SPDM_MEASUREMENT_BLOCK 0 597 #define TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_SUB_HEADER_TYPE_SPDM_CERT_CHAIN 1 653 #define TCG_NV_EXTEND_INDEX_FOR_INSTANCE 0x01C40200 654 #define TCG_NV_EXTEND_INDEX_FOR_DYNAMIC 0x01C40201 655 #define TCG_EVENT_LOG_INTEGRITY_NV_INDEX_EXIT_PM_AUTH 0x01C40202 656 #define TCG_EVENT_LOG_INTEGRITY_NV_INDEX_READY_TO_BOOT 0x01C40203 660 #define TCG_NV_EXTEND_INDEX_FOR_INSTANCE_SIGNATURE "NvIndexInstance" 661 #define TCG_NV_INDEX_INSTANCE_EVENT_LOG_STRUCT_VERSION 1 670 #define TCG_NV_EXTEND_INDEX_FOR_DYNAMIC_SIGNATURE "NvIndexDynamic " 671 #define TCG_NV_INDEX_DYNAMIC_EVENT_LOG_STRUCT_VERSION 1 673 #define TCG_SPDM_CHALLENGE_DESCRIPTION "SPDM CHALLENGE" 674 #define TCG_SPDM_CHALLENGE_AUTH_DESCRIPTION "SPDM CHALLENGE_AUTH" 675 #define TCG_SPDM_GET_MEASUREMENTS_DESCRIPTION "SPDM GET_MEASUREMENTS" 676 #define TCG_SPDM_MEASUREMENTS_DESCRIPTION "SPDM MEASUREMENTS" UINT8 TableDescriptionSize
EFI_CONFIGURATION_TABLE TableEntry[1]
Event Log Entry Structure Definition.
EFI_PHYSICAL_ADDRESS ImageLocationInMemory
TCG_NV_INDEX_DYNAMIC_EVENT_LOG_STRUCT Header
EFI_CONFIGURATION_TABLE TableEntry[1]
EFI_DEVICE_PATH_PROTOCOL DevicePath[1]
UINT32_t Reserved[2]
Must be zero.
128 bit buffer containing a unique identifier value.
INT8 VariableData[1]
Driver or platform-specific data.
UINT64 NumberOfPartitions
TCG_DEVICE_SECURITY_EVENT_DATA_SUB_HEADER EventDataSubHeader
This protocol can be used on any device handle to obtain generic path/location information concerning...
EFI_PARTITION_TABLE_HEADER EfiPartitionHeader
TCG_NV_INDEX_DYNAMIC_EVENT_LOG_STRUCT Header
UEFI_HANDOFF_TABLE_POINTERS.
UINT64 EFI_PHYSICAL_ADDRESS
64-bit physical memory address.
TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT This is the USB context data of TCG_DEVICE_SECURITY_EVENT_...
UINT32 EventSize
Size of the event data.
TCG_NV_INDEX_DYNAMIC_EVENT_LOG_STRUCT Header
TCG_PCRINDEX PCRIndex
PCRIndex event extended to.
TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT Pci
TCG_DIGEST Digest
Value extended into PCRIndex.
UINT64 VariableDataLength
TCG_EVENTTYPE EventType
TCG EFI event type.
UINTN ImageLengthInMemory
EFI_PARTITION_ENTRY Partitions[1]
EFI_DEVICE_PATH_PROTOCOL DevicePath[1]
TCG_DEVICE_SECURITY_EVENT_DATA_PCI_CONTEXT This is the PCI context data of TCG_DEVICE_SECURITY_EVENT_...
TCG_DEVICE_SECURITY_EVENT_DATA_USB_CONTEXT Usb
UINT8_t Signature[6]
Signature.
TCG_DEVICE_SECURITY_EVENT_DATA_HEADER2 EventDataHeader
TPML_DIGEST_VALUES Digest
TPM2.0 Specification data structures (Trusted Platform Module Library Specification,...
EFI_PARTITION_ENTRY Partitions[1]
Root include file for Mde Package UEFI, UEFI_APPLICATION type modules.
UINT64 VariableDataLength
TCG_NV_INDEX_DYNAMIC_EVENT_LOG_STRUCT Header
UINT64 UINTN
Unsigned value of native width.
TCG_DEVICE_SECURITY_EVENT_DATA_DEVICE_CONTEXT DeviceContext
unsigned long long UINT64
TPML_DIGEST_VALUES Digests
Part 2, section 5.4: TPM_DIGEST.
TPM Specification data structures (TCG TPM Specification Version 1.2 Revision 103) See http://trusted...
UINT32 taggedEventDataSize
EFI_HANDOFF_TABLE_POINTERS.
INT8 VariableData[1]
Driver or platform-specific data.
Contains a set of GUID/pointer pairs comprised of the ConfigurationTable field in the EFI System Tabl...
EFI_PARTITION_TABLE_HEADER EfiPartitionHeader
EFI_PHYSICAL_ADDRESS ImageLocationInMemory
UINT32 TPM_PCRINDEX
Index to a PCR register.
UINTN ImageLinkTimeAddress
UINT8 Event[1]
The event data.
UINT64 ImageLinkTimeAddress
UINT64 LengthOfDevicePath
u8 signature
CPU signature.
UEFI_HANDOFF_TABLE_POINTERS2.
UINT64 ImageLengthInMemory