3 Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 #include "OpalHiiFormValues.h"
16 #define EFI_HII_PLATFORM_SETUP_FORMSET_GUID \
17 { 0x93039971, 0x8545, 0x4b04, { 0xb4, 0x5e, 0x32, 0xeb, 0x83, 0x26, 0x4, 0xe } }
20 guid = SETUP_FORMSET_GUID,
21 title = STRING_TOKEN(STR_OPAL),
22 help = STRING_TOKEN(STR_FORM_SET_HELP),
23 classguid = EFI_HII_PLATFORM_SETUP_FORMSET_GUID,
25 // Define a Buffer Storage (EFI_IFR_VARSTORE) that will be filled
26 // out initially through extractConfig call
27 varstore OPAL_HII_CONFIGURATION, // This is the Data structure type
28 name = OpalHiiConfig, // Define referenced name in vfr
29 guid = SETUP_VARIABLE_GUID; // GUID of this Buffer storage
31 form formid = FORMID_VALUE_MAIN_MENU,
32 title = STRING_TOKEN(STR_OPAL);
34 //CONFIG_VARIABLE(HII_KEY(HII_KEY_ID_VAR_SUPPORTED_DISKS), SupportedDisks, 0x0, 0xFFFF);
37 name = SupportedDisks,
38 varid = OpalHiiConfig.SupportedDisks,
39 prompt = STRING_TOKEN(STR_NULL),
40 help = STRING_TOKEN(STR_NULL),
42 key = 0x800E, //32782,
48 subtitle text = STRING_TOKEN(STR_MAIN_OPAL_VERSION);
50 subtitle text = STRING_TOKEN(STR_NULL);
53 help = STRING_TOKEN(STR_NULL),
54 text = STRING_TOKEN(STR_MAIN_PHY_DISKS_LBL);
56 subtitle text = STRING_TOKEN(STR_NULL);
59 suppressif ( questionref(SupportedDisks) & ( 0x1 ) ) == 0;
60 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,
61 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_0 ),
62 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),
63 flags = INTERACTIVE, \
68 suppressif ( questionref(SupportedDisks) & ( 0x2 ) ) == 0;
69 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,
70 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_1 ),
71 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),
72 flags = INTERACTIVE, \
77 suppressif ( questionref(SupportedDisks) & ( 0x4 ) ) == 0;
78 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,
79 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_2 ),
80 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),
81 flags = INTERACTIVE, \
86 suppressif ( questionref(SupportedDisks) & ( 0x8 ) ) == 0;
87 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,
88 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_3 ),
89 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),
90 flags = INTERACTIVE, \
91 key = 0x8301; // 33537
95 suppressif ( questionref(SupportedDisks) & ( 0x10 ) ) == 0;
96 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,
97 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_4 ),
98 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),
99 flags = INTERACTIVE, \
100 key = 0x8401; // 33793
104 suppressif ( questionref(SupportedDisks) & ( 0x20 ) ) == 0;
105 goto FORMID_VALUE_DISK_INFO_FORM_MAIN,
106 prompt = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_5 ),
107 help = STRING_TOKEN(STR_MAIN_GOTO_DISK_INFO_HELP),
108 flags = INTERACTIVE, \
109 key = 0x8501; // 34049
113 suppressif ideqval OpalHiiConfig.NumDisks > 0;
115 help = STRING_TOKEN(STR_NULL),
116 text = STRING_TOKEN(STR_MAIN_NO_DISKS_PRESENT_LBL);
119 subtitle text = STRING_TOKEN(STR_NULL);
123 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),
124 text = STRING_TOKEN(STR_BLOCKSID_STATUS);
126 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),
127 text = STRING_TOKEN(STR_BLOCKSID_STATUS1);
129 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),
130 text = STRING_TOKEN(STR_BLOCKSID_STATUS2);
132 help = STRING_TOKEN(STR_BLOCKSID_STATUS_HELP),
133 text = STRING_TOKEN(STR_BLOCKSID_STATUS3);
134 subtitle text = STRING_TOKEN(STR_NULL);
137 oneof varid = OpalHiiConfig.EnableBlockSid,
138 questionid = 0x8017, // 32791,
139 prompt = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID),
140 help = STRING_TOKEN(STR_DISK_INFO_GOTO_ENABLE_BLOCKSID_HELP),
142 option text = STRING_TOKEN(STR_NONE), value = 0, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
143 option text = STRING_TOKEN(STR_ENABLED), value = 1, flags = RESET_REQUIRED;
144 option text = STRING_TOKEN(STR_DISABLED), value = 2, flags = RESET_REQUIRED;
145 option text = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_TRUE), value = 3, flags = RESET_REQUIRED;
146 option text = STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_FALSE), value = 4, flags = RESET_REQUIRED;
147 option text = STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_TRUE), value = 5, flags = RESET_REQUIRED;
148 option text = STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_FALSE), value = 6, flags = RESET_REQUIRED;
153 endform; // MAIN MENU FORM
156 ///////////////// DISK INFO FORM /////////////////
158 form formid = FORMID_VALUE_DISK_INFO_FORM_MAIN,
159 title = STRING_TOKEN(STR_OPAL);
163 name = SelectedDiskAvailableActions,
164 varid = OpalHiiConfig.SelectedDiskAvailableActions,
165 prompt = STRING_TOKEN(STR_NULL),
166 help = STRING_TOKEN(STR_NULL),
168 key = 0x800F, // 32783
174 subtitle text = STRING_TOKEN(STR_MAIN_OPAL_VERSION);
176 subtitle text = STRING_TOKEN(STR_NULL);
179 help = STRING_TOKEN(STR_NULL),
180 text = STRING_TOKEN(STR_DISK_INFO_SELECTED_DISK_NAME);
182 subtitle text = STRING_TOKEN(STR_NULL);
184 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_LOCK ) == 0;
185 goto FORMID_VALUE_DISK_ACTION_FORM,
186 prompt = STRING_TOKEN(STR_DISK_INFO_LOCK),
187 help = STRING_TOKEN(STR_DISK_INFO_GOTO_LOCK_HELP),
189 key = 0x8002; // 32770
192 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_UNLOCK ) == 0;
193 goto FORMID_VALUE_DISK_ACTION_FORM,
194 prompt = STRING_TOKEN(STR_DISK_INFO_UNLOCK),
195 help = STRING_TOKEN(STR_DISK_INFO_GOTO_UNLOCK_HELP),
197 key = 0x8003; //32771;
200 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SET_ADMIN_PWD ) == 0;
201 goto FORMID_VALUE_DISK_ACTION_FORM,
202 prompt = STRING_TOKEN(STR_DISK_INFO_SET_ADMIN_PSWD),
203 help = STRING_TOKEN(STR_DISK_INFO_GOTO_SET_ADMIN_PSWD_HELP),
205 key = 0x8004; //32772;
208 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SET_USER_PWD ) == 0;
209 goto FORMID_VALUE_DISK_ACTION_FORM,
210 prompt = STRING_TOKEN(STR_DISK_INFO_SET_USER_PSWD),
211 help = STRING_TOKEN(STR_DISK_INFO_GOTO_SET_USER_PSWD_HELP),
213 key = 0x8005; //32773;
216 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_SECURE_ERASE ) == 0;
217 goto FORMID_VALUE_DISK_ACTION_FORM,
218 prompt = STRING_TOKEN(STR_DISK_INFO_SECURE_ERASE),
219 help = STRING_TOKEN(STR_DISK_INFO_GOTO_SECURE_ERASE_HELP),
221 key = 0x8006; //32774;
224 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_REVERT ) == 0;
225 goto FORMID_VALUE_DISK_ACTION_FORM,
226 prompt = STRING_TOKEN(STR_DISK_INFO_REVERT),
227 help = STRING_TOKEN(STR_DISK_INFO_GOTO_PSID_REVERT_HELP),
229 key = 0x8008; //32776;
232 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_PSID_REVERT ) == 0;
233 goto FORMID_VALUE_DISK_ACTION_FORM,
234 prompt = STRING_TOKEN(STR_DISK_INFO_PSID_REVERT),
235 help = STRING_TOKEN(STR_DISK_INFO_GOTO_PSID_REVERT_HELP),
237 key = 0x8007; //32775;
240 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_DISABLE_USER ) == 0;
241 goto FORMID_VALUE_DISK_ACTION_FORM,
242 prompt = STRING_TOKEN(STR_DISK_INFO_DISABLE_USER),
243 help = STRING_TOKEN(STR_DISK_INFO_GOTO_DISABLE_USER_HELP),
245 key = 0x8009; //32777;
248 suppressif ( questionref(SelectedDiskAvailableActions) & HII_ACTION_ENABLE_FEATURE ) == 0;
249 goto FORMID_VALUE_DISK_ACTION_FORM,
250 prompt = STRING_TOKEN(STR_DISK_INFO_ENABLE_FEATURE),
251 help = STRING_TOKEN(STR_DISK_INFO_GOTO_ENABLE_FEATURE_HELP),
253 key = 0x800A; //32778;
256 endform; // DISK INFO FORM
259 ///////////////// DISK ACTION FORM /////////////////
261 form formid = FORMID_VALUE_DISK_ACTION_FORM,
262 title = STRING_TOKEN(STR_OPAL);
266 name = AvailableFields,
267 varid = OpalHiiConfig.AvailableFields,
268 prompt = STRING_TOKEN(STR_NULL),
269 help = STRING_TOKEN(STR_NULL),
271 key = 0x8012, //32786,
277 subtitle text = STRING_TOKEN(STR_MAIN_OPAL_VERSION);
279 subtitle text = STRING_TOKEN(STR_NULL);
282 help = STRING_TOKEN(STR_NULL),
283 text = STRING_TOKEN(STR_DISK_INFO_SELECTED_DISK_NAME);
285 subtitle text = STRING_TOKEN(STR_NULL);
288 help = STRING_TOKEN(STR_NULL),
289 text = STRING_TOKEN(STR_DISK_ACTION_LBL);
291 subtitle text = STRING_TOKEN(STR_NULL);
293 suppressif (questionref(AvailableFields) & HII_FIELD_KEEP_USER_DATA) == 0;
294 grayoutif (questionref(AvailableFields) & HII_FIELD_KEEP_USER_DATA_FORCED) != 0;
297 varid = OpalHiiConfig.KeepUserData,
298 prompt = STRING_TOKEN(STR_KEEP_USER_DATA_PROMPT),
299 help = STRING_TOKEN(STR_KEEP_USER_DATA_HELP),
300 key = 0x8011, //32785,
305 help = STRING_TOKEN(STR_NULL),
306 text = STRING_TOKEN(STR_NULL);
310 suppressif (questionref(AvailableFields) & HII_FIELD_PASSWORD) == 0;
312 varid = OpalHiiConfig.Password,
313 prompt = STRING_TOKEN(STR_PASSWORD_PROMPT),
314 help = STRING_TOKEN(STR_PASSWORD_HELP),
316 key = 0x800C, //32780,
322 suppressif (questionref(AvailableFields) & HII_FIELD_PSID) == 0;
324 varid = OpalHiiConfig.Psid,
325 prompt = STRING_TOKEN(STR_REVERT_PROMPT),
326 help = STRING_TOKEN(STR_REVERT_HELP),
328 key = 0x800D, //32781,
329 minsize = PSID_CHARACTER_LENGTH,
330 maxsize = PSID_CHARACTER_LENGTH,
334 subtitle text = STRING_TOKEN(STR_NULL);
337 help = STRING_TOKEN(STR_NULL),
338 text = STRING_TOKEN(STR_ACTION_STATUS);
340 subtitle text = STRING_TOKEN(STR_NULL);
342 goto FORMID_VALUE_MAIN_MENU,
343 prompt = STRING_TOKEN(STR_GOTO_HOME),
344 help = STRING_TOKEN(STR_GOTO_HOME_HELP),
346 key = 0x8000; //32768;
348 endform; // DISK ACTION FORM