]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/Include/Guid/TpmNvsMm.h
UefiPayloadPkg: Add PCI root bridge info hob support for SBL
[mirror_edk2.git] / SecurityPkg / Include / Guid / TpmNvsMm.h
CommitLineData
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
5Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>\r
6Copyright (c) Microsoft Corporation.\r
7SPDX-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
17extern EFI_GUID gTpmNvsMmGuid;\r
18\r
19#pragma pack(1)\r
20typedef 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
30typedef 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
37typedef 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
45typedef 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
55typedef 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
64typedef enum {\r
65 TpmNvsMmExchangeInfo,\r
66} TPM_NVS_MM_FUNCTION;\r
67\r
68#endif // TCG2_NVS_MM_H_\r