X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=SecurityPkg%2FTcg%2FTcgDxe%2FTcgDxe.c;h=322d726037e949f373e613a58b2f8b1ea29e3192;hp=4f3568ba840123b9acde334cb67499ec99f0fb3b;hb=c1d932429ef9700a2da64452546be14e92468b07;hpb=2e61fb38b6aaa17d22f1bf72332ccd4bc2f780eb diff --git a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c index 4f3568ba84..322d726037 100644 --- a/SecurityPkg/Tcg/TcgDxe/TcgDxe.c +++ b/SecurityPkg/Tcg/TcgDxe/TcgDxe.c @@ -24,6 +24,7 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include #include #include @@ -31,6 +32,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #include #include #include +#include + #include #include #include @@ -53,38 +56,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. #define EFI_TCG_LOG_AREA_SIZE 0x10000 -#pragma pack (1) - -typedef struct _EFI_TCG_CLIENT_ACPI_TABLE { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT16 PlatformClass; - UINT32 Laml; - EFI_PHYSICAL_ADDRESS Lasa; -} EFI_TCG_CLIENT_ACPI_TABLE; - -typedef struct _EFI_TCG_SERVER_ACPI_TABLE { - EFI_ACPI_DESCRIPTION_HEADER Header; - UINT16 PlatformClass; - UINT16 Reserved0; - UINT64 Laml; - EFI_PHYSICAL_ADDRESS Lasa; - UINT16 SpecRev; - UINT8 DeviceFlags; - UINT8 InterruptFlags; - UINT8 Gpe; - UINT8 Reserved1[3]; - UINT32 GlobalSysInt; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE BaseAddress; - UINT32 Reserved2; - EFI_ACPI_3_0_GENERIC_ADDRESS_STRUCTURE ConfigAddress; - UINT8 PciSegNum; - UINT8 PciBusNum; - UINT8 PciDevNum; - UINT8 PciFuncNum; -} EFI_TCG_SERVER_ACPI_TABLE; - -#pragma pack () - #define TCG_DXE_DATA_FROM_THIS(this) \ BASE_CR (this, TCG_DXE_DATA, TcgProtocol) @@ -1344,6 +1315,11 @@ DriverEntry ( EFI_EVENT Event; VOID *Registration; + if (!CompareGuid (PcdGetPtr(PcdTpmInstanceGuid), &gEfiTpmDeviceInstanceTpm12Guid)){ + DEBUG ((EFI_D_ERROR, "No TPM12 instance required!\n")); + return EFI_UNSUPPORTED; + } + mTcgDxeData.TpmHandle = (TIS_TPM_HANDLE)(UINTN)TPM_BASE_ADDRESS; Status = TisPcRequestUseTpm (mTcgDxeData.TpmHandle); if (EFI_ERROR (Status)) {