]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/Tcg/Tcg2Config/Tcg2Config.vfr
UefiCpuPkg/PiSmmCpuDxeSmm: Add check to avoid NULL ptr dereference
[mirror_edk2.git] / SecurityPkg / Tcg / Tcg2Config / Tcg2Config.vfr
CommitLineData
1abfa4ce
JY
1/** @file\r
2 VFR file used by the TCG2 configuration component.\r
3\r
518b6f65 4Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>\r
1abfa4ce
JY
5This program and the accompanying materials \r
6are licensed and made available under the terms and conditions of the BSD License \r
7which accompanies this distribution. The full text of the license may be found at \r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#include "Tcg2ConfigNvData.h"\r
16\r
17formset\r
18 guid = TCG2_CONFIG_FORM_SET_GUID,\r
19 title = STRING_TOKEN(STR_TCG2_TITLE),\r
20 help = STRING_TOKEN(STR_TCG2_HELP),\r
21 classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,\r
c41eeb44
JY
22 \r
23 efivarstore TCG2_CONFIGURATION_INFO,\r
24 varid = TCG2_CONFIGURATION_INFO_VARSTORE_ID,\r
25 attribute = 0x02, // EFI variable attribures EFI_VARIABLE_BOOTSERVICE_ACCESS\r
26 name = TCG2_CONFIGURATION_INFO,\r
27 guid = TCG2_CONFIG_FORM_SET_GUID;\r
1abfa4ce
JY
28\r
29 efivarstore TCG2_CONFIGURATION,\r
30 varid = TCG2_CONFIGURATION_VARSTORE_ID,\r
31 attribute = 0x03, // EFI variable attribures EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE\r
32 name = TCG2_CONFIGURATION,\r
33 guid = TCG2_CONFIG_FORM_SET_GUID;\r
34\r
35 form formid = TCG2_CONFIGURATION_FORM_ID,\r
36 title = STRING_TOKEN(STR_TCG2_TITLE);\r
37\r
38 subtitle text = STRING_TOKEN(STR_NULL);\r
39\r
40 text\r
41 help = STRING_TOKEN(STR_TCG2_DEVICE_STATE_HELP),\r
42 text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_PROMPT),\r
43 text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_CONTENT);\r
44\r
45 oneof varid = TCG2_CONFIGURATION.TpmDevice,\r
46 questionid = KEY_TPM_DEVICE,\r
47 prompt = STRING_TOKEN(STR_TCG2_DEVICE_PROMPT),\r
48 help = STRING_TOKEN(STR_TCG2_DEVICE_HELP),\r
49 flags = INTERACTIVE,\r
50 option text = STRING_TOKEN(STR_TCG2_TPM_1_2), value = TPM_DEVICE_1_2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\r
51 option text = STRING_TOKEN(STR_TCG2_TPM_2_0_DTPM), value = TPM_DEVICE_2_0_DTPM, flags = RESET_REQUIRED;\r
52 endoneof;\r
53\r
518b6f65
JY
54 suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2;\r
55 text\r
56 help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_HELP),\r
57 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_PROMPT),\r
58 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_CONTENT);\r
59\r
60 text\r
61 help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_HELP),\r
62 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_PROMPT),\r
63 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_CONTENT);\r
64\r
65 suppressif ideqval TCG2_CONFIGURATION_INFO.TpmDeviceInterfacePtpFifoSupported == 0\r
66 OR ideqval TCG2_CONFIGURATION_INFO.TpmDeviceInterfacePtpCrbSupported == 0;\r
67 oneof varid = TCG2_CONFIGURATION_INFO.TpmDeviceInterfaceAttempt,\r
68 questionid = KEY_TPM_DEVICE_INTERFACE,\r
69 prompt = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PROMPT),\r
70 help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_HELP),\r
71 flags = INTERACTIVE,\r
72 option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_TIS), value = TPM_DEVICE_INTERFACE_TIS, flags = RESET_REQUIRED;\r
73 option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PTP_FIFO), value = TPM_DEVICE_INTERFACE_PTP_FIFO, flags = RESET_REQUIRED;\r
74 option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PTP_CRB), value = TPM_DEVICE_INTERFACE_PTP_CRB, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\r
75 endoneof;\r
76 endif;\r
77\r
78 endif;\r
79\r
1abfa4ce
JY
80 subtitle text = STRING_TOKEN(STR_NULL);\r
81\r
82 suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2;\r
83 text\r
84 help = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_HELP),\r
85 text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO),\r
86 text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_CONTENT);\r
87 text\r
88 help = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_HELP),\r
89 text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO),\r
90 text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_CONTENT);\r
91 text\r
92 help = STRING_TOKEN(STR_BIOS_HASH_ALGO_HELP),\r
93 text = STRING_TOKEN(STR_BIOS_HASH_ALGO),\r
94 text = STRING_TOKEN(STR_BIOS_HASH_ALGO_CONTENT);\r
95\r
96 subtitle text = STRING_TOKEN(STR_NULL);\r
97 subtitle text = STRING_TOKEN(STR_TCG2_PP_OPERATION);\r
98\r
99 oneof name = Tpm2Operation,\r
100 questionid = KEY_TPM2_OPERATION,\r
101 prompt = STRING_TOKEN(STR_TCG2_OPERATION),\r
102 help = STRING_TOKEN(STR_TCG2_OPERATION_HELP),\r
103 flags = INTERACTIVE | NUMERIC_SIZE_1,\r
104 option text = STRING_TOKEN(STR_TCG2_NO_ACTION), value = TCG2_PHYSICAL_PRESENCE_NO_ACTION, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\r
105 option text = STRING_TOKEN(STR_TCG2_ENABLE), value = TCG2_PHYSICAL_PRESENCE_ENABLE, flags = RESET_REQUIRED;\r
106 option text = STRING_TOKEN(STR_TCG2_DISABLE), value = TCG2_PHYSICAL_PRESENCE_DISABLE, flags = RESET_REQUIRED;\r
107 option text = STRING_TOKEN(STR_TCG2_CLEAR), value = TCG2_PHYSICAL_PRESENCE_CLEAR, flags = RESET_REQUIRED;\r
108 option text = STRING_TOKEN(STR_TCG2_SET_PCD_BANKS), value = TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS, flags = RESET_REQUIRED;\r
109 option text = STRING_TOKEN(STR_TCG2_CHANGE_EPS), value = TCG2_PHYSICAL_PRESENCE_CHANGE_EPS, flags = RESET_REQUIRED;\r
110 option text = STRING_TOKEN(STR_TCG2_LOG_ALL_DIGESTS), value = TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS, flags = RESET_REQUIRED;\r
111 option text = STRING_TOKEN(STR_TCG2_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY), value = TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY, flags = RESET_REQUIRED;\r
1abfa4ce
JY
112 endoneof;\r
113 \r
114 suppressif NOT questionref(Tpm2Operation) == TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS;\r
115 numeric name = Tpm2OperationParameter,\r
116 questionid = KEY_TPM2_OPERATION_PARAMETER,\r
117 prompt = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER),\r
118 help = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER_HELP),\r
119 flags = DISPLAY_UINT_HEX | INTERACTIVE | NUMERIC_SIZE_4,\r
120 minimum = 0,\r
121 maximum = 0xFFFFFFFF,\r
122 step = 0,\r
123 default = 0,\r
124 endnumeric;\r
125 endif;\r
126\r
127 subtitle text = STRING_TOKEN(STR_NULL);\r
128 subtitle text = STRING_TOKEN(STR_TCG2_CONFIGURATION);\r
129\r
130 text\r
131 help = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_HELP),\r
132 text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT),\r
133 text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_CONTENT);\r
134\r
135 text\r
136 help = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_HELP),\r
137 text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP),\r
138 text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_CONTENT);\r
139\r
140 text\r
141 help = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_HELP),\r
142 text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS),\r
143 text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_CONTENT);\r
144\r
145 text\r
146 help = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_HELP),\r
147 text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS),\r
148 text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_CONTENT);\r
149\r
150 subtitle text = STRING_TOKEN(STR_NULL);\r
151\r
c41eeb44 152 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha1Supported == 0;\r
1abfa4ce
JY
153 checkbox name = TCG2ActivatePCRBank0,\r
154 questionid = KEY_TPM2_PCR_BANKS_REQUEST_0,\r
155 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1),\r
156 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1_HELP),\r
157 flags = INTERACTIVE,\r
158 default = 1,\r
159 endcheckbox;\r
c41eeb44 160 endif;\r
1abfa4ce 161\r
c41eeb44 162 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha256Supported == 0;\r
1abfa4ce
JY
163 checkbox name = TCG2ActivatePCRBank1,\r
164 questionid = KEY_TPM2_PCR_BANKS_REQUEST_1,\r
165 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256),\r
166 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256_HELP),\r
167 flags = INTERACTIVE,\r
168 default = 0,\r
169 endcheckbox;\r
c41eeb44 170 endif;\r
1abfa4ce 171\r
c41eeb44 172 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha384Supported == 0;\r
1abfa4ce
JY
173 checkbox name = TCG2ActivatePCRBank2,\r
174 questionid = KEY_TPM2_PCR_BANKS_REQUEST_2,\r
175 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384),\r
176 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384_HELP),\r
177 flags = INTERACTIVE,\r
178 default = 0,\r
179 endcheckbox;\r
c41eeb44 180 endif;\r
1abfa4ce 181\r
c41eeb44 182 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha512Supported == 0;\r
1abfa4ce
JY
183 checkbox name = TCG2ActivatePCRBank3,\r
184 questionid = KEY_TPM2_PCR_BANKS_REQUEST_3,\r
185 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512),\r
186 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512_HELP),\r
187 flags = INTERACTIVE,\r
188 default = 0,\r
189 endcheckbox;\r
c41eeb44 190 endif;\r
1abfa4ce 191\r
c41eeb44 192 suppressif ideqval TCG2_CONFIGURATION_INFO.Sm3Supported == 0;\r
1abfa4ce
JY
193 checkbox name = TCG2ActivatePCRBank4,\r
194 questionid = KEY_TPM2_PCR_BANKS_REQUEST_4,\r
195 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256),\r
196 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256_HELP),\r
197 flags = INTERACTIVE,\r
198 default = 0,\r
199 endcheckbox;\r
c41eeb44 200 endif;\r
1abfa4ce
JY
201\r
202 endif;\r
203\r
204 endform;\r
205\r
206endformset;\r