mirror of
https://github.com/CloverHackyColor/CloverBootloader.git
synced 2024-11-30 12:43:41 +01:00
54 lines
1.7 KiB
C
54 lines
1.7 KiB
C
|
/** @file
|
||
|
TPM2 ACPI table definition.
|
||
|
|
||
|
Copyright (c) 2013 - 2019, Intel Corporation. All rights reserved. <BR>
|
||
|
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||
|
|
||
|
**/
|
||
|
|
||
|
#ifndef _TPM2_ACPI_H_
|
||
|
#define _TPM2_ACPI_H_
|
||
|
|
||
|
#include <IndustryStandard/Acpi.h>
|
||
|
|
||
|
#pragma pack (1)
|
||
|
|
||
|
#define EFI_TPM2_ACPI_TABLE_REVISION_3 3
|
||
|
#define EFI_TPM2_ACPI_TABLE_REVISION_4 4
|
||
|
#define EFI_TPM2_ACPI_TABLE_REVISION EFI_TPM2_ACPI_TABLE_REVISION_4
|
||
|
|
||
|
typedef struct {
|
||
|
EFI_ACPI_DESCRIPTION_HEADER Header;
|
||
|
// Flags field is replaced in version 4 and above
|
||
|
// BIT0~15: PlatformClass This field is only valid for version 4 and above
|
||
|
// BIT16~31: Reserved
|
||
|
UINT32 Flags;
|
||
|
UINT64 AddressOfControlArea;
|
||
|
UINT32 StartMethod;
|
||
|
//UINT8 PlatformSpecificParameters[]; // size up to 12
|
||
|
//UINT32 Laml; // Optional
|
||
|
//UINT32 Lasa; // Optional
|
||
|
} EFI_TPM2_ACPI_TABLE;
|
||
|
|
||
|
#define EFI_TPM2_ACPI_TABLE_START_METHOD_ACPI 2
|
||
|
#define EFI_TPM2_ACPI_TABLE_START_METHOD_TIS 6
|
||
|
#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE 7
|
||
|
#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_ACPI 8
|
||
|
#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_SMC 11
|
||
|
|
||
|
typedef struct {
|
||
|
UINT32 Reserved;
|
||
|
UINT32 Error;
|
||
|
UINT32 Cancel;
|
||
|
UINT32 Start;
|
||
|
UINT64 InterruptControl;
|
||
|
UINT32 CommandSize;
|
||
|
UINT64 Command;
|
||
|
UINT32 ResponseSize;
|
||
|
UINT64 Response;
|
||
|
} EFI_TPM2_ACPI_CONTROL_AREA;
|
||
|
|
||
|
#pragma pack ()
|
||
|
|
||
|
#endif
|