## @file | |
# | |
# Produces EFI_CC_MEASUREMENT_PROTOCOL and measure boot environment | |
# | |
# | |
# Copyright (c) 2020 - 2022, Intel Corporation. All rights reserved.<BR> | |
# SPDX-License-Identifier: BSD-2-Clause-Patent | |
# | |
## | |
[Defines] | |
INF_VERSION = 0x00010005 | |
BASE_NAME = TdTcg2Dxe | |
FILE_GUID = F062221E-C607-44C2-B0B4-C3886331D351 | |
MODULE_TYPE = DXE_DRIVER | |
VERSION_STRING = 1.0 | |
ENTRY_POINT = DriverEntry | |
# | |
# The following information is for reference only and not required by the build tools. | |
# | |
# VALID_ARCHITECTURES = X64 | |
# | |
[Sources] | |
TdTcg2Dxe.c | |
MeasureBootPeCoff.c | |
[Packages] | |
MdePkg/MdePkg.dec | |
MdeModulePkg/MdeModulePkg.dec | |
SecurityPkg/SecurityPkg.dec | |
CryptoPkg/CryptoPkg.dec | |
OvmfPkg/OvmfPkg.dec | |
[LibraryClasses] | |
MemoryAllocationLib | |
BaseLib | |
UefiBootServicesTableLib | |
HobLib | |
UefiDriverEntryPoint | |
UefiRuntimeServicesTableLib | |
BaseMemoryLib | |
DebugLib | |
PrintLib | |
UefiLib | |
HashLib | |
PerformanceLib | |
ReportStatusCodeLib | |
PeCoffLib | |
TpmMeasurementLib | |
TdxLib | |
[Guids] | |
## SOMETIMES_CONSUMES ## Variable:L"SecureBoot" | |
## SOMETIMES_CONSUMES ## Variable:L"PK" | |
## SOMETIMES_CONSUMES ## Variable:L"KEK" | |
## SOMETIMES_CONSUMES ## Variable:L"BootXXXX" | |
gEfiGlobalVariableGuid | |
## SOMETIMES_CONSUMES ## Variable:L"db" | |
## SOMETIMES_CONSUMES ## Variable:L"dbx" | |
gEfiImageSecurityDatabaseGuid | |
# gTcgEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB | |
gEfiEventExitBootServicesGuid ## CONSUMES ## Event | |
gEventExitBootServicesFailedGuid ## SOMETIMES_CONSUMES ## Event | |
gCcEventEntryHobGuid ## SOMETIMES_CONSUMES ## HOB | |
gTcg800155PlatformIdEventHobGuid ## SOMETIMES_CONSUMES ## HOB | |
gEfiCcFinalEventsTableGuid ## PRODUCES | |
[Protocols] | |
gEfiCcMeasurementProtocolGuid ## PRODUCES | |
gEfiMpServiceProtocolGuid ## SOMETIMES_CONSUMES | |
gEfiVariableWriteArchProtocolGuid ## NOTIFY | |
gEfiResetNotificationProtocolGuid ## CONSUMES | |
gEfiAcpiTableProtocolGuid ## NOTIFY | |
[Pcd] | |
gEfiSecurityPkgTokenSpaceGuid.PcdTpmPlatformClass ## SOMETIMES_CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized ## SOMETIMES_CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdStatusCodeSubClassTpmDevice ## SOMETIMES_CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2NumberOfPCRBanks ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTcgLogAreaMinLen ## CONSUMES | |
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2FinalLogAreaLen ## CONSUMES | |
gUefiOvmfPkgTokenSpaceGuid.PcdCcEventlogAcpiTableLaml ## PRODUCES | |
gUefiOvmfPkgTokenSpaceGuid.PcdCcEventlogAcpiTableLasa ## PRODUCES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemId ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemTableId ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultOemRevision ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorId ## CONSUMES | |
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiDefaultCreatorRevision ## CONSUMES | |
[Depex] | |
# According to PcdTpm2AcpiTableRev definition in SecurityPkg.dec | |
# This PCD should be configured at DynamicHii or DynamicHiiEx. | |
# So, this PCD read operation depends on GetVariable service. | |
# Add VariableArch protocol dependency to make sure PCD read works. | |
gEfiVariableArchProtocolGuid AND gEfiAcpiTableProtocolGuid |