TianoCore EDK2 master
Loading...
Searching...
No Matches
Tpm2Acpi.h
Go to the documentation of this file.
1
11#ifndef _TPM2_ACPI_H_
12#define _TPM2_ACPI_H_
13
15
16#pragma pack (1)
17
18#define EFI_TPM2_ACPI_TABLE_REVISION_3 3
19#define EFI_TPM2_ACPI_TABLE_REVISION_4 4
20#define EFI_TPM2_ACPI_TABLE_REVISION EFI_TPM2_ACPI_TABLE_REVISION_4
21
22#define EFI_TPM2_ACPI_TABLE_START_METHOD_SPECIFIC_PARAMETERS_MAX_SIZE_REVISION_4 12
23#define EFI_TPM2_ACPI_TABLE_START_METHOD_SPECIFIC_PARAMETERS_MAX_SIZE EFI_TPM2_ACPI_TABLE_START_METHOD_SPECIFIC_PARAMETERS_MAX_SIZE_REVISION_4
24
25typedef struct {
27 // Flags field is replaced in version 4 and above
28 // BIT0~15: PlatformClass This field is only valid for version 4 and above
29 // BIT16~31: Reserved
30 UINT32 Flags;
31 UINT64 AddressOfControlArea;
32 UINT32 StartMethod;
33 // UINT8 PlatformSpecificParameters[]; // size up to 12
34 // UINT32 Laml; // Optional
35 // UINT64 Lasa; // Optional
37
38#define EFI_TPM2_ACPI_TABLE_START_METHOD_ACPI 2
39#define EFI_TPM2_ACPI_TABLE_START_METHOD_TIS 6
40#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE 7
41#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_ACPI 8
42#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_SMC 11
43
44typedef struct {
45 UINT32 Reserved;
46 UINT32 Error;
47 UINT32 Cancel;
48 UINT32 Start;
49 UINT64 InterruptControl;
50 UINT32 CommandSize;
51 UINT64 Command;
52 UINT32 ResponseSize;
53 UINT64 Response;
55
56//
57// Start Method Specific Parameters for ARM SMC Start Method (11)
58// Refer to Table 9: Start Method Specific Parameters for ARM SMC
59//
60typedef struct {
61 UINT32 Interrupt;
62 UINT8 Flags;
63 UINT8 OperationFlags;
64 UINT8 Reserved[2];
65 UINT32 SmcFunctionId;
67
68#pragma pack ()
69
70#endif