]> git.proxmox.com Git - mirror_edk2.git/blame - SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalPasswordForm.vfr
SecurityPkg OpalPassword: Add solution without SMM device code
[mirror_edk2.git] / SecurityPkg / Tcg / Opal / OpalPasswordDxe / OpalPasswordForm.vfr
CommitLineData
a06875e1
ED
1/** @file\r
2\r
3Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
4This program and the accompanying materials\r
5are licensed and made available under the terms and conditions of the BSD License\r
6which accompanies this distribution. The full text of the license may be found at\r
7http://opensource.org/licenses/bsd-license.php\r
8\r
9THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
10WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
11\r
12**/\r
13#include "OpalHiiFormValues.h"\r
14\r
15\r
16#define EFI_HII_PLATFORM_SETUP_FORMSET_GUID \\r
17 { 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x4, 0xe } }\r
18\r
19formset\r
20 guid = SETUP_FORMSET_GUID,\r
21 title = STRING_TOKEN(STR_OPAL),\r
22 help = STRING_TOKEN(STR_FORM_SET_HELP),\r
23 classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,\r
24\r
25 // Define a Buffer Storage (EFI_IFR_VARSTORE) that will be filled\r
26 // out initially through extractConfig call\r
27 varstore OPAL_HII_CONFIGURATION, // This is the Data structure type\r
28 name = OpalHiiConfig, // Define referenced name in vfr\r
29 guid = SETUP_VARIABLE_GUID; // GUID of this Buffer storage\r
30\r
31form formid = FORMID_VALUE_MAIN_MENU,\r
32 title = STRING_TOKEN(STR_OPAL);\r
33\r
34 //CONFIG_VARIABLE(HII_KEY(HII_KEY_ID_VAR_SUPPORTED_DISKS), SupportedDisks, 0x0, 0xFFFF);\r
35 suppressif TRUE;\r
36 numeric\r
37 name = SupportedDisks,\r
38 varid = OpalHiiConfig.SupportedDisks,\r
39 prompt = STRING_TOKEN(STR_NULL),\r
40 help = STRING_TOKEN(STR_NULL),\r
41 flags = INTERACTIVE,\r
42 key = 0x800E, //32782,\r
43 minimum = 0x0,\r
44 maximum = 0xFFFF,\r
45 endnumeric;\r
46 endif;\r
47\r
48 subtitle text = STRING_TOKEN(STR_MAIN_OPAL_VERSION);\r
49\r
50 subtitle text = STRING_TOKEN(STR_NULL);\r
51\r
52 text\r
53 help = STRING_TOKEN(STR_NULL),\r
54 text = STRING_TOKEN(STR_MAIN_PHY_DISKS_LBL);\r
55\r
56 subtitle text = STRING_TOKEN(STR_NULL);\r
57\r
58 //DISK( 0 );\r
59 suppressif ( questionref(SupportedDisks) & ( 0x1 ) ) == 0;\r
60 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,\r
61 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_0 ),\r
62 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),\r
63 flags = INTERACTIVE, \\r
64 key = 0x8001; //32769\r
65 endif;\r
66\r
67 //DISK( 1 );\r
68 suppressif ( questionref(SupportedDisks) & ( 0x2 ) ) == 0;\r
69 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,\r
70 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_1 ),\r
71 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),\r
72 flags = INTERACTIVE, \\r
73 key = 0x8101; //33025\r
74 endif;\r
75\r
76 //DISK( 2 );\r
77 suppressif ( questionref(SupportedDisks) & ( 0x4 ) ) == 0;\r
78 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,\r
79 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_2 ),\r
80 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),\r
81 flags = INTERACTIVE, \\r
82 key = 0x8201; //33281\r
83 endif;\r
84\r
85 //DISK( 3 );\r
86 suppressif ( questionref(SupportedDisks) & ( 0x8 ) ) == 0;\r
87 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,\r
88 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_3 ),\r
89 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),\r
90 flags = INTERACTIVE, \\r
91 key = 0x8301; // 33537\r
92 endif;\r
93\r
94 //DISK( 4 );\r
95 suppressif ( questionref(SupportedDisks) & ( 0x10 ) ) == 0;\r
96 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,\r
97 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_4 ),\r
98 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),\r
99 flags = INTERACTIVE, \\r
100 key = 0x8401; // 33793\r
101 endif;\r
102\r
103 //DISK( 5 );\r
104 suppressif ( questionref(SupportedDisks) & ( 0x20 ) ) == 0;\r
105 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,\r
106 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_5 ),\r
107 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),\r
108 flags = INTERACTIVE, \\r
109 key = 0x8501; // 34049\r
110 endif;\r
111\r
112 //No disks on system\r
113 suppressif ideqval OpalHiiConfig.NumDisks > 0;\r
114 text\r
115 help = STRING_TOKEN(STR_NULL),\r
116 text = STRING_TOKEN(STR_MAIN_NO_DISKS_PRESENT_LBL);\r
117 endif;\r
118\r
8d3d8450
ED
119 subtitle text = STRING_TOKEN(STR_NULL);\r
120\r
34c2ce65
ED
121 grayoutif TRUE;\r
122 text\r
123 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),\r
124 text = STRING_TOKEN(STR_BLOCKSID_STATUS);\r
125 text\r
126 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),\r
127 text = STRING_TOKEN(STR_BLOCKSID_STATUS1);\r
128 text\r
129 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),\r
130 text = STRING_TOKEN(STR_BLOCKSID_STATUS2);\r
131 text\r
132 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),\r
133 text = STRING_TOKEN(STR_BLOCKSID_STATUS3);\r
134 subtitle text = STRING_TOKEN(STR_NULL);\r
135 endif;\r
136\r
8d3d8450
ED
137 oneof varid = OpalHiiConfig.EnableBlockSid,\r
138 questionid = 0x8017, // 32791,\r
139 prompt = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID),\r
140 help = STRING_TOKEN(STR_DISK_INFO_GOTO_ENABLE_BLOCKSID_HELP),\r
141 flags = INTERACTIVE,\r
34c2ce65 142 option text = STRING_TOKEN(STR_NONE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;\r
8d3d8450 143 option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;\r
34c2ce65
ED
144 option text = STRING_TOKEN(STR_DISABLED), value = 2, flags = RESET_REQUIRED;\r
145 option text = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_TRUE), value = 3, flags = RESET_REQUIRED;\r
146 option text = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_FALSE), value = 4, flags = RESET_REQUIRED;\r
147 option text = STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_TRUE), value = 5, flags = RESET_REQUIRED;\r
148 option text = STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_FALSE), value = 6, flags = RESET_REQUIRED;\r
8d3d8450
ED
149 endoneof;\r
150\r
34c2ce65
ED
151\r
152\r
a06875e1
ED
153endform; // MAIN MENU FORM\r
154\r
155//\r
156///////////////// DISK INFO FORM /////////////////\r
157//\r
158form formid = FORMID_VALUE_DISK_INFO_FORM_MAIN,\r
159 title = STRING_TOKEN(STR_OPAL);\r
160\r
161 suppressif TRUE;\r
162 numeric\r
163 name = SelectedDiskAvailableActions,\r
164 varid = OpalHiiConfig.SelectedDiskAvailableActions,\r
165 prompt = STRING_TOKEN(STR_NULL),\r
166 help = STRING_TOKEN(STR_NULL),\r
167 flags = INTERACTIVE,\r
168 key = 0x800F, // 32783\r
169 minimum = 0x0,\r
170 maximum = 0xFFFF,\r
171 endnumeric;\r
172 endif;\r
173\r
174 subtitle text = STRING_TOKEN(STR_MAIN_OPAL_VERSION);\r
175\r
176 subtitle text = STRING_TOKEN(STR_NULL);\r
177\r
178 text\r
179 help = STRING_TOKEN(STR_NULL),\r
180 text = STRING_TOKEN(STR_DISK_INFO_SELECTED_DISK_NAME);\r
181\r
182 subtitle text = STRING_TOKEN(STR_NULL);\r
183\r
184 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_LOCK ) == 0;\r
185 goto FORMID_VALUE_DISK_ACTION_FORM,\r
186 prompt = STRING_TOKEN(STR_DISK_INFO_LOCK),\r
187 help = STRING_TOKEN(STR_DISK_INFO_GOTO_LOCK_HELP),\r
188 flags = INTERACTIVE,\r
189 key = 0x8002; // 32770\r
190 endif;\r
191\r
192 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_UNLOCK ) == 0;\r
193 goto FORMID_VALUE_DISK_ACTION_FORM,\r
194 prompt = STRING_TOKEN(STR_DISK_INFO_UNLOCK),\r
195 help = STRING_TOKEN(STR_DISK_INFO_GOTO_UNLOCK_HELP),\r
196 flags = INTERACTIVE,\r
197 key = 0x8003; //32771;\r
198 endif;\r
199\r
200 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SET_ADMIN_PWD ) == 0;\r
201 goto FORMID_VALUE_DISK_ACTION_FORM,\r
202 prompt = STRING_TOKEN(STR_DISK_INFO_SET_ADMIN_PSWD),\r
203 help = STRING_TOKEN(STR_DISK_INFO_GOTO_SET_ADMIN_PSWD_HELP),\r
204 flags = INTERACTIVE,\r
205 key = 0x8004; //32772;\r
206 endif;\r
207\r
208 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SET_USER_PWD ) == 0;\r
209 goto FORMID_VALUE_DISK_ACTION_FORM,\r
210 prompt = STRING_TOKEN(STR_DISK_INFO_SET_USER_PSWD),\r
211 help = STRING_TOKEN(STR_DISK_INFO_GOTO_SET_USER_PSWD_HELP),\r
212 flags = INTERACTIVE,\r
213 key = 0x8005; //32773;\r
214 endif;\r
215\r
216 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SECURE_ERASE ) == 0;\r
217 goto FORMID_VALUE_DISK_ACTION_FORM,\r
218 prompt = STRING_TOKEN(STR_DISK_INFO_SECURE_ERASE),\r
219 help = STRING_TOKEN(STR_DISK_INFO_GOTO_SECURE_ERASE_HELP),\r
220 flags = INTERACTIVE,\r
221 key = 0x8006; //32774;\r
222 endif;\r
223\r
224 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_REVERT ) == 0;\r
225 goto FORMID_VALUE_DISK_ACTION_FORM,\r
226 prompt = STRING_TOKEN(STR_DISK_INFO_REVERT),\r
227 help = STRING_TOKEN(STR_DISK_INFO_GOTO_PSID_REVERT_HELP),\r
228 flags = INTERACTIVE,\r
229 key = 0x8008; //32776;\r
230 endif;\r
231\r
232 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_PSID_REVERT ) == 0;\r
233 goto FORMID_VALUE_DISK_ACTION_FORM,\r
234 prompt = STRING_TOKEN(STR_DISK_INFO_PSID_REVERT),\r
235 help = STRING_TOKEN(STR_DISK_INFO_GOTO_PSID_REVERT_HELP),\r
236 flags = INTERACTIVE,\r
237 key = 0x8007; //32775;\r
238 endif;\r
239\r
240 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_DISABLE_USER ) == 0;\r
241 goto FORMID_VALUE_DISK_ACTION_FORM,\r
242 prompt = STRING_TOKEN(STR_DISK_INFO_DISABLE_USER),\r
243 help = STRING_TOKEN(STR_DISK_INFO_GOTO_DISABLE_USER_HELP),\r
244 flags = INTERACTIVE,\r
245 key = 0x8009; //32777;\r
246 endif;\r
247\r
248 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_ENABLE_FEATURE ) == 0;\r
249 goto FORMID_VALUE_DISK_ACTION_FORM,\r
250 prompt = STRING_TOKEN(STR_DISK_INFO_ENABLE_FEATURE),\r
251 help = STRING_TOKEN(STR_DISK_INFO_GOTO_ENABLE_FEATURE_HELP),\r
252 flags = INTERACTIVE,\r
253 key = 0x800A; //32778;\r
254 endif;\r
255\r
a06875e1
ED
256endform; // DISK INFO FORM\r
257\r
258//\r
259///////////////// DISK ACTION FORM /////////////////\r
260//\r
261form formid = FORMID_VALUE_DISK_ACTION_FORM,\r
262 title = STRING_TOKEN(STR_OPAL);\r
263\r
264 suppressif TRUE;\r
265 numeric\r
266 name = AvailableFields,\r
267 varid = OpalHiiConfig.AvailableFields,\r
268 prompt = STRING_TOKEN(STR_NULL),\r
269 help = STRING_TOKEN(STR_NULL),\r
270 flags = INTERACTIVE,\r
271 key = 0x8012, //32786,\r
272 minimum = 0x0,\r
273 maximum = 0xFFFF,\r
274 endnumeric;\r
275 endif;\r
276\r
277 subtitle text = STRING_TOKEN(STR_MAIN_OPAL_VERSION);\r
278\r
279 subtitle text = STRING_TOKEN(STR_NULL);\r
280\r
281 text\r
282 help = STRING_TOKEN(STR_NULL),\r
283 text = STRING_TOKEN(STR_DISK_INFO_SELECTED_DISK_NAME);\r
284\r
285 subtitle text = STRING_TOKEN(STR_NULL);\r
286\r
287 text\r
288 help = STRING_TOKEN(STR_NULL),\r
289 text = STRING_TOKEN(STR_DISK_ACTION_LBL);\r
290\r
291 subtitle text = STRING_TOKEN(STR_NULL);\r
292\r
293 suppressif (questionref(AvailableFields) & HII_FIELD_KEEP_USER_DATA) == 0;\r
294 grayoutif (questionref(AvailableFields) & HII_FIELD_KEEP_USER_DATA_FORCED) != 0;\r
295 checkbox\r
296 name = MyCheckbox,\r
297 varid = OpalHiiConfig.KeepUserData,\r
298 prompt = STRING_TOKEN(STR_KEEP_USER_DATA_PROMPT),\r
299 help = STRING_TOKEN(STR_KEEP_USER_DATA_HELP),\r
300 key = 0x8011, //32785,\r
301 endcheckbox;\r
302\r
303 //EMPTY_LINE;\r
304 text\r
305 help = STRING_TOKEN(STR_NULL),\r
306 text = STRING_TOKEN(STR_NULL);\r
307 endif;\r
308 endif;\r
309\r
310 suppressif (questionref(AvailableFields) & HII_FIELD_PASSWORD) == 0;\r
311 password\r
312 varid = OpalHiiConfig.Password,\r
313 prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),\r
314 help = STRING_TOKEN(STR_PASSWORD_HELP),\r
315 flags = INTERACTIVE,\r
316 key = 0x800C, //32780,\r
317 minsize = 6,\r
318 maxsize = 20,\r
319 endpassword;\r
320 endif;\r
321\r
322 suppressif (questionref(AvailableFields) & HII_FIELD_PSID) == 0;\r
323 string\r
324 varid = OpalHiiConfig.Psid,\r
325 prompt = STRING_TOKEN(STR_REVERT_PROMPT),\r
326 help = STRING_TOKEN(STR_REVERT_HELP),\r
327 flags = INTERACTIVE,\r
328 key = 0x800D, //32781,\r
329 minsize = PSID_CHARACTER_LENGTH,\r
330 maxsize = PSID_CHARACTER_LENGTH,\r
331 endstring;\r
332 endif;\r
333\r
334 subtitle text = STRING_TOKEN(STR_NULL);\r
335\r
336 text\r
337 help = STRING_TOKEN(STR_NULL),\r
338 text = STRING_TOKEN(STR_ACTION_STATUS);\r
339\r
340 subtitle text = STRING_TOKEN(STR_NULL);\r
341\r
342 goto FORMID_VALUE_MAIN_MENU,\r
343 prompt = STRING_TOKEN(STR_GOTO_HOME),\r
344 help = STRING_TOKEN(STR_GOTO_HOME_HELP),\r
345 flags = INTERACTIVE,\r
346 key = 0x8000; //32768;\r
347\r
348endform; // DISK ACTION FORM\r
349\r
350endformset;\r