1///** @file
2//  Boot Maintenance Utility Formset
3//
4//  Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
5//  This program and the accompanying materials
6//  are licensed and made available under the terms and conditions of the BSD License
7//  which accompanies this distribution.  The full text of the license may be found at
8//  http://opensource.org/licenses/bsd-license.php
9//
10//  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
11//  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
12//
13//**/
14
15#include "FormGuid.h"
16
17formset
18  guid = BOOT_MAINT_FORMSET_GUID,
19  title = STRING_TOKEN(STR_FORM_MAIN_TITLE),
20  help = STRING_TOKEN(STR_BOOT_MAINT_MANAGER_HELP),
21  classguid = gEfiIfrFrontPageGuid,
22
23  varstore BMM_FAKE_NV_DATA,
24    varid = VARSTORE_ID_BOOT_MAINT,
25    name = BmmData,
26    guid = BOOT_MAINT_FORMSET_GUID;
27
28  form formid = FORM_MAIN_ID,
29       title = STRING_TOKEN(STR_FORM_MAIN_TITLE);
30
31    goto FORM_BOOT_SETUP_ID,
32         prompt = STRING_TOKEN(STR_FORM_BOOT_SETUP_TITLE),
33         help = STRING_TOKEN(STR_FORM_BOOT_SETUP_HELP),
34         flags = INTERACTIVE,
35         key = FORM_BOOT_SETUP_ID;
36
37    subtitle text = STRING_TOKEN(STR_NULL_STRING);
38
39    goto FORM_DRIVER_SETUP_ID,
40         prompt = STRING_TOKEN(STR_FORM_DRIVER_SETUP_TITLE),
41         help = STRING_TOKEN(STR_FORM_DRIVER_SETUP_HELP),
42         flags = INTERACTIVE,
43         key = FORM_DRIVER_SETUP_ID;
44
45    subtitle text = STRING_TOKEN(STR_NULL_STRING);
46
47    goto FORM_CON_MAIN_ID,
48         prompt = STRING_TOKEN(STR_FORM_CON_MAIN_TITLE),
49         help = STRING_TOKEN(STR_FORM_CON_MAIN_HELP),
50         flags = INTERACTIVE,
51         key = FORM_CON_MAIN_ID;
52
53    subtitle text = STRING_TOKEN(STR_NULL_STRING);
54
55    goto FORM_MAIN_ID,
56         prompt = STRING_TOKEN(STR_BOOT_FROM_FILE),
57         help = STRING_TOKEN(STR_BOOT_FROM_FILE_HELP),
58         flags = INTERACTIVE,
59         key = KEY_VALUE_BOOT_FROM_FILE;
60
61    subtitle text = STRING_TOKEN(STR_NULL_STRING);
62
63//    label FORM_MAIN_ID;
64
65    goto FORM_BOOT_NEXT_ID,
66         prompt = STRING_TOKEN(STR_FORM_BOOT_NEXT_TITLE),
67         help = STRING_TOKEN(STR_FORM_BOOT_NEXT_HELP),
68         flags = INTERACTIVE,
69         key = FORM_BOOT_NEXT_ID;
70
71    goto FORM_TIME_OUT_ID,
72         prompt = STRING_TOKEN(STR_FORM_TIME_OUT_TITLE),
73         help = STRING_TOKEN(STR_FORM_TIME_OUT_HELP),
74         flags = INTERACTIVE,
75         key = FORM_TIME_OUT_ID;
76
77    subtitle text = STRING_TOKEN(STR_NULL_STRING);
78
79    text
80         help   = STRING_TOKEN(STR_RESET),
81         text   = STRING_TOKEN(STR_RESET),
82         flags  = INTERACTIVE,
83         key    = FORM_RESET;
84
85    label LABEL_BMM_PLATFORM_INFORMATION;
86    //
87    // This is where we will dynamically add a Action type op-code to show
88    // the platform information.
89    //
90
91    //
92    // This is where we will dynamically add a Action type op-code to show
93    // the advanced menu.
94    //
95
96    //
97    // This is where we will dynamically add a Action type op-code to show
98    // the intel test menu.
99    //
100    label LABEL_END;
101  endform;
102
103  form formid = FORM_BOOT_SETUP_ID,
104       title = STRING_TOKEN(STR_FORM_BOOT_SETUP_TITLE);
105
106       goto FORM_MAIN_ID,
107            prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
108            help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
109            //flags = INTERACTIVE,
110            //key = FORM_MAIN_ID;
111
112       goto FORM_BOOT_SETUP_ID,
113            prompt = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE),
114            help = STRING_TOKEN(STR_FORM_BOOT_ADD_HELP),
115            flags = INTERACTIVE,
116            key = FORM_BOOT_ADD_ID;
117
118       goto FORM_BOOT_DEL_ID,
119            prompt = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE),
120            help = STRING_TOKEN(STR_FORM_BOOT_IMMEDIATE_HELP),
121            flags = INTERACTIVE,
122            key = FORM_BOOT_DEL_ID;
123
124       goto FORM_BOOT_CHG_ID,
125            prompt = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE),
126            help = STRING_TOKEN(STR_FORM_BOOT_IMMEDIATE_HELP),
127            flags = INTERACTIVE,
128            key = FORM_BOOT_CHG_ID;
129  endform;
130
131  form formid = FORM_DRIVER_SETUP_ID,
132       title = STRING_TOKEN(STR_FORM_DRIVER_SETUP_TITLE);
133
134       goto FORM_MAIN_ID,
135            prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
136            help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
137            //help = STRING_TOKEN(STR_FORM_GOTO_MAIN),
138            //flags = INTERACTIVE,
139            //key = FORM_MAIN_ID;
140
141       goto FORM_DRV_ADD_ID,
142            prompt = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE),
143            help = STRING_TOKEN(STR_FORM_DRV_ADD_HELP),
144            flags = INTERACTIVE,
145            key = FORM_DRV_ADD_ID;
146
147       goto FORM_DRV_DEL_ID,
148            prompt = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE),
149            help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
150            flags = INTERACTIVE,
151            key = FORM_DRV_DEL_ID;
152
153       goto FORM_DRV_CHG_ID,
154            prompt = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE),
155            help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
156            flags = INTERACTIVE,
157            key = FORM_DRV_CHG_ID;
158  endform;
159
160   form formid = FORM_BOOT_ADD_ID,
161       title = STRING_TOKEN(STR_FORM_BOOT_ADD_DESC_TITLE);
162
163       label FORM_BOOT_ADD_ID;
164       label LABEL_END;
165
166       subtitle text = STRING_TOKEN(STR_NULL_STRING);
167
168       string    varid    = BmmData.BootDescriptionData,
169                 questionid = KEY_VALUE_BOOT_DESCRIPTION,
170                 prompt   = STRING_TOKEN(STR_LOAD_OPTION_DESC),
171                 help     = STRING_TOKEN(STR_NULL_STRING),
172                 flags    = INTERACTIVE,
173                 minsize  = 6,
174                 maxsize  = 75,
175       endstring;
176
177       string    varid    = BmmData.BootOptionalData,
178                 questionid = KEY_VALUE_BOOT_OPTION,
179                 prompt   = STRING_TOKEN(STR_OPTIONAL_DATA),
180                 help     = STRING_TOKEN(STR_NULL_STRING),
181                 flags    = INTERACTIVE,
182                 minsize  = 0,
183                 maxsize  = 120,
184       endstring;
185
186       subtitle text = STRING_TOKEN(STR_NULL_STRING);
187
188       text
189         help   = STRING_TOKEN(STR_SAVE_AND_EXIT),
190         text   = STRING_TOKEN(STR_SAVE_AND_EXIT),
191         flags  = INTERACTIVE,
192         key    = KEY_VALUE_SAVE_AND_EXIT_BOOT;
193
194       text
195         help   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
196         text   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
197         flags  = INTERACTIVE,
198         key    = KEY_VALUE_NO_SAVE_AND_EXIT_BOOT;
199
200  endform;
201
202  form formid = FORM_BOOT_DEL_ID,
203       title = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE);
204
205       label FORM_BOOT_DEL_ID;
206       label LABEL_END;
207  endform;
208
209  form formid = FORM_BOOT_CHG_ID,
210       title = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE);
211
212       label FORM_BOOT_CHG_ID;
213       label LABEL_END;
214
215  endform;
216
217  form formid = FORM_BOOT_NEXT_ID,
218       title = STRING_TOKEN(STR_FORM_BOOT_NEXT_TITLE);
219
220       label FORM_BOOT_NEXT_ID;
221       label LABEL_END;
222  endform;
223
224  form formid = FORM_TIME_OUT_ID,
225       title = STRING_TOKEN(STR_FORM_TIME_OUT_TITLE);
226
227       label FORM_TIME_OUT_ID;
228       label LABEL_END;
229  endform;
230
231  form formid = FORM_MEMORY_CHECK_ID,
232       title = STRING_TOKEN(STR_FORM_MEMORY_CHECK_TITLE);
233
234       label FORM_MEMORY_CHECK_ID;
235       label LABEL_END;
236  endform;
237
238  form formid = FORM_UEFI_OPTIMIZED_BOOT_ID,
239       title = STRING_TOKEN(STR_FORM_UEFI_OPTIMIZED_BOOT_TITLE);
240
241       label FORM_UEFI_OPTIMIZED_BOOT_ID;
242       label LABEL_END;
243  endform;
244
245  form formid = FORM_DRV_ADD_ID,
246       title = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE);
247
248       goto FORM_MAIN_ID,
249            prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
250            help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
251            //flags = INTERACTIVE,
252            //key = FORM_MAIN_ID;
253
254       goto FORM_DRIVER_SETUP_ID,
255            prompt = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),
256            help = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),
257            flags = INTERACTIVE,
258            key = FORM_DRV_ADD_FILE_ID;
259
260  endform;
261
262  form formid = FORM_DRV_ADD_FILE_ID,
263       title = STRING_TOKEN(STR_FORM_DRV_ADD_DESC_TITLE);
264
265       label FORM_DRV_ADD_FILE_ID;
266       label LABEL_END;
267
268       subtitle text = STRING_TOKEN(STR_NULL_STRING);
269
270       string    varid    = BmmData.DriverDescriptionData,
271                 questionid = KEY_VALUE_DRIVER_DESCRIPTION,
272                 prompt   = STRING_TOKEN(STR_LOAD_OPTION_DESC),
273                 help     = STRING_TOKEN(STR_NULL_STRING),
274                 flags    = INTERACTIVE,
275                 minsize  = 6,
276                 maxsize  = 75,
277       endstring;
278
279       string    varid    = BmmData.DriverOptionalData,
280                 questionid = KEY_VALUE_DRIVER_OPTION,
281                 prompt   = STRING_TOKEN(STR_OPTIONAL_DATA),
282                 help     = STRING_TOKEN(STR_NULL_STRING),
283                 flags    = INTERACTIVE,
284                 minsize  = 0,
285                 maxsize  = 120,
286       endstring;
287
288       checkbox varid    = BmmData.ForceReconnect,
289               prompt   = STRING_TOKEN(STR_LOAD_OPTION_FORCE_RECON),
290               help     = STRING_TOKEN(STR_LOAD_OPTION_FORCE_RECON),
291               flags    = CHECKBOX_DEFAULT,
292               key      = 0,
293       endcheckbox;
294
295       subtitle text = STRING_TOKEN(STR_NULL_STRING);
296
297       text
298         help   = STRING_TOKEN(STR_SAVE_AND_EXIT),
299         text   = STRING_TOKEN(STR_SAVE_AND_EXIT),
300         flags  = INTERACTIVE,
301         key    = KEY_VALUE_SAVE_AND_EXIT_DRIVER;  //BUGBUB: allow duplicate key in one formset???
302
303       text
304         help   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
305         text   = STRING_TOKEN(STR_NO_SAVE_AND_EXIT),
306         flags  = INTERACTIVE,
307         key    = KEY_VALUE_NO_SAVE_AND_EXIT_DRIVER;
308  endform;
309
310  form formid = FORM_DRV_DEL_ID,
311       title = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE);
312
313       label FORM_DRV_DEL_ID;
314       label LABEL_END;
315
316  endform;
317
318  form formid = FORM_DRV_CHG_ID,
319       title = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE);
320
321       label FORM_DRV_CHG_ID;
322       label LABEL_END;
323
324  endform;
325
326  form formid = FORM_CON_MAIN_ID,
327       title = STRING_TOKEN(STR_FORM_CON_MAIN_TITLE);
328
329       goto FORM_MAIN_ID,
330       prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
331       help = STRING_TOKEN(STR_FORM_GOTO_MAIN);
332       //flags = INTERACTIVE,
333       //key = FORM_MAIN_ID;
334
335       goto FORM_CON_IN_ID,
336       prompt = STRING_TOKEN(STR_FORM_CON_IN_TITLE),
337       help = STRING_TOKEN(STR_FORM_CON_IN_HELP),
338       flags = INTERACTIVE,
339       key = FORM_CON_IN_ID;
340
341       goto FORM_CON_OUT_ID,
342       prompt = STRING_TOKEN(STR_FORM_CON_OUT_TITLE),
343       help = STRING_TOKEN(STR_FORM_CON_OUT_HELP),
344       flags = INTERACTIVE,
345       key = FORM_CON_OUT_ID;
346
347       goto FORM_CON_ERR_ID,
348       prompt = STRING_TOKEN(STR_FORM_STD_ERR_TITLE),
349       help = STRING_TOKEN(STR_FORM_STD_ERR_HELP),
350       flags = INTERACTIVE,
351       key = FORM_CON_ERR_ID;
352
353       goto FORM_CON_MODE_ID,
354       prompt = STRING_TOKEN(STR_FORM_MODE_TITLE),
355       help = STRING_TOKEN(STR_FORM_MODE_HELP),
356       flags = INTERACTIVE,
357       key = FORM_CON_MODE_ID;
358
359       goto FORM_CON_COM_ID,
360       prompt = STRING_TOKEN(STR_FORM_COM_TITLE),
361       help = STRING_TOKEN(STR_FORM_COM_HELP),
362       flags = INTERACTIVE,
363       key = FORM_CON_COM_ID;
364  endform;
365
366  form formid = FORM_CON_MODE_ID,
367       title = STRING_TOKEN(STR_FORM_MODE_TITLE);
368
369       label FORM_CON_MODE_ID;
370       label LABEL_END;
371  endform;
372
373  form formid = FORM_CON_COM_ID,
374       title = STRING_TOKEN(STR_FORM_COM_TITLE);
375
376       label FORM_CON_COM_ID;
377       label LABEL_END;
378  endform;
379
380  form formid = FORM_CON_COM_SETUP_ID,
381       title = STRING_TOKEN(STR_CON_COM_SETUP);
382
383       label FORM_CON_COM_SETUP_ID;
384       label LABEL_END;
385  endform;
386
387  form formid = FORM_FILE_SEEK_ID,
388       title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);
389
390       label FORM_FILE_SEEK_ID;
391       label LABEL_END;
392  endform;
393
394  form formid = FORM_FILE_NEW_SEEK_ID,
395       title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);
396
397       label FORM_FILE_NEW_SEEK_ID;
398       label LABEL_END;
399  endform;
400
401  form formid = FORM_DRV_ADD_HANDLE_ID,
402       title = STRING_TOKEN(STR_FORM_DRV_ADD_HANDLE_TITLE);
403
404       label FORM_DRV_ADD_HANDLE_ID;
405       label LABEL_END;
406  endform;
407
408  form formid = FORM_DRV_ADD_HANDLE_DESC_ID,
409       title = STRING_TOKEN(STR_FORM_DRV_ADD_DESC_TITLE);
410
411       label FORM_DRV_ADD_HANDLE_DESC_ID;
412       label LABEL_END;
413
414  endform;
415
416  form formid = FORM_CON_IN_ID,
417       title = STRING_TOKEN(STR_FORM_CON_IN_TITLE);
418
419       label FORM_CON_IN_ID;
420       label LABEL_END;
421
422  endform;
423
424  form formid = FORM_CON_OUT_ID,
425       title = STRING_TOKEN(STR_FORM_CON_OUT_TITLE);
426
427       label FORM_CON_OUT_ID;
428       label LABEL_END;
429
430  endform;
431
432  form formid = FORM_CON_ERR_ID,
433       title = STRING_TOKEN(STR_FORM_STD_ERR_TITLE);
434
435       label FORM_CON_ERR_ID;
436       label LABEL_END;
437
438  endform;
439
440endformset;
441