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
52