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