blob: f35c1f51a3ffe48ec7c6380b2fffccf0e45ddadf [file] [log] [blame]
Subrata Banik20fe24b2021-12-09 02:46:38 +05301/** @file
2 TCG Physical Presence definition.
3
4Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
5SPDX-License-Identifier: BSD-2-Clause-Patent
6
7**/
8
9#ifndef _TCG_PHYSICAL_PRESENCE_H_
10#define _TCG_PHYSICAL_PRESENCE_H_
11
12//
13// TCG PP definition for physical presence ACPI function
14//
15#define TCG_ACPI_FUNCTION_GET_PHYSICAL_PRESENCE_INTERFACE_VERSION 1
16#define TCG_ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS 2
17#define TCG_ACPI_FUNCTION_GET_PENDING_REQUEST_BY_OS 3
18#define TCG_ACPI_FUNCTION_GET_PLATFORM_ACTION_TO_TRANSITION_TO_BIOS 4
19#define TCG_ACPI_FUNCTION_RETURN_REQUEST_RESPONSE_TO_OS 5
20#define TCG_ACPI_FUNCTION_SUBMIT_PREFERRED_USER_LANGUAGE 6
21#define TCG_ACPI_FUNCTION_SUBMIT_REQUEST_TO_BIOS_2 7
22#define TCG_ACPI_FUNCTION_GET_USER_CONFIRMATION_STATUS_FOR_REQUEST 8
23
24//
25// TCG PP definition for TPM Operation Response to OS Environment
26//
27#define TCG_PP_OPERATION_RESPONSE_SUCCESS 0x0
28#define TCG_PP_OPERATION_RESPONSE_USER_ABORT 0xFFFFFFF0
29#define TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE 0xFFFFFFF1
30
31//
32// TCG PP definition of return code for Return TPM Operation Response to OS Environment
33//
34#define TCG_PP_RETURN_TPM_OPERATION_RESPONSE_SUCCESS 0
35#define TCG_PP_RETURN_TPM_OPERATION_RESPONSE_FAILURE 1
36
37//
38// TCG PP definition of return code for Submit TPM Request to Pre-OS Environment
39// and Submit TPM Request to Pre-OS Environment 2
40//
41#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_SUCCESS 0
42#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED 1
43#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_GENERAL_FAILURE 2
44#define TCG_PP_SUBMIT_REQUEST_TO_PREOS_BLOCKED_BY_BIOS_SETTINGS 3
45
46//
47// TCG PP definition of return code for Get User Confirmation Status for Operation
48//
49#define TCG_PP_GET_USER_CONFIRMATION_NOT_IMPLEMENTED 0
50#define TCG_PP_GET_USER_CONFIRMATION_BIOS_ONLY 1
51#define TCG_PP_GET_USER_CONFIRMATION_BLOCKED_BY_BIOS_CONFIGURATION 2
52#define TCG_PP_GET_USER_CONFIRMATION_ALLOWED_AND_PPUSER_REQUIRED 3
53#define TCG_PP_GET_USER_CONFIRMATION_ALLOWED_AND_PPUSER_NOT_REQUIRED 4
54
55//
56// TCG PP definition of physical presence operation actions for TPM12
57//
58#define TCG_PHYSICAL_PRESENCE_NO_ACTION 0
59#define TCG_PHYSICAL_PRESENCE_ENABLE 1
60#define TCG_PHYSICAL_PRESENCE_DISABLE 2
61#define TCG_PHYSICAL_PRESENCE_ACTIVATE 3
62#define TCG_PHYSICAL_PRESENCE_DEACTIVATE 4
63#define TCG_PHYSICAL_PRESENCE_CLEAR 5
64#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE 6
65#define TCG_PHYSICAL_PRESENCE_DEACTIVATE_DISABLE 7
66#define TCG_PHYSICAL_PRESENCE_SET_OWNER_INSTALL_TRUE 8
67#define TCG_PHYSICAL_PRESENCE_SET_OWNER_INSTALL_FALSE 9
68#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_OWNER_TRUE 10
69#define TCG_PHYSICAL_PRESENCE_DEACTIVATE_DISABLE_OWNER_FALSE 11
70#define TCG_PHYSICAL_PRESENCE_DEFERRED_PP_UNOWNERED_FIELD_UPGRADE 12
71#define TCG_PHYSICAL_PRESENCE_SET_OPERATOR_AUTH 13
72#define TCG_PHYSICAL_PRESENCE_CLEAR_ENABLE_ACTIVATE 14
73#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_FALSE 15
74#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_PROVISION_TRUE 16
75#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_FALSE 17
76#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_CLEAR_TRUE 18
77#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_FALSE 19
78#define TCG_PHYSICAL_PRESENCE_SET_NO_PPI_MAINTENANCE_TRUE 20
79#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR 21
80#define TCG_PHYSICAL_PRESENCE_ENABLE_ACTIVATE_CLEAR_ENABLE_ACTIVATE 22
81
82#define TCG_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION 128
83
84//
85// TCG PP definition of physical presence operation actions for TPM2
86//
87#define TCG2_PHYSICAL_PRESENCE_NO_ACTION 0
88#define TCG2_PHYSICAL_PRESENCE_ENABLE 1
89#define TCG2_PHYSICAL_PRESENCE_DISABLE 2
90#define TCG2_PHYSICAL_PRESENCE_CLEAR 5
91#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR 14
92#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_TRUE 17
93#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_FALSE 18
94#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_2 21
95#define TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_3 22
96#define TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS 23
97#define TCG2_PHYSICAL_PRESENCE_CHANGE_EPS 24
98#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_PCRS_FALSE 25
99#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_PCRS_TRUE 26
100#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_ON_FALSE 27
101#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_ON_TRUE 28
102#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_OFF_FALSE 29
103#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_TURN_OFF_TRUE 30
104#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_EPS_FALSE 31
105#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CHANGE_EPS_TRUE 32
106#define TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS 33
107#define TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY 34
108#define TCG2_PHYSICAL_PRESENCE_NO_ACTION_MAX 34
109
110//
111// TCG PP definition of physical presence operation actions for storage management
112//
113#define TCG2_PHYSICAL_PRESENCE_STORAGE_MANAGEMENT_BEGIN 96
114#define TCG2_PHYSICAL_PRESENCE_ENABLE_BLOCK_SID 96
115#define TCG2_PHYSICAL_PRESENCE_DISABLE_BLOCK_SID 97
116#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_TRUE 98
117#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_FALSE 99
118#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_TRUE 100
119#define TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_FALSE 101
120
121#define TCG2_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION 128
122
123#endif