mirror of https://github.com/acidanthera/audk.git
495 lines
15 KiB
Plaintext
495 lines
15 KiB
Plaintext
// *++
|
|
//
|
|
// Copyright (c) 2006, Intel Corporation
|
|
// All rights reserved. This program and the accompanying materials
|
|
// are licensed and made available under the terms and conditions of the BSD License
|
|
// which accompanies this distribution. The full text of the license may be found at
|
|
// http://opensource.org/licenses/bsd-license.php
|
|
//
|
|
// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
//
|
|
// Module Name:
|
|
//
|
|
// bm.vfr
|
|
//
|
|
// Abstract:
|
|
//
|
|
// Boot Maintenance Utility Formset
|
|
//
|
|
// Revision History:
|
|
//
|
|
// --*/
|
|
|
|
#include "formguid.h"
|
|
|
|
#pragma pack(1)
|
|
|
|
//
|
|
// This is the structure that will be used to store the
|
|
// question's current value. Use it at initialize time to
|
|
// set default value for each question. When using at run
|
|
// time, this map is returned by the callback function,
|
|
// so dynamically changing the question's value will be
|
|
// possible through this mechanism
|
|
//
|
|
typedef struct {
|
|
|
|
//
|
|
// Three questions displayed at the main page
|
|
// for Timeout, BootNext Variables respectively
|
|
//
|
|
UINT16 BootTimeOut;
|
|
UINT16 BootNext;
|
|
|
|
//
|
|
// This is the COM1 Attributes value storage
|
|
//
|
|
UINT8 COM1BaudRate;
|
|
UINT8 COM1DataRate;
|
|
UINT8 COM1StopBits;
|
|
UINT8 COM1Parity;
|
|
UINT8 COM1TerminalType;
|
|
|
|
//
|
|
// This is the COM2 Attributes value storage
|
|
//
|
|
UINT8 COM2BaudRate;
|
|
UINT8 COM2DataRate;
|
|
UINT8 COM2StopBits;
|
|
UINT8 COM2Parity;
|
|
UINT8 COM2TerminalType;
|
|
|
|
//
|
|
// Driver Option Add Handle page storage
|
|
//
|
|
UINT16 DriverAddHandleDesc[100];
|
|
UINT16 DriverAddHandleOptionalData[100];
|
|
UINT8 DriverAddActive;
|
|
UINT8 DriverAddForceReconnect;
|
|
|
|
//
|
|
// Console Input/Output/Errorout using COM port check storage
|
|
//
|
|
UINT8 ConsoleInputCOM1;
|
|
UINT8 ConsoleInputCOM2;
|
|
UINT8 ConsoleOutputCOM1;
|
|
UINT8 ConsoleOutputCOM2;
|
|
UINT8 ConsoleErrorCOM1;
|
|
UINT8 ConsoleErrorCOM2;
|
|
|
|
//
|
|
// At most 100 input/output/errorout device for console storage
|
|
//
|
|
UINT8 ConsoleCheck[100];
|
|
|
|
//
|
|
// Boot or Driver Option Order storage
|
|
//
|
|
UINT8 OptionOrder[100];
|
|
UINT8 DriverOptionToBeDeleted[100];
|
|
|
|
//
|
|
// Boot Option Delete storage
|
|
//
|
|
UINT8 BootOptionDel[100];
|
|
UINT8 DriverOptionDel[100];
|
|
|
|
//
|
|
// This is the Terminal Attributes value storage
|
|
//
|
|
UINT8 COMBaudRate;
|
|
UINT8 COMDataRate;
|
|
UINT8 COMStopBits;
|
|
UINT8 COMParity;
|
|
UINT8 COMTerminalType;
|
|
|
|
//
|
|
// Legacy Device Order Selection Storage
|
|
//
|
|
UINT8 LegacyFD[100];
|
|
UINT8 LegacyHD[100];
|
|
UINT8 LegacyCD[100];
|
|
UINT8 LegacyNET[100];
|
|
UINT8 LegacyBEV[100];
|
|
} BMM_FAKE_NV_DATA;
|
|
#pragma pack()
|
|
|
|
|
|
#define FORM_MAIN_ID 0x0001
|
|
#define FORM_BOOT_ADD_ID 0x0002
|
|
#define FORM_BOOT_DEL_ID 0x0003
|
|
#define FORM_BOOT_CHG_ID 0x0004
|
|
#define FORM_DRV_ADD_ID 0x0005
|
|
#define FORM_DRV_DEL_ID 0x0006
|
|
#define FORM_DRV_CHG_ID 0x0007
|
|
#define FORM_CON_MAIN_ID 0x0008
|
|
#define FORM_CON_IN_ID 0x0009
|
|
#define FORM_CON_OUT_ID 0x000A
|
|
#define FORM_CON_ERR_ID 0x000B
|
|
#define FORM_FILE_SEEK_ID 0x000C
|
|
#define FORM_FILE_NEW_SEEK_ID 0x000D
|
|
#define FORM_DRV_ADD_FILE_ID 0x000E
|
|
#define FORM_DRV_ADD_HANDLE_ID 0x000F
|
|
#define FORM_DRV_ADD_HANDLE_DESC_ID 0x0010
|
|
#define FORM_BOOT_NEXT_ID 0x0011
|
|
#define FORM_TIME_OUT_ID 0x0012
|
|
#define FORM_RESET 0x0013
|
|
#define FORM_BOOT_SETUP_ID 0x0014
|
|
#define FORM_DRIVER_SETUP_ID 0x0015
|
|
#define FORM_BOOT_LEGACY_DEVICE_ID 0x0016
|
|
#define FORM_CON_COM_ID 0x0017
|
|
#define FORM_CON_COM_SETUP_ID 0x0018
|
|
#define FORM_SET_FD_ORDER_ID 0x0019
|
|
#define FORM_SET_HD_ORDER_ID 0x001A
|
|
#define FORM_SET_CD_ORDER_ID 0x001B
|
|
#define FORM_SET_NET_ORDER_ID 0x001C
|
|
#define FORM_SET_BEV_ORDER_ID 0x001D
|
|
|
|
#define KEY_VALUE_BOOT_FROM_FILE 0x0092
|
|
|
|
formset
|
|
guid = MAIN_FORMSET_GUID,
|
|
title = STRING_TOKEN(STR_FORM_MAIN_TITLE), // uint8 opcode, uint8 length, guid Handle, uint16 Title
|
|
help = STRING_TOKEN(STR_NULL_STRING),
|
|
class = 0,
|
|
subclass = 0,
|
|
|
|
form formid = FORM_MAIN_ID,
|
|
title = STRING_TOKEN(STR_FORM_MAIN_TITLE);
|
|
|
|
goto FORM_BOOT_SETUP_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_BOOT_SETUP_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_BOOT_SETUP_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_BOOT_SETUP_ID;
|
|
|
|
subtitle text = STRING_TOKEN(STR_NULL_STRING);
|
|
|
|
goto FORM_DRIVER_SETUP_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_DRIVER_SETUP_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_DRIVER_SETUP_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_DRIVER_SETUP_ID;
|
|
|
|
subtitle text = STRING_TOKEN(STR_NULL_STRING);
|
|
|
|
goto FORM_CON_MAIN_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_CON_MAIN_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_CON_MAIN_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_CON_MAIN_ID;
|
|
|
|
subtitle text = STRING_TOKEN(STR_NULL_STRING);
|
|
|
|
text
|
|
help = STRING_TOKEN(STR_BOOT_FROM_FILE_HELP),
|
|
text = STRING_TOKEN(STR_BOOT_FROM_FILE),
|
|
text = STRING_TOKEN(STR_NULL_STRING),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = KEY_VALUE_BOOT_FROM_FILE;
|
|
|
|
subtitle text = STRING_TOKEN(STR_NULL_STRING);
|
|
|
|
// label FORM_MAIN_ID;
|
|
|
|
goto FORM_BOOT_NEXT_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_BOOT_NEXT_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_BOOT_NEXT_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_BOOT_NEXT_ID;
|
|
|
|
goto FORM_TIME_OUT_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_TIME_OUT_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_TIME_OUT_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_TIME_OUT_ID;
|
|
|
|
subtitle text = STRING_TOKEN(STR_NULL_STRING);
|
|
|
|
goto FORM_MAIN_ID,
|
|
prompt = STRING_TOKEN(STR_RESET),
|
|
help = STRING_TOKEN(STR_RESET),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_RESET;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_BOOT_SETUP_ID,
|
|
title = STRING_TOKEN(STR_FORM_BOOT_SETUP_TITLE);
|
|
|
|
goto FORM_MAIN_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
help = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_MAIN_ID;
|
|
|
|
goto FORM_BOOT_ADD_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_BOOT_ADD_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_BOOT_ADD_ID;
|
|
|
|
goto FORM_BOOT_DEL_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_BOOT_DEL_ID;
|
|
|
|
goto FORM_BOOT_CHG_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_BOOT_CHG_ID;
|
|
|
|
subtitle text = STRING_TOKEN(STR_NULL_STRING);
|
|
//
|
|
// We will add "Select Legacy Boot Floppy Drive" and "Select Legacy Boot Hard Drive"
|
|
// here dynamically
|
|
//
|
|
label FORM_BOOT_LEGACY_DEVICE_ID;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_DRIVER_SETUP_ID,
|
|
title = STRING_TOKEN(STR_FORM_DRIVER_SETUP_TITLE);
|
|
|
|
goto FORM_MAIN_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
help = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_MAIN_ID;
|
|
|
|
goto FORM_DRV_ADD_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_DRV_ADD_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_DRV_ADD_ID;
|
|
|
|
goto FORM_DRV_DEL_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_DRV_DEL_ID;
|
|
|
|
goto FORM_DRV_CHG_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_NEXT_BOOT_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_DRV_CHG_ID;
|
|
endform;
|
|
|
|
form formid = FORM_BOOT_ADD_ID,
|
|
title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);
|
|
|
|
label FORM_BOOT_ADD_ID;
|
|
endform;
|
|
|
|
form formid = FORM_BOOT_DEL_ID,
|
|
title = STRING_TOKEN(STR_FORM_BOOT_DEL_TITLE);
|
|
|
|
label FORM_BOOT_DEL_ID;
|
|
endform;
|
|
|
|
form formid = FORM_BOOT_CHG_ID,
|
|
title = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE);
|
|
|
|
label FORM_BOOT_CHG_ID;
|
|
|
|
//
|
|
// This tag is added for bypassing issue of setup browser
|
|
// setup browser could not support dynamic form very well.
|
|
//
|
|
checkbox varid = BMM_FAKE_NV_DATA.OptionOrder[0],
|
|
prompt = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_BOOT_CHG_TITLE),
|
|
flags = 1,
|
|
key = 0,
|
|
endcheckbox;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_BOOT_NEXT_ID,
|
|
title = STRING_TOKEN(STR_FORM_BOOT_NEXT_TITLE);
|
|
|
|
label FORM_BOOT_NEXT_ID;
|
|
endform;
|
|
|
|
form formid = FORM_TIME_OUT_ID,
|
|
title = STRING_TOKEN(STR_FORM_TIME_OUT_TITLE);
|
|
|
|
label FORM_TIME_OUT_ID;
|
|
endform;
|
|
|
|
form formid = FORM_DRV_ADD_ID,
|
|
title = STRING_TOKEN(STR_FORM_DRV_ADD_TITLE);
|
|
|
|
goto FORM_MAIN_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
help = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_MAIN_ID;
|
|
|
|
goto FORM_DRV_ADD_FILE_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_DRV_ADD_FILE_ID;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_DRV_DEL_ID,
|
|
title = STRING_TOKEN(STR_FORM_DRV_DEL_TITLE);
|
|
|
|
label FORM_DRV_DEL_ID;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_DRV_CHG_ID,
|
|
title = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE);
|
|
|
|
label FORM_DRV_CHG_ID;
|
|
|
|
//
|
|
// This tag is added for bypassing issue of setup browser
|
|
// setup browser could not support dynamic form very well.
|
|
//
|
|
checkbox varid = BMM_FAKE_NV_DATA.OptionOrder[0],
|
|
prompt = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_DRV_CHG_TITLE),
|
|
flags = 1,
|
|
key = 0,
|
|
endcheckbox;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_CON_MAIN_ID,
|
|
title = STRING_TOKEN(STR_FORM_CON_MAIN_TITLE);
|
|
|
|
goto FORM_MAIN_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
help = STRING_TOKEN(STR_FORM_GOTO_MAIN),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_MAIN_ID;
|
|
|
|
goto FORM_CON_IN_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_CON_IN_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_CON_IN_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_CON_IN_ID;
|
|
|
|
goto FORM_CON_OUT_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_CON_OUT_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_CON_OUT_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_CON_OUT_ID;
|
|
|
|
goto FORM_CON_ERR_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_STD_ERR_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_STD_ERR_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_CON_ERR_ID;
|
|
|
|
goto FORM_CON_COM_ID,
|
|
prompt = STRING_TOKEN(STR_FORM_COM_TITLE),
|
|
help = STRING_TOKEN(STR_FORM_COM_HELP),
|
|
flags = INTERACTIVE | NV_ACCESS,
|
|
key = FORM_CON_COM_ID;
|
|
endform;
|
|
|
|
form formid = FORM_CON_COM_ID,
|
|
title = STRING_TOKEN(STR_FORM_COM_TITLE);
|
|
|
|
label FORM_CON_COM_ID;
|
|
endform;
|
|
|
|
form formid = FORM_CON_COM_SETUP_ID,
|
|
title = STRING_TOKEN(STR_CON_COM_SETUP);
|
|
|
|
label FORM_CON_COM_SETUP_ID;
|
|
endform;
|
|
|
|
form formid = FORM_FILE_SEEK_ID,
|
|
title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);
|
|
|
|
label FORM_FILE_SEEK_ID;
|
|
endform;
|
|
|
|
form formid = FORM_FILE_NEW_SEEK_ID,
|
|
title = STRING_TOKEN(STR_FORM_BOOT_ADD_TITLE);
|
|
|
|
label FORM_FILE_NEW_SEEK_ID;
|
|
endform;
|
|
|
|
form formid = FORM_DRV_ADD_FILE_ID,
|
|
title = STRING_TOKEN(STR_FORM_DRV_ADD_FILE_TITLE);
|
|
|
|
label FORM_DRV_ADD_FILE_ID;
|
|
endform;
|
|
|
|
form formid = FORM_DRV_ADD_HANDLE_ID,
|
|
title = STRING_TOKEN(STR_FORM_DRV_ADD_HANDLE_TITLE);
|
|
|
|
label FORM_DRV_ADD_HANDLE_ID;
|
|
endform;
|
|
|
|
form formid = FORM_DRV_ADD_HANDLE_DESC_ID,
|
|
title = STRING_TOKEN(STR_FORM_DRV_ADD_DESC_TITLE);
|
|
|
|
label FORM_DRV_ADD_HANDLE_DESC_ID;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_CON_IN_ID,
|
|
title = STRING_TOKEN(STR_FORM_CON_IN_TITLE);
|
|
|
|
label FORM_CON_IN_ID;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_CON_OUT_ID,
|
|
title = STRING_TOKEN(STR_FORM_CON_OUT_TITLE);
|
|
|
|
label FORM_CON_OUT_ID;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_CON_ERR_ID,
|
|
title = STRING_TOKEN(STR_FORM_STD_ERR_TITLE);
|
|
|
|
label FORM_CON_ERR_ID;
|
|
|
|
endform;
|
|
|
|
form formid = FORM_SET_FD_ORDER_ID,
|
|
title = STRING_TOKEN(STR_FORM_SET_FD_ORDER_TITLE);
|
|
|
|
label FORM_SET_FD_ORDER_ID;
|
|
endform;
|
|
|
|
form formid = FORM_SET_HD_ORDER_ID,
|
|
title = STRING_TOKEN(STR_FORM_SET_HD_ORDER_TITLE);
|
|
|
|
label FORM_SET_HD_ORDER_ID;
|
|
endform;
|
|
|
|
form formid = FORM_SET_CD_ORDER_ID,
|
|
title = STRING_TOKEN(STR_FORM_SET_CD_ORDER_TITLE);
|
|
|
|
label FORM_SET_CD_ORDER_ID;
|
|
endform;
|
|
|
|
form formid = FORM_SET_NET_ORDER_ID,
|
|
title = STRING_TOKEN(STR_FORM_SET_NET_ORDER_TITLE);
|
|
|
|
label FORM_SET_NET_ORDER_ID;
|
|
endform;
|
|
|
|
form formid = FORM_SET_BEV_ORDER_ID,
|
|
title = STRING_TOKEN(STR_FORM_SET_BEV_ORDER_TITLE);
|
|
|
|
label FORM_SET_BEV_ORDER_ID;
|
|
endform;
|
|
|
|
endformset;
|