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