]> git.proxmox.com Git - mirror_edk2.git/blame - Nt32Pkg/PlatformBdsDxe/Generic/BootMaint/bm.vfr
Cleanups in PlatformBds.c. BDS will get rewritten, but his makes it easier to look...
[mirror_edk2.git] / Nt32Pkg / PlatformBdsDxe / Generic / BootMaint / bm.vfr
CommitLineData
bc11b829 1// *++\r
2//\r
3// Copyright (c) 2006, Intel Corporation \r
4// All rights reserved. This program and the accompanying materials \r
5// are licensed and made available under the terms and conditions of the BSD License \r
6// which accompanies this distribution. The full text of the license may be found at \r
7// http://opensource.org/licenses/bsd-license.php \r
8// \r
9// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
10// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
11// \r
12// Module Name:\r
13//\r
14// bm.vfr \r
15// \r
16// Abstract:\r
17// \r
18// Boot Maintenance Utility Formset\r
19// \r
20// Revision History: \r
21// \r
22// --*/\r
23\r
bc11b829 24#include "formguid.h"\r
25\r
26#pragma pack(1)\r
27\r
28//\r
29// This is the structure that will be used to store the \r
30// question's current value. Use it at initialize time to \r
31// set default value for each question. When using at run\r
32// time, this map is returned by the callback function,\r
33// so dynamically changing the question's value will be\r
34// possible through this mechanism\r
35//\r
36typedef struct {\r
37\r
38//\r
39// Three questions displayed at the main page\r
40// for Timeout, BootNext Variables respectively\r
41//\r
42 UINT16 BootTimeOut;\r
43 UINT16 BootNext;\r
44\r
45//\r
46// This is the COM1 Attributes value storage\r
47//\r
48 UINT8 COM1BaudRate;\r
49 UINT8 COM1DataRate;\r
50 UINT8 COM1StopBits;\r
51 UINT8 COM1Parity;\r
52 UINT8 COM1TerminalType;\r
53 \r
54//\r
55// This is the COM2 Attributes value storage\r
56//\r
57 UINT8 COM2BaudRate;\r
58 UINT8 COM2DataRate;\r
59 UINT8 COM2StopBits;\r
60 UINT8 COM2Parity;\r
61 UINT8 COM2TerminalType;\r
62\r
63// \r
64// Driver Option Add Handle page storage\r
65//\r
66 UINT16 DriverAddHandleDesc[100];\r
67 UINT16 DriverAddHandleOptionalData[100];\r
68 UINT8 DriverAddActive;\r
69 UINT8 DriverAddForceReconnect;\r
70 \r
71//\r
72// Console Input/Output/Errorout using COM port check storage\r
73//\r
74 UINT8 ConsoleInputCOM1;\r
75 UINT8 ConsoleInputCOM2;\r
76 UINT8 ConsoleOutputCOM1;\r
77 UINT8 ConsoleOutputCOM2;\r
78 UINT8 ConsoleErrorCOM1;\r
79 UINT8 ConsoleErrorCOM2;\r
80\r
81//\r
82// At most 100 input/output/errorout device for console storage\r
83//\r
84 UINT8 ConsoleCheck[100];\r
85\r
86//\r
87// Boot or Driver Option Order storage\r
88//\r
89 UINT8 OptionOrder[100];\r
90 UINT8 DriverOptionToBeDeleted[100];\r
91\r
92//\r
93// Boot Option Delete storage\r
94// \r
95 UINT8 BootOptionDel[100];\r
96 UINT8 DriverOptionDel[100];\r
97 \r
98//\r
99// This is the Terminal Attributes value storage\r
100//\r
101 UINT8 COMBaudRate;\r
102 UINT8 COMDataRate;\r
103 UINT8 COMStopBits;\r
104 UINT8 COMParity;\r
105 UINT8 COMTerminalType;\r
106 \r
107//\r
108// Legacy Device Order Selection Storage\r
109//\r
110 UINT8 LegacyFD[100];\r
111 UINT8 LegacyHD[100];\r
112 UINT8 LegacyCD[100];\r
113 UINT8 LegacyNET[100];\r
114 UINT8 LegacyBEV[100];\r
115} BMM_FAKE_NV_DATA;\r
116#pragma pack()\r
117\r
118\r
119#define FORM_MAIN_ID 0x0001\r
120#define FORM_BOOT_ADD_ID 0x0002\r
121#define FORM_BOOT_DEL_ID 0x0003\r
122#define FORM_BOOT_CHG_ID 0x0004\r
123#define FORM_DRV_ADD_ID 0x0005\r
124#define FORM_DRV_DEL_ID 0x0006\r
125#define FORM_DRV_CHG_ID 0x0007\r
126#define FORM_CON_MAIN_ID 0x0008\r
127#define FORM_CON_IN_ID 0x0009\r
128#define FORM_CON_OUT_ID 0x000A\r
129#define FORM_CON_ERR_ID 0x000B\r
130#define FORM_FILE_SEEK_ID 0x000C\r
131#define FORM_FILE_NEW_SEEK_ID 0x000D\r
132#define FORM_DRV_ADD_FILE_ID 0x000E\r
133#define FORM_DRV_ADD_HANDLE_ID 0x000F\r
134#define FORM_DRV_ADD_HANDLE_DESC_ID 0x0010\r
135#define FORM_BOOT_NEXT_ID 0x0011\r
136#define FORM_TIME_OUT_ID 0x0012\r
137#define FORM_RESET 0x0013\r
138#define FORM_BOOT_SETUP_ID 0x0014\r
139#define FORM_DRIVER_SETUP_ID 0x0015\r
140#define FORM_BOOT_LEGACY_DEVICE_ID 0x0016\r
141#define FORM_CON_COM_ID 0x0017\r
142#define FORM_CON_COM_SETUP_ID 0x0018\r
143#define FORM_SET_FD_ORDER_ID 0x0019\r
144#define FORM_SET_HD_ORDER_ID 0x001A\r
145#define FORM_SET_CD_ORDER_ID 0x001B\r
146#define FORM_SET_NET_ORDER_ID 0x001C\r
147#define FORM_SET_BEV_ORDER_ID 0x001D\r
148 \r
149#define KEY_VALUE_BOOT_FROM_FILE 0x0092\r
150\r
151formset \r
152 guid = MAIN_FORMSET_GUID,\r
153 title = STRING_TOKEN(STR_FORM_MAIN_TITLE), // uint8 opcode, uint8 length, guid Handle, uint16 Title\r
154 help = STRING_TOKEN(STR_NULL_STRING),\r
155 class = 0, \r
156 subclass = 0,\r
157\r
158 form formid = FORM_MAIN_ID,\r
159 title = STRING_TOKEN(STR_FORM_MAIN_TITLE);\r
160\r
161 goto FORM_BOOT_SETUP_ID,\r
162 prompt = STRING_TOKEN(STR_FORM_BOOT_SETUP_TITLE),\r
163 help = STRING_TOKEN(STR_FORM_BOOT_SETUP_HELP),\r
164 flags = INTERACTIVE | NV_ACCESS,\r
165 key = FORM_BOOT_SETUP_ID;\r
166\r
167 subtitle text = STRING_TOKEN(STR_NULL_STRING);\r
168\r
169 goto FORM_DRIVER_SETUP_ID,\r
170 prompt = STRING_TOKEN(STR_FORM_DRIVER_SETUP_TITLE),\r
171 help = STRING_TOKEN(STR_FORM_DRIVER_SETUP_HELP),\r
172 flags = INTERACTIVE | NV_ACCESS,\r
173 key = FORM_DRIVER_SETUP_ID;\r
174\r
175 subtitle text = STRING_TOKEN(STR_NULL_STRING);\r
176\r
177 goto FORM_CON_MAIN_ID,\r
178 prompt = STRING_TOKEN(STR_FORM_CON_MAIN_TITLE),\r
179 help = STRING_TOKEN(STR_FORM_CON_MAIN_HELP),\r
180 flags = INTERACTIVE | NV_ACCESS,\r
181 key = FORM_CON_MAIN_ID;\r
182 \r
183 subtitle text = STRING_TOKEN(STR_NULL_STRING);\r
184\r
185 text \r
186 help = STRING_TOKEN(STR_BOOT_FROM_FILE_HELP), \r
187 text = STRING_TOKEN(STR_BOOT_FROM_FILE),\r
188 text = STRING_TOKEN(STR_NULL_STRING),\r
189 flags = INTERACTIVE | NV_ACCESS,\r
190 key = KEY_VALUE_BOOT_FROM_FILE;\r
191\r
192 subtitle text = STRING_TOKEN(STR_NULL_STRING);\r
193\r
194// label FORM_MAIN_ID;\r
195\r
196 goto FORM_BOOT_NEXT_ID,\r
197 prompt = STRING_TOKEN(STR_FORM_BOOT_NEXT_TITLE),\r
198 help = STRING_TOKEN(STR_FORM_BOOT_NEXT_HELP),\r
199 flags = INTERACTIVE | NV_ACCESS,\r
200 key = FORM_BOOT_NEXT_ID; \r
201\r
202 goto FORM_TIME_OUT_ID,\r
203 prompt = STRING_TOKEN(STR_FORM_TIME_OUT_TITLE),\r
204 help = STRING_TOKEN(STR_FORM_TIME_OUT_HELP),\r
205 flags = INTERACTIVE | NV_ACCESS,\r
206 key = FORM_TIME_OUT_ID;\r
207 \r
208 subtitle text = STRING_TOKEN(STR_NULL_STRING);\r
209\r
210 goto FORM_MAIN_ID,\r
211 prompt = STRING_TOKEN(STR_RESET),\r
212 help = STRING_TOKEN(STR_RESET),\r
213 flags = INTERACTIVE | NV_ACCESS,\r
214 key = FORM_RESET;\r
215 \r
216 endform; \r
217\r
218 form formid = FORM_BOOT_SETUP_ID,\r
219 title = STRING_TOKEN(STR_FORM_BOOT_SETUP_TITLE);\r
220\r
221 goto FORM_MAIN_ID,\r
222 prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
223 help = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
224 flags = INTERACTIVE | NV_ACCESS,\r
225 key = FORM_MAIN_ID;\r
226\r
227 goto FORM_BOOT_ADD_ID,\r
228 prompt = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE),\r
229 help = STRING_TOKEN(STR_FORM_BOOT_ADD_HELP),\r
230 flags = INTERACTIVE | NV_ACCESS,\r
231 key = FORM_BOOT_ADD_ID;\r
232 \r
233 goto FORM_BOOT_DEL_ID,\r
234 prompt = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE),\r
235 help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),\r
236 flags = INTERACTIVE | NV_ACCESS,\r
237 key = FORM_BOOT_DEL_ID;\r
238 \r
239 goto FORM_BOOT_CHG_ID,\r
240 prompt = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE),\r
241 help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),\r
242 flags = INTERACTIVE | NV_ACCESS,\r
243 key = FORM_BOOT_CHG_ID;\r
244\r
245 subtitle text = STRING_TOKEN(STR_NULL_STRING);\r
246 //\r
247 // We will add "Select Legacy Boot Floppy Drive" and "Select Legacy Boot Hard Drive" \r
248 // here dynamically\r
249 //\r
250 label FORM_BOOT_LEGACY_DEVICE_ID;\r
251\r
252 endform; \r
253\r
254 form formid = FORM_DRIVER_SETUP_ID,\r
255 title = STRING_TOKEN(STR_FORM_DRIVER_SETUP_TITLE);\r
256\r
257 goto FORM_MAIN_ID,\r
258 prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
259 help = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
260 flags = INTERACTIVE | NV_ACCESS,\r
261 key = FORM_MAIN_ID;\r
262\r
263 goto FORM_DRV_ADD_ID,\r
264 prompt = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE),\r
265 help = STRING_TOKEN(STR_FORM_DRV_ADD_HELP),\r
266 flags = INTERACTIVE | NV_ACCESS,\r
267 key = FORM_DRV_ADD_ID;\r
268 \r
269 goto FORM_DRV_DEL_ID,\r
270 prompt = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE),\r
271 help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),\r
272 flags = INTERACTIVE | NV_ACCESS,\r
273 key = FORM_DRV_DEL_ID;\r
274 \r
275 goto FORM_DRV_CHG_ID,\r
276 prompt = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE),\r
277 help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),\r
278 flags = INTERACTIVE | NV_ACCESS,\r
279 key = FORM_DRV_CHG_ID;\r
280 endform; \r
281\r
282 form formid = FORM_BOOT_ADD_ID,\r
283 title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);\r
284\r
285 label FORM_BOOT_ADD_ID;\r
286 endform;\r
287\r
288 form formid = FORM_BOOT_DEL_ID,\r
289 title = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE);\r
290\r
291 label FORM_BOOT_DEL_ID;\r
292 endform;\r
293\r
294 form formid = FORM_BOOT_CHG_ID,\r
295 title = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE);\r
296\r
297 label FORM_BOOT_CHG_ID;\r
298 \r
299 //\r
300 // This tag is added for bypassing issue of setup browser\r
301 // setup browser could not support dynamic form very well.\r
302 //\r
303 checkbox varid = BMM_FAKE_NV_DATA.OptionOrder[0],\r
304 prompt = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE),\r
305 help = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE), \r
306 flags = 1,\r
307 key = 0,\r
308 endcheckbox;\r
309 \r
310 endform;\r
311\r
312 form formid = FORM_BOOT_NEXT_ID,\r
313 title = STRING_TOKEN(STR_FORM_BOOT_NEXT_TITLE);\r
314\r
315 label FORM_BOOT_NEXT_ID;\r
316 endform;\r
317 \r
318 form formid = FORM_TIME_OUT_ID,\r
319 title = STRING_TOKEN(STR_FORM_TIME_OUT_TITLE);\r
320 \r
321 label FORM_TIME_OUT_ID;\r
322 endform;\r
323 \r
324 form formid = FORM_DRV_ADD_ID,\r
325 title = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE);\r
326\r
327 goto FORM_MAIN_ID,\r
328 prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
329 help = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
330 flags = INTERACTIVE | NV_ACCESS,\r
331 key = FORM_MAIN_ID;\r
332 \r
333 goto FORM_DRV_ADD_FILE_ID,\r
334 prompt = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),\r
335 help = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),\r
336 flags = INTERACTIVE | NV_ACCESS,\r
337 key = FORM_DRV_ADD_FILE_ID;\r
338\r
339 endform;\r
340\r
341 form formid = FORM_DRV_DEL_ID,\r
342 title = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE);\r
343\r
344 label FORM_DRV_DEL_ID;\r
345\r
346 endform;\r
347\r
348 form formid = FORM_DRV_CHG_ID,\r
349 title = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE);\r
350\r
351 label FORM_DRV_CHG_ID;\r
352 \r
353 //\r
354 // This tag is added for bypassing issue of setup browser\r
355 // setup browser could not support dynamic form very well.\r
356 //\r
357 checkbox varid = BMM_FAKE_NV_DATA.OptionOrder[0],\r
358 prompt = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE),\r
359 help = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE), \r
360 flags = 1,\r
361 key = 0,\r
362 endcheckbox;\r
363 \r
364 endform;\r
365\r
366 form formid = FORM_CON_MAIN_ID,\r
367 title = STRING_TOKEN(STR_FORM_CON_MAIN_TITLE);\r
368\r
369 goto FORM_MAIN_ID,\r
370 prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
371 help = STRING_TOKEN(STR_FORM_GOTO_MAIN),\r
372 flags = INTERACTIVE | NV_ACCESS,\r
373 key = FORM_MAIN_ID;\r
374\r
375 goto FORM_CON_IN_ID,\r
376 prompt = STRING_TOKEN(STR_FORM_CON_IN_TITLE),\r
377 help = STRING_TOKEN(STR_FORM_CON_IN_HELP),\r
378 flags = INTERACTIVE | NV_ACCESS,\r
379 key = FORM_CON_IN_ID;\r
380\r
381 goto FORM_CON_OUT_ID,\r
382 prompt = STRING_TOKEN(STR_FORM_CON_OUT_TITLE),\r
383 help = STRING_TOKEN(STR_FORM_CON_OUT_HELP),\r
384 flags = INTERACTIVE | NV_ACCESS,\r
385 key = FORM_CON_OUT_ID;\r
386 \r
387 goto FORM_CON_ERR_ID,\r
388 prompt = STRING_TOKEN(STR_FORM_STD_ERR_TITLE),\r
389 help = STRING_TOKEN(STR_FORM_STD_ERR_HELP),\r
390 flags = INTERACTIVE | NV_ACCESS,\r
391 key = FORM_CON_ERR_ID;\r
392\r
393 goto FORM_CON_COM_ID,\r
394 prompt = STRING_TOKEN(STR_FORM_COM_TITLE),\r
395 help = STRING_TOKEN(STR_FORM_COM_HELP),\r
396 flags = INTERACTIVE | NV_ACCESS,\r
397 key = FORM_CON_COM_ID;\r
398 endform;\r
399\r
400 form formid = FORM_CON_COM_ID,\r
401 title = STRING_TOKEN(STR_FORM_COM_TITLE);\r
402\r
403 label FORM_CON_COM_ID;\r
404 endform;\r
405\r
406 form formid = FORM_CON_COM_SETUP_ID,\r
407 title = STRING_TOKEN(STR_CON_COM_SETUP);\r
408\r
409 label FORM_CON_COM_SETUP_ID;\r
410 endform;\r
411\r
412 form formid = FORM_FILE_SEEK_ID,\r
413 title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);\r
414\r
415 label FORM_FILE_SEEK_ID;\r
416 endform;\r
417\r
418 form formid = FORM_FILE_NEW_SEEK_ID,\r
419 title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);\r
420\r
421 label FORM_FILE_NEW_SEEK_ID;\r
422 endform;\r
423\r
424 form formid = FORM_DRV_ADD_FILE_ID,\r
425 title = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE);\r
426\r
427 label FORM_DRV_ADD_FILE_ID;\r
428 endform;\r
429\r
430 form formid = FORM_DRV_ADD_HANDLE_ID,\r
431 title = STRING_TOKEN(STR_FORM_DRV_ADD_HANDLE_TITLE);\r
432\r
433 label FORM_DRV_ADD_HANDLE_ID;\r
434 endform; \r
435\r
436 form formid = FORM_DRV_ADD_HANDLE_DESC_ID,\r
437 title = STRING_TOKEN(STR_FORM_DRV_ADD_DESC_TITLE);\r
438\r
439 label FORM_DRV_ADD_HANDLE_DESC_ID;\r
440\r
441 endform;\r
442\r
443 form formid = FORM_CON_IN_ID,\r
444 title = STRING_TOKEN(STR_FORM_CON_IN_TITLE);\r
445\r
446 label FORM_CON_IN_ID;\r
447\r
448 endform;\r
449\r
450 form formid = FORM_CON_OUT_ID,\r
451 title = STRING_TOKEN(STR_FORM_CON_OUT_TITLE);\r
452\r
453 label FORM_CON_OUT_ID;\r
454\r
455 endform;\r
456\r
457 form formid = FORM_CON_ERR_ID,\r
458 title = STRING_TOKEN(STR_FORM_STD_ERR_TITLE);\r
459\r
460 label FORM_CON_ERR_ID;\r
461\r
462 endform;\r
463\r
464 form formid = FORM_SET_FD_ORDER_ID,\r
465 title = STRING_TOKEN(STR_FORM_SET_FD_ORDER_TITLE);\r
466\r
467 label FORM_SET_FD_ORDER_ID;\r
468 endform;\r
469 \r
470 form formid = FORM_SET_HD_ORDER_ID,\r
471 title = STRING_TOKEN(STR_FORM_SET_HD_ORDER_TITLE);\r
472\r
473 label FORM_SET_HD_ORDER_ID;\r
474 endform;\r
475\r
476 form formid = FORM_SET_CD_ORDER_ID,\r
477 title = STRING_TOKEN(STR_FORM_SET_CD_ORDER_TITLE);\r
478\r
479 label FORM_SET_CD_ORDER_ID;\r
480 endform;\r
481\r
482 form formid = FORM_SET_NET_ORDER_ID,\r
483 title = STRING_TOKEN(STR_FORM_SET_NET_ORDER_TITLE);\r
484\r
485 label FORM_SET_NET_ORDER_ID;\r
486 endform;\r
487\r
488 form formid = FORM_SET_BEV_ORDER_ID,\r
489 title = STRING_TOKEN(STR_FORM_SET_BEV_ORDER_TITLE);\r
490\r
491 label FORM_SET_BEV_ORDER_ID;\r
492 endform;\r
493\r
494endformset;\r