blob: b5d5e522dd560a9f7f1942bc5499e3416f9869cd [file] [log] [blame]
Subrata Banik8b9f2892018-01-25 10:50:39 +05301/** @file
2 TPM2 ACPI table definition.
3
4Copyright (c) 2013 - 2017, Intel Corporation. All rights reserved. <BR>
5This program and the accompanying materials
6are licensed and made available under the terms and conditions of the BSD License
7which accompanies this distribution. The full text of the license may be found at
8http://opensource.org/licenses/bsd-license.php
9
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12
13**/
14
15#ifndef _TPM2_ACPI_H_
16#define _TPM2_ACPI_H_
17
18#include <IndustryStandard/Acpi.h>
19
20#pragma pack (1)
21
22#define EFI_TPM2_ACPI_TABLE_REVISION_3 3
23#define EFI_TPM2_ACPI_TABLE_REVISION_4 4
24#define EFI_TPM2_ACPI_TABLE_REVISION EFI_TPM2_ACPI_TABLE_REVISION_4
25
26typedef struct {
27 EFI_ACPI_DESCRIPTION_HEADER Header;
28 // Flags field is replaced in version 4 and above
29 // BIT0~15: PlatformClass This field is only valid for version 4 and above
30 // BIT16~31: Reserved
31 UINT32 Flags;
32 UINT64 AddressOfControlArea;
33 UINT32 StartMethod;
34//UINT8 PlatformSpecificParameters[];
35} EFI_TPM2_ACPI_TABLE;
36
37#define EFI_TPM2_ACPI_TABLE_START_METHOD_ACPI 2
38#define EFI_TPM2_ACPI_TABLE_START_METHOD_TIS 6
39#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE 7
40#define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_ACPI 8
41
42typedef struct {
43 UINT32 Reserved;
44 UINT32 Error;
45 UINT32 Cancel;
46 UINT32 Start;
47 UINT64 InterruptControl;
48 UINT32 CommandSize;
49 UINT64 Command;
50 UINT32 ResponseSize;
51 UINT64 Response;
52} EFI_TPM2_ACPI_CONTROL_AREA;
53
54#pragma pack ()
55
56#endif