]>
Commit | Line | Data |
---|---|---|
3c2dc30d KQ |
1 | /** @file\r |
2 | TPM NVS MM guid, used for exchanging information, including SWI value and NVS region\r | |
3 | information, for patching TPM ACPI table.\r | |
4 | \r | |
5 | Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r | |
6 | Copyright (c) Microsoft Corporation.\r | |
7 | SPDX-License-Identifier: BSD-2-Clause-Patent\r | |
8 | \r | |
9 | **/\r | |
10 | \r | |
11 | #ifndef TCG2_NVS_MM_H_\r | |
12 | #define TCG2_NVS_MM_H_\r | |
13 | \r | |
14 | #define MM_TPM_NVS_HOB_GUID \\r | |
15 | { 0xc96c76eb, 0xbc78, 0x429c, { 0x9f, 0x4b, 0xda, 0x51, 0x78, 0xc2, 0x84, 0x57 }}\r | |
16 | \r | |
17 | extern EFI_GUID gTpmNvsMmGuid;\r | |
18 | \r | |
19 | #pragma pack(1)\r | |
20 | typedef struct {\r | |
21 | UINT8 SoftwareSmi;\r | |
22 | UINT32 Parameter;\r | |
23 | UINT32 Response;\r | |
24 | UINT32 Request;\r | |
25 | UINT32 RequestParameter;\r | |
26 | UINT32 LastRequest;\r | |
27 | UINT32 ReturnCode;\r | |
28 | } PHYSICAL_PRESENCE_NVS;\r | |
29 | \r | |
30 | typedef struct {\r | |
31 | UINT8 SoftwareSmi;\r | |
32 | UINT32 Parameter;\r | |
33 | UINT32 Request;\r | |
34 | UINT32 ReturnCode;\r | |
35 | } MEMORY_CLEAR_NVS;\r | |
36 | \r | |
37 | typedef struct {\r | |
38 | PHYSICAL_PRESENCE_NVS PhysicalPresence;\r | |
39 | MEMORY_CLEAR_NVS MemoryClear;\r | |
40 | UINT32 PPRequestUserConfirm;\r | |
41 | UINT32 TpmIrqNum;\r | |
42 | BOOLEAN IsShortFormPkgLength;\r | |
43 | } TCG_NVS;\r | |
44 | \r | |
45 | typedef struct {\r | |
46 | UINT8 OpRegionOp;\r | |
47 | UINT32 NameString;\r | |
48 | UINT8 RegionSpace;\r | |
49 | UINT8 DWordPrefix;\r | |
50 | UINT32 RegionOffset;\r | |
51 | UINT8 BytePrefix;\r | |
52 | UINT8 RegionLen;\r | |
53 | } AML_OP_REGION_32_8;\r | |
54 | \r | |
55 | typedef struct {\r | |
56 | UINT64 Function;\r | |
57 | UINT64 ReturnStatus;\r | |
58 | EFI_PHYSICAL_ADDRESS TargetAddress;\r | |
59 | UINT64 RegisteredPpSwiValue;\r | |
60 | UINT64 RegisteredMcSwiValue;\r | |
61 | } TPM_NVS_MM_COMM_BUFFER;\r | |
62 | #pragma pack()\r | |
63 | \r | |
64 | typedef enum {\r | |
65 | TpmNvsMmExchangeInfo,\r | |
66 | } TPM_NVS_MM_FUNCTION;\r | |
67 | \r | |
68 | #endif // TCG2_NVS_MM_H_\r |