]> git.proxmox.com Git - mirror_edk2.git/blob - SecurityPkg/Tcg/Tcg2Config/Tcg2Config.vfr
SecurityPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / SecurityPkg / Tcg / Tcg2Config / Tcg2Config.vfr
1 /** @file
2 VFR file used by the TCG2 configuration component.
3
4 Copyright (c) 2015 - 2018, Intel Corporation. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
6
7 **/
8
9 #include "Tcg2ConfigNvData.h"
10
11 formset
12 guid = TCG2_CONFIG_FORM_SET_GUID,
13 title = STRING_TOKEN(STR_TCG2_TITLE),
14 help = STRING_TOKEN(STR_TCG2_HELP),
15 classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,
16
17 efivarstore TCG2_CONFIGURATION_INFO,
18 varid = TCG2_CONFIGURATION_INFO_VARSTORE_ID,
19 attribute = 0x02, // EFI variable attribures EFI_VARIABLE_BOOTSERVICE_ACCESS
20 name = TCG2_CONFIGURATION_INFO,
21 guid = TCG2_CONFIG_FORM_SET_GUID;
22
23 efivarstore TCG2_CONFIGURATION,
24 varid = TCG2_CONFIGURATION_VARSTORE_ID,
25 attribute = 0x03, // EFI variable attribures EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE
26 name = TCG2_CONFIGURATION,
27 guid = TCG2_CONFIG_FORM_SET_GUID;
28
29 efivarstore TCG2_VERSION,
30 varid = TCG2_VERSION_VARSTORE_ID,
31 attribute = 0x03, // EFI variable attribures EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE
32 name = TCG2_VERSION,
33 guid = TCG2_CONFIG_FORM_SET_GUID;
34
35 form formid = TCG2_CONFIGURATION_FORM_ID,
36 title = STRING_TOKEN(STR_TCG2_TITLE);
37
38 subtitle text = STRING_TOKEN(STR_NULL);
39
40 text
41 help = STRING_TOKEN(STR_TCG2_DEVICE_STATE_HELP),
42 text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_PROMPT),
43 text = STRING_TOKEN(STR_TCG2_DEVICE_STATE_CONTENT);
44
45 oneof varid = TCG2_CONFIGURATION.TpmDevice,
46 questionid = KEY_TPM_DEVICE,
47 prompt = STRING_TOKEN(STR_TCG2_DEVICE_PROMPT),
48 help = STRING_TOKEN(STR_TCG2_DEVICE_HELP),
49 flags = INTERACTIVE,
50 option text = STRING_TOKEN(STR_TCG2_TPM_1_2), value = TPM_DEVICE_1_2, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
51 option text = STRING_TOKEN(STR_TCG2_TPM_2_0_DTPM), value = TPM_DEVICE_2_0_DTPM, flags = RESET_REQUIRED;
52 endoneof;
53
54 suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2;
55
56 subtitle text = STRING_TOKEN(STR_NULL);
57
58 text
59 help = STRING_TOKEN(STR_TPM2_ACPI_HID_HELP),
60 text = STRING_TOKEN(STR_TPM2_ACPI_HID_PROMPT),
61 text = STRING_TOKEN(STR_TPM2_ACPI_HID_CONTENT);
62
63 text
64 help = STRING_TOKEN(STR_TPM2_ACPI_REVISION_STATE_HELP),
65 text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_STATE_PROMPT),
66 text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_STATE_CONTENT);
67
68 oneof varid = TCG2_VERSION.Tpm2AcpiTableRev,
69 questionid = KEY_TPM2_ACPI_REVISION,
70 prompt = STRING_TOKEN(STR_TPM2_ACPI_REVISION_PROMPT),
71 help = STRING_TOKEN(STR_TPM2_ACPI_REVISION_HELP),
72 flags = INTERACTIVE,
73 option text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_3), value = TPM2_ACPI_REVISION_3, flags = RESET_REQUIRED;
74 option text = STRING_TOKEN(STR_TPM2_ACPI_REVISION_4), value = TPM2_ACPI_REVISION_4, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
75 endoneof;
76
77 subtitle text = STRING_TOKEN(STR_NULL);
78
79 text
80 help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_HELP),
81 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_PROMPT),
82 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_STATE_CONTENT);
83
84 text
85 help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_HELP),
86 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_PROMPT),
87 text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_CAPABILITY_CONTENT);
88
89 suppressif ideqval TCG2_CONFIGURATION_INFO.TpmDeviceInterfacePtpFifoSupported == 0
90 OR ideqval TCG2_CONFIGURATION_INFO.TpmDeviceInterfacePtpCrbSupported == 0;
91 oneof varid = TCG2_CONFIGURATION_INFO.TpmDeviceInterfaceAttempt,
92 questionid = KEY_TPM_DEVICE_INTERFACE,
93 prompt = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PROMPT),
94 help = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_HELP),
95 flags = INTERACTIVE,
96 option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_TIS), value = TPM_DEVICE_INTERFACE_TIS, flags = RESET_REQUIRED;
97 option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PTP_FIFO), value = TPM_DEVICE_INTERFACE_PTP_FIFO, flags = RESET_REQUIRED;
98 option text = STRING_TOKEN(STR_TCG2_DEVICE_INTERFACE_PTP_CRB), value = TPM_DEVICE_INTERFACE_PTP_CRB, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
99 endoneof;
100 endif;
101
102 endif;
103
104 subtitle text = STRING_TOKEN(STR_NULL);
105
106 suppressif ideqvallist TCG2_CONFIGURATION.TpmDevice == TPM_DEVICE_NULL TPM_DEVICE_1_2;
107 text
108 help = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_HELP),
109 text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO),
110 text = STRING_TOKEN(STR_TPM2_ACTIVE_HASH_ALGO_CONTENT);
111 text
112 help = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_HELP),
113 text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO),
114 text = STRING_TOKEN(STR_TPM2_SUPPORTED_HASH_ALGO_CONTENT);
115 text
116 help = STRING_TOKEN(STR_BIOS_HASH_ALGO_HELP),
117 text = STRING_TOKEN(STR_BIOS_HASH_ALGO),
118 text = STRING_TOKEN(STR_BIOS_HASH_ALGO_CONTENT);
119
120 subtitle text = STRING_TOKEN(STR_NULL);
121 subtitle text = STRING_TOKEN(STR_TCG2_PP_OPERATION);
122
123 text
124 help = STRING_TOKEN(STR_TCG2_PPI_VERSION_STATE_HELP),
125 text = STRING_TOKEN(STR_TCG2_PPI_VERSION_STATE_PROMPT),
126 text = STRING_TOKEN(STR_TCG2_PPI_VERSION_STATE_CONTENT);
127
128 oneof varid = TCG2_VERSION.PpiVersion,
129 questionid = KEY_TCG2_PPI_VERSION,
130 prompt = STRING_TOKEN(STR_TCG2_PPI_VERSION_PROMPT),
131 help = STRING_TOKEN(STR_TCG2_PPI_VERSION_HELP),
132 flags = INTERACTIVE,
133 option text = STRING_TOKEN(STR_TCG2_PPI_VERSION_1_2), value = TCG2_PPI_VERSION_1_2, flags = RESET_REQUIRED;
134 option text = STRING_TOKEN(STR_TCG2_PPI_VERSION_1_3), value = TCG2_PPI_VERSION_1_3, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
135 endoneof;
136
137 oneof name = Tpm2Operation,
138 questionid = KEY_TPM2_OPERATION,
139 prompt = STRING_TOKEN(STR_TCG2_OPERATION),
140 help = STRING_TOKEN(STR_TCG2_OPERATION_HELP),
141 flags = INTERACTIVE | NUMERIC_SIZE_1,
142 option text = STRING_TOKEN(STR_TCG2_NO_ACTION), value = TCG2_PHYSICAL_PRESENCE_NO_ACTION, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
143 option text = STRING_TOKEN(STR_TCG2_ENABLE), value = TCG2_PHYSICAL_PRESENCE_ENABLE, flags = RESET_REQUIRED;
144 option text = STRING_TOKEN(STR_TCG2_DISABLE), value = TCG2_PHYSICAL_PRESENCE_DISABLE, flags = RESET_REQUIRED;
145 option text = STRING_TOKEN(STR_TCG2_CLEAR), value = TCG2_PHYSICAL_PRESENCE_CLEAR, flags = RESET_REQUIRED;
146 option text = STRING_TOKEN(STR_TCG2_SET_PCD_BANKS), value = TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS, flags = RESET_REQUIRED;
147 option text = STRING_TOKEN(STR_TCG2_CHANGE_EPS), value = TCG2_PHYSICAL_PRESENCE_CHANGE_EPS, flags = RESET_REQUIRED;
148 option text = STRING_TOKEN(STR_TCG2_LOG_ALL_DIGESTS), value = TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS, flags = RESET_REQUIRED;
149 option text = STRING_TOKEN(STR_TCG2_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY), value = TCG2_PHYSICAL_PRESENCE_DISABLE_ENDORSEMENT_ENABLE_STORAGE_HIERARCHY, flags = RESET_REQUIRED;
150 endoneof;
151
152 suppressif NOT questionref(Tpm2Operation) == TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS;
153 numeric name = Tpm2OperationParameter,
154 questionid = KEY_TPM2_OPERATION_PARAMETER,
155 prompt = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER),
156 help = STRING_TOKEN(STR_TCG2_OPERATION_PARAMETER_HELP),
157 flags = DISPLAY_UINT_HEX | INTERACTIVE | NUMERIC_SIZE_4,
158 minimum = 0,
159 maximum = 0xFFFFFFFF,
160 step = 0,
161 default = 0,
162 endnumeric;
163 endif;
164
165 subtitle text = STRING_TOKEN(STR_NULL);
166 subtitle text = STRING_TOKEN(STR_TCG2_CONFIGURATION);
167
168 text
169 help = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_HELP),
170 text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT),
171 text = STRING_TOKEN(STR_TCG2_SUPPORTED_EVENT_LOG_FORMAT_CONTENT);
172
173 text
174 help = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_HELP),
175 text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP),
176 text = STRING_TOKEN(STR_TCG2_HASH_ALGO_BITMAP_CONTENT);
177
178 text
179 help = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_HELP),
180 text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS),
181 text = STRING_TOKEN(STR_TCG2_NUMBER_OF_PCR_BANKS_CONTENT);
182
183 text
184 help = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_HELP),
185 text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS),
186 text = STRING_TOKEN(STR_TCG2_ACTIVE_PCR_BANKS_CONTENT);
187
188 subtitle text = STRING_TOKEN(STR_NULL);
189
190 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha1Supported == 0;
191 checkbox name = TCG2ActivatePCRBank0,
192 questionid = KEY_TPM2_PCR_BANKS_REQUEST_0,
193 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1),
194 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA1_HELP),
195 flags = INTERACTIVE | RESET_REQUIRED,
196 default = 1,
197 endcheckbox;
198 endif;
199
200 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha256Supported == 0;
201 checkbox name = TCG2ActivatePCRBank1,
202 questionid = KEY_TPM2_PCR_BANKS_REQUEST_1,
203 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256),
204 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA256_HELP),
205 flags = INTERACTIVE | RESET_REQUIRED,
206 default = 0,
207 endcheckbox;
208 endif;
209
210 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha384Supported == 0;
211 checkbox name = TCG2ActivatePCRBank2,
212 questionid = KEY_TPM2_PCR_BANKS_REQUEST_2,
213 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384),
214 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA384_HELP),
215 flags = INTERACTIVE | RESET_REQUIRED,
216 default = 0,
217 endcheckbox;
218 endif;
219
220 suppressif ideqval TCG2_CONFIGURATION_INFO.Sha512Supported == 0;
221 checkbox name = TCG2ActivatePCRBank3,
222 questionid = KEY_TPM2_PCR_BANKS_REQUEST_3,
223 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512),
224 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SHA512_HELP),
225 flags = INTERACTIVE | RESET_REQUIRED,
226 default = 0,
227 endcheckbox;
228 endif;
229
230 suppressif ideqval TCG2_CONFIGURATION_INFO.Sm3Supported == 0;
231 checkbox name = TCG2ActivatePCRBank4,
232 questionid = KEY_TPM2_PCR_BANKS_REQUEST_4,
233 prompt = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256),
234 help = STRING_TOKEN(STR_TCG2_PCR_BANK_SM3_256_HELP),
235 flags = INTERACTIVE | RESET_REQUIRED,
236 default = 0,
237 endcheckbox;
238 endif;
239
240 endif;
241
242 endform;
243
244 endformset;