73ef56124527f83d046f4a8f56d9f01375508ebb
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / Tpm2Acpi.h
1 /** @file
2 TPM2 ACPI table definition.
3
4 Copyright (c) 2013, Intel Corporation. All rights reserved. <BR>
5 This program and the accompanying materials
6 are licensed and made available under the terms and conditions of the BSD License
7 which accompanies this distribution. The full text of the license may be found at
8 http://opensource.org/licenses/bsd-license.php
9
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11 WITHOUT 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
23
24 typedef struct {
25 EFI_ACPI_DESCRIPTION_HEADER Header;
26 UINT32 Flags;
27 UINT64 AddressOfControlArea;
28 UINT32 StartMethod;
29 //UINT8 PlatformSpecificParameters[];
30 } EFI_TPM2_ACPI_TABLE;
31
32 #define EFI_TPM2_ACPI_TABLE_START_METHOD_ACPI 2
33 #define EFI_TPM2_ACPI_TABLE_START_METHOD_TIS 6
34 #define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE 7
35 #define EFI_TPM2_ACPI_TABLE_START_METHOD_COMMAND_RESPONSE_BUFFER_INTERFACE_WITH_ACPI 8
36
37 typedef struct {
38 UINT32 Reserved;
39 UINT32 Error;
40 UINT32 Cancel;
41 UINT32 Start;
42 UINT64 InterruptControl;
43 UINT32 CommandSize;
44 UINT64 Command;
45 UINT32 ResponseSize;
46 UINT64 Response;
47 } EFI_TPM2_ACPI_CONTROL_AREA;
48
49 #pragma pack ()
50
51 #endif