]> git.proxmox.com Git - mirror_edk2.git/blame - MdePkg/Include/IndustryStandard/Tpm2Acpi.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Tpm2Acpi.h
CommitLineData
2e61fb38
JY
1/** @file\r
2 TPM2 ACPI table definition.\r
3\r
9a00a716 4Copyright (c) 2013 - 2019, Intel Corporation. All rights reserved. <BR>\r
96a9acfc 5Copyright (c) 2021, Ampere Computing LLC. All rights reserved. <BR>\r
9344f092 6SPDX-License-Identifier: BSD-2-Clause-Patent\r
2e61fb38
JY
7\r
8**/\r
9\r
10#ifndef _TPM2_ACPI_H_\r
11#define _TPM2_ACPI_H_\r
12\r
13#include <IndustryStandard/Acpi.h>\r
14\r
15#pragma pack (1)\r
16\r
8f07a374
ZC
17#define EFI_TPM2_ACPI_TABLE_REVISION_3 3\r
18#define EFI_TPM2_ACPI_TABLE_REVISION_4 4\r
50f670ac 19#define EFI_TPM2_ACPI_TABLE_REVISION EFI_TPM2_ACPI_TABLE_REVISION_4\r
2e61fb38
JY
20\r
21typedef struct {\r
2f88bd3a 22 EFI_ACPI_DESCRIPTION_HEADER Header;\r
50f670ac
ZC
23 // Flags field is replaced in version 4 and above\r
24 // BIT0~15: PlatformClass This field is only valid for version 4 and above\r
25 // BIT16~31: Reserved\r
2f88bd3a
MK
26 UINT32 Flags;\r
27 UINT64 AddressOfControlArea;\r
28 UINT32 StartMethod;\r
29 // UINT8 PlatformSpecificParameters[]; // size up to 12\r
30 // UINT32 Laml; // Optional\r
31 // UINT64 Lasa; // Optional\r
2e61fb38
JY
32} EFI_TPM2_ACPI_TABLE;\r
33\r
2f88bd3a
MK
34#define EFI_TPM2_ACPI_TABLE_START_METHOD_ACPI 2\r
35#define EFI_TPM2_ACPI_TABLE_START_METHOD_TIS 6\r
36#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE 7\r
37#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_ACPI 8\r
38#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_SMC 11\r
2e61fb38
JY
39\r
40typedef struct {\r
2f88bd3a
MK
41 UINT32 Reserved;\r
42 UINT32 Error;\r
43 UINT32 Cancel;\r
44 UINT32 Start;\r
45 UINT64 InterruptControl;\r
46 UINT32 CommandSize;\r
47 UINT64 Command;\r
48 UINT32 ResponseSize;\r
49 UINT64 Response;\r
2e61fb38
JY
50} EFI_TPM2_ACPI_CONTROL_AREA;\r
51\r
96a9acfc
NP
52//\r
53// Start Method Specific Parameters for ARM SMC Start Method (11)\r
54// Refer to Table 9: Start Method Specific Parameters for ARM SMC\r
55//\r
56typedef struct {\r
2f88bd3a
MK
57 UINT32 Interrupt;\r
58 UINT8 Flags;\r
59 UINT8 OperationFlags;\r
60 UINT8 Reserved[2];\r
61 UINT32 SmcFunctionId;\r
96a9acfc
NP
62} EFI_TPM2_ACPI_START_METHOD_SPECIFIC_PARAMETERS_ARM_SMC;\r
63\r
2e61fb38
JY
64#pragma pack ()\r
65\r
66#endif\r