github.com/u-root/u-root@v7.0.1-0.20200915234505-ad7babab0a8e+incompatible/pkg/txtlog/constants.go (about) 1 // Copyright 2020 the u-root Authors. All rights reserved 2 // Use of this source code is governed by a BSD-style 3 // license that can be found in the LICENSE file. 4 package txtlog 5 6 // BIOSLogID is the legacy eventlog type 7 type BIOSLogID uint32 8 9 const ( 10 // EvPrebootCert see [2] specification in tcpa_log.go 11 EvPrebootCert BIOSLogID = 0x0 12 // EvPostCode see [2] specification in tcpa_log.go 13 EvPostCode BIOSLogID = 0x1 14 // EvUnused see [2] specification in tcpa_log.go 15 EvUnused BIOSLogID = 0x2 16 // EvNoAction see [2] specification in tcpa_log.go 17 EvNoAction BIOSLogID = 0x3 18 // EvSeparator see [2] specification in tcpa_log.go 19 EvSeparator BIOSLogID = 0x4 20 // EvAction see [2] specification in tcpa_log.go 21 EvAction BIOSLogID = 0x5 22 // EvEventTag see [2] specification in tcpa_log.go 23 EvEventTag BIOSLogID = 0x6 24 // EvSCRTMContents see [2] specification in tcpa_log.go 25 EvSCRTMContents BIOSLogID = 0x7 26 // EvSCRTMVersion see [2] specification in tcpa_log.go 27 EvSCRTMVersion BIOSLogID = 0x8 28 // EvCPUMicrocode see [2] specification in tcpa_log.go 29 EvCPUMicrocode BIOSLogID = 0x9 30 // EvPlatformConfigFlags see [2] specification in tcpa_log.go 31 EvPlatformConfigFlags BIOSLogID = 0xA 32 // EvTableOfServices see [2] specification in tcpa_log.go 33 EvTableOfServices BIOSLogID = 0xB 34 // EvCompactHash see [2] specification in tcpa_log.go 35 EvCompactHash BIOSLogID = 0xC 36 // EvIPL see [2] specification in tcpa_log.go 37 EvIPL BIOSLogID = 0xD 38 // EvIPLPartitionData see [2] specification in tcpa_log.go 39 EvIPLPartitionData BIOSLogID = 0xE 40 // EvNonHostCode see [2] specification in tcpa_log.go 41 EvNonHostCode BIOSLogID = 0xF 42 // EvNonHostConfig see [2] specification in tcpa_log.go 43 EvNonHostConfig BIOSLogID = 0x10 44 // EvNonHostInfo see [2] specification in tcpa_log.go 45 EvNonHostInfo BIOSLogID = 0x11 46 // EvOmitBootDeviceEvents see [2] specification in tcpa_log.go 47 EvOmitBootDeviceEvents BIOSLogID = 0x12 48 ) 49 50 // BIOSLogTypes are the BIOS eventlog types 51 var BIOSLogTypes = map[BIOSLogID]string{ 52 EvPrebootCert: "EV_PREBOOT_CERT", 53 EvPostCode: "EV_POST_CODE", 54 EvUnused: "EV_UNUSED", 55 EvNoAction: "EV_NO_ACTION", 56 EvSeparator: "EV_SEPARATOR", 57 EvAction: "EV_ACTION", 58 EvEventTag: "EV_EVENT_TAG", 59 EvSCRTMContents: "EV_S_CRTM_CONTENTS", 60 EvSCRTMVersion: "EV_S_CRTM_VERSION", 61 EvCPUMicrocode: "EV_CPU_MICROCODE", 62 EvPlatformConfigFlags: "EV_PLATFORM_CONFIG_FLAGS", 63 EvTableOfServices: "EV_TABLE_OF_DEVICES", 64 EvCompactHash: "EV_COMPACT_HASH", 65 EvIPL: "EV_IPL", 66 EvIPLPartitionData: "EV_IPL_PARTITION_DATA", 67 EvNonHostCode: "EV_NONHOST_CODE", 68 EvNonHostConfig: "EV_NONHOST_CONFIG", 69 EvNonHostInfo: "EV_NONHOST_INFO", 70 EvOmitBootDeviceEvents: "EV_OMIT_BOOT_DEVICE_EVENTS", 71 } 72 73 // EFILogID is the EFI eventlog type 74 type EFILogID uint32 75 76 const ( 77 // EvEFIEventBase is the base value for all EFI platform 78 EvEFIEventBase EFILogID = 0x80000000 79 // EvEFIVariableDriverConfig see [1] specification in tcpa_log.go 80 EvEFIVariableDriverConfig EFILogID = 0x80000001 81 // EvEFIVariableBoot see [1] specification in tcpa_log.go 82 EvEFIVariableBoot EFILogID = 0x80000002 83 // EvEFIBootServicesApplication see [1] specification in tcpa_log.go 84 EvEFIBootServicesApplication EFILogID = 0x80000003 85 // EvEFIBootServicesDriver see [1] specification in tcpa_log.go 86 EvEFIBootServicesDriver EFILogID = 0x80000004 87 // EvEFIRuntimeServicesDriver see [1] specification in tcpa_log.go 88 EvEFIRuntimeServicesDriver EFILogID = 0x80000005 89 // EvEFIGPTEvent see [1] specification in tcpa_log.go 90 EvEFIGPTEvent EFILogID = 0x80000006 91 // EvEFIAction see [1] specification in tcpa_log.go 92 EvEFIAction EFILogID = 0x80000007 93 // EvEFIPlatformFirmwareBlob see [1] specification in tcpa_log.go 94 EvEFIPlatformFirmwareBlob EFILogID = 0x80000008 95 // EvEFIHandoffTables see [1] specification in tcpa_log.go 96 EvEFIHandoffTables EFILogID = 0x80000009 97 // EvEFIHCRTMEvent see [1] specification in tcpa_log.go 98 EvEFIHCRTMEvent EFILogID = 0x80000010 99 // EvEFIVariableAuthority see [1] specification in tcpa_log.go 100 EvEFIVariableAuthority EFILogID = 0x800000E0 101 ) 102 103 // EFILogTypes are the EFI eventlog types 104 var EFILogTypes = map[EFILogID]string{ 105 EvEFIEventBase: "EV_EFI_EVENT_BASE", 106 EvEFIVariableDriverConfig: "EV_EFI_VARIABLE_DRIVER_CONFIG", 107 EvEFIVariableBoot: "EV_EFI_VARIABLE_BOOT", 108 EvEFIBootServicesApplication: "EV_EFI_BOOT_SERVICES_APPLICATION", 109 EvEFIBootServicesDriver: "EV_EFI_BOOT_SERVICES_DRIVER", 110 EvEFIRuntimeServicesDriver: "EV_EFI_RUNTIME_SERVICES_DRIVER", 111 EvEFIGPTEvent: "EV_EFI_GPT_EVENT", 112 EvEFIAction: "EV_EFI_ACTION", 113 EvEFIPlatformFirmwareBlob: "EV_EFI_PLATFORM_FIRMWARE_BLOB", 114 EvEFIHandoffTables: "EV_EFI_HANDOFF_TABLES", 115 EvEFIHCRTMEvent: "EV_EFI_HCRTM_EVENT", 116 EvEFIVariableAuthority: "EV_EFI_VARIABLE_AUTHORITY", 117 } 118 119 // TCGAgileEventFormatID is the agile eventlog identifier for EV_NO_ACTION events 120 const TCGAgileEventFormatID string = "Spec ID Event03" 121 122 // TCGOldEfiFormatID is the legacy eventlog identifier for EV_NO_ACTION events 123 const TCGOldEfiFormatID string = "Spec ID Event02" 124 125 // HCRTM string for event type EV_EFI_HCRTM_EVENT 126 const HCRTM string = "HCRTM" 127 128 // FirmwareType (BIOS) 129 type FirmwareType string 130 131 const ( 132 // Uefi is an Open Source UEFI implementation, www.tianocore.org 133 Uefi FirmwareType = "UEFI" 134 // Coreboot is an Open Source firmware, www.coreboot.org 135 Coreboot FirmwareType = "coreboot" 136 // UBoot is an Open Source firmware, www.denx.de/wiki/U-Boot 137 UBoot FirmwareType = "U-Boot" 138 // LinuxBoot is an Open Source firmware based on UEFI and a Linux runtime, 139 // www.linuxboot.org 140 LinuxBoot FirmwareType = "LinuxBoot" 141 // Bios is the legacy BIOS 142 Bios FirmwareType = "BIOS" 143 // TXT is Intel TXT launch 144 Txt FirmwareType = "TXT" 145 ) 146 147 // TXT TPM1.2 log container signature 148 const Txt12EvtLogSignature = "TXT Event Container\000" 149 150 // TXT TPM1.2 log versions 151 const ( 152 Txt12EvtLog_Cntnr_Major_Ver = 1 153 Txt12EvtLog_Cntnr_Minor_Ver = 0 154 Txt12EvtLog_Evt_Major_Ver = 1 155 Txt12EvtLog_Evt_Minor_Ver = 0 156 ) 157 158 type TxtLogID uint32 159 160 const ( 161 TxtEvTypeBase TxtLogID = iota + 0x400 162 TxtEvTypePcrMapping 163 TxtEvTypeHashStart 164 TxtEvTypeCombinedHash 165 TxtEvTypeMleHash 166 TxtEvTypeBiosAcRegData TxtLogID = iota + 0x405 167 TxtEvTypeCpuScrtmStat 168 TxtEvTypeLcpControlHash 169 TxtEvTypeElementsHash 170 TxtEvTypeStmHash 171 TxtEvTypeOsSinitDataCapHash 172 TxtEvTypeSinitPubKeyHash 173 TxtEvTypeLcpHash 174 TxtEvTypeLcpDetailsHash 175 TxtEvTypeLcpAuthoritiesHash 176 TxtEvTypeNvInfoHash 177 TxtEvTypeColdBootBiosHash 178 TxtEvTypeKmHash 179 TxtEvTypeBpmHash 180 TxtEvTypeKmInfoHash 181 TxtEvTypeBpmInfoHash 182 TxtEvTypeBootPolHash 183 TxtEvTypeRandValue TxtLogID = iota + 0x4e8 184 TxtEvTypeCapValue 185 ) 186 187 // Txt12LogTypes are the Intel TXT eventlog types 188 var TxtLogTypes = map[TxtLogID]string{ 189 TxtEvTypeBase: "EVTYPE_BASE", 190 TxtEvTypePcrMapping: "EVTYPE_PCR_MAPPING", 191 TxtEvTypeHashStart: "EVTYPE_HASH_START", 192 TxtEvTypeCombinedHash: "EVTYPE_COMBINED_HASH", 193 TxtEvTypeMleHash: "EVTYPE_MLE_HASH", 194 TxtEvTypeBiosAcRegData: "EVTYPE_BIOSAC_REG_DATA", 195 TxtEvTypeCpuScrtmStat: "EVTYPE_CPU_SCRTM_STAT", 196 TxtEvTypeLcpControlHash: "EVTYPE_LCP_CONTROL_HASH", 197 TxtEvTypeElementsHash: "EVTYPE_ELEMENTS_HASH", 198 TxtEvTypeStmHash: "EVTYPE_STM_HASH", 199 TxtEvTypeOsSinitDataCapHash: "EVTYPE_OSSINITDATA_CAP_HASH", 200 TxtEvTypeSinitPubKeyHash: "EVTYPE_SINIT_PUBKEY_ HASH", 201 TxtEvTypeLcpHash: "EVTYPE_LCP_HASH", 202 TxtEvTypeLcpDetailsHash: "EVTYPE_LCP_DETAILS_HASH", 203 TxtEvTypeLcpAuthoritiesHash: "EVTYPE_LCP_AUTHORITIES_HASH", 204 TxtEvTypeNvInfoHash: "EVTYPE_NV_INFO_HASH", 205 TxtEvTypeColdBootBiosHash: "EVTYPE_COLD_BOOT_BIOS_HASH", 206 TxtEvTypeKmHash: "EVTYPE_KM_HASH", 207 TxtEvTypeBpmHash: "EVTYPE_KM_HASH", 208 TxtEvTypeKmInfoHash: "EVTYPE_KM_INFO_HASH", 209 TxtEvTypeBpmInfoHash: "EVTYPE_BPM_INFO_HASH", 210 TxtEvTypeBootPolHash: "EVTYPE_BOOT_POL_HASH", 211 TxtEvTypeRandValue: "EVTYPE_RANDOM_VALUE", 212 TxtEvTypeCapValue: "EVTYPE_CAP_VALUE", 213 }