]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/Include/Guid/PhysicalPresenceData.h
SecurityPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / SecurityPkg / Include / Guid / PhysicalPresenceData.h
CommitLineData
0c18794e 1/** @file\r
2 Define the variable data structures used for TCG physical presence.\r
3 The TPM request from firmware or OS is saved to variable. And it is\r
b3548d32 4 cleared after it is processed in the next boot cycle. The TPM response\r
0c18794e 5 is saved to variable.\r
6\r
b3548d32 7Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
289b714b 8SPDX-License-Identifier: BSD-2-Clause-Patent\r
0c18794e 9\r
10**/\r
11\r
12#ifndef __PHYSICAL_PRESENCE_DATA_GUID_H__\r
13#define __PHYSICAL_PRESENCE_DATA_GUID_H__\r
14\r
15#define EFI_PHYSICAL_PRESENCE_DATA_GUID \\r
16 { \\r
17 0xf6499b1, 0xe9ad, 0x493d, { 0xb9, 0xc2, 0x2f, 0x90, 0x81, 0x5c, 0x6c, 0xbc }\\r
18 }\r
19\r
20#define PHYSICAL_PRESENCE_VARIABLE L"PhysicalPresence"\r
21\r
22typedef struct {\r
23 UINT8 PPRequest; ///< Physical Presence request command.\r
24 UINT8 LastPPRequest;\r
25 UINT32 PPResponse;\r
0c18794e 26} EFI_PHYSICAL_PRESENCE;\r
27\r
0c18794e 28//\r
29// The definition of physical presence operation actions\r
30//\r
607599bf 31#define PHYSICAL_PRESENCE_NO_ACTION 0\r
32#define PHYSICAL_PRESENCE_ENABLE 1\r
33#define PHYSICAL_PRESENCE_DISABLE 2\r
34#define PHYSICAL_PRESENCE_ACTIVATE 3\r
b3548d32 35#define PHYSICAL_PRESENCE_DEACTIVATE 4\r
607599bf 36#define PHYSICAL_PRESENCE_CLEAR 5\r
37#define PHYSICAL_PRESENCE_ENABLE_ACTIVATE 6\r
38#define PHYSICAL_PRESENCE_DEACTIVATE_DISABLE 7\r
39#define PHYSICAL_PRESENCE_SET_OWNER_INSTALL_TRUE 8\r
40#define PHYSICAL_PRESENCE_SET_OWNER_INSTALL_FALSE 9\r
41#define PHYSICAL_PRESENCE_ENABLE_ACTIVATE_OWNER_TRUE 10\r
42#define PHYSICAL_PRESENCE_DEACTIVATE_DISABLE_OWNER_FALSE 11\r
43#define PHYSICAL_PRESENCE_DEFERRED_PP_UNOWNERED_FIELD_UPGRADE 12\r
44#define PHYSICAL_PRESENCE_SET_OPERATOR_AUTH 13\r
45#define PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE 14\r
46#define PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_FALSE 15\r
47#define PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_TRUE 16\r
48#define PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_FALSE 17\r
49#define PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_TRUE 18\r
50#define PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_FALSE 19\r
51#define PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_TRUE 20\r
52#define PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR 21\r
53#define PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE 22\r
0c18794e 54\r
ed094569
DG
55//\r
56// This variable is used to save TPM Management Flags and corresponding operations.\r
b3548d32 57// It should be protected from malicious software (e.g. Set it as read-only variable).\r
ed094569
DG
58//\r
59#define PHYSICAL_PRESENCE_FLAGS_VARIABLE L"PhysicalPresenceFlags"\r
4610b23a
JY
60typedef struct {\r
61 UINT8 PPFlags;\r
62} EFI_PHYSICAL_PRESENCE_FLAGS;\r
ed094569
DG
63\r
64//\r
65// The definition bit of the TPM Management Flags\r
66//\r
67#define FLAG_NO_PPI_PROVISION BIT0\r
68#define FLAG_NO_PPI_CLEAR BIT1\r
69#define FLAG_NO_PPI_MAINTENANCE BIT2\r
70#define FLAG_RESET_TRACK BIT3\r
71\r
0c18794e 72extern EFI_GUID gEfiPhysicalPresenceGuid;\r
73\r
74#endif\r
75\r