Support RouteConfig function for BdsDxe driver.
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Gao, Liming <liming,gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15563 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -168,9 +168,13 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
|
||||
#define CON_ERR_COM1_VAR_OFFSET VAR_OFFSET (ConsoleErrorCOM1)
|
||||
#define CON_ERR_COM2_VAR_OFFSET VAR_OFFSET (ConsoleErrorCOM2)
|
||||
#define CON_MODE_VAR_OFFSET VAR_OFFSET (ConsoleOutMode)
|
||||
#define CON_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleCheck)
|
||||
#define OPTION_ORDER_VAR_OFFSET VAR_OFFSET (OptionOrder)
|
||||
#define OPTION_DEL_VAR_OFFSET VAR_OFFSET (OptionDel)
|
||||
#define CON_IN_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleInCheck)
|
||||
#define CON_OUT_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleOutCheck)
|
||||
#define CON_ERR_DEVICE_VAR_OFFSET VAR_OFFSET (ConsoleErrCheck)
|
||||
#define BOOT_OPTION_ORDER_VAR_OFFSET VAR_OFFSET (BootOptionOrder)
|
||||
#define DRIVER_OPTION_ORDER_VAR_OFFSET VAR_OFFSET (DriverOptionOrder)
|
||||
#define BOOT_OPTION_DEL_VAR_OFFSET VAR_OFFSET (BootOptionDel)
|
||||
#define DRIVER_OPTION_DEL_VAR_OFFSET VAR_OFFSET (DriverOptionDel)
|
||||
#define DRIVER_ADD_OPTION_VAR_OFFSET VAR_OFFSET (DriverAddHandleOptionalData)
|
||||
#define COM_BAUD_RATE_VAR_OFFSET VAR_OFFSET (COMBaudRate)
|
||||
#define COM_DATA_RATE_VAR_OFFSET VAR_OFFSET (COMDataRate)
|
||||
@@ -206,9 +210,13 @@ typedef enum _FILE_EXPLORER_DISPLAY_CONTEXT {
|
||||
#define CON_ERR_COM1_QUESTION_ID QUESTION_ID (ConsoleErrorCOM1)
|
||||
#define CON_ERR_COM2_QUESTION_ID QUESTION_ID (ConsoleErrorCOM2)
|
||||
#define CON_MODE_QUESTION_ID QUESTION_ID (ConsoleOutMode)
|
||||
#define CON_DEVICE_QUESTION_ID QUESTION_ID (ConsoleCheck)
|
||||
#define OPTION_ORDER_QUESTION_ID QUESTION_ID (OptionOrder)
|
||||
#define OPTION_DEL_QUESTION_ID QUESTION_ID (OptionDel)
|
||||
#define CON_IN_DEVICE_QUESTION_ID QUESTION_ID (ConsoleInCheck)
|
||||
#define CON_OUT_DEVICE_QUESTION_ID QUESTION_ID (ConsoleOutCheck)
|
||||
#define CON_ERR_DEVICE_QUESTION_ID QUESTION_ID (ConsoleErrCheck)
|
||||
#define BOOT_OPTION_ORDER_QUESTION_ID QUESTION_ID (BootOptionOrder)
|
||||
#define DRIVER_OPTION_ORDER_QUESTION_ID QUESTION_ID (DriverOptionOrder)
|
||||
#define BOOT_OPTION_DEL_QUESTION_ID QUESTION_ID (BootOptionDel)
|
||||
#define DRIVER_OPTION_DEL_QUESTION_ID QUESTION_ID (DriverOptionDel)
|
||||
#define DRIVER_ADD_OPTION_QUESTION_ID QUESTION_ID (DriverAddHandleOptionalData)
|
||||
#define COM_BAUD_RATE_QUESTION_ID QUESTION_ID (COMBaudRate)
|
||||
#define COM_DATA_RATE_QUESTION_ID QUESTION_ID (COMDataRate)
|
||||
@@ -939,7 +947,8 @@ Var_UpdateDriverOrder (
|
||||
**/
|
||||
EFI_STATUS
|
||||
Var_UpdateBBSOption (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
IN BMM_CALLBACK_DATA *CallbackData,
|
||||
IN EFI_FORM_ID FormId
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -1247,23 +1256,6 @@ EfiLibStrFromDatahub (
|
||||
IN EFI_DEVICE_PATH_PROTOCOL *DevPath
|
||||
);
|
||||
|
||||
/**
|
||||
Get the index number (#### in Boot####) for the boot option pointed to a BBS legacy device type
|
||||
specified by DeviceType.
|
||||
|
||||
@param DeviceType The legacy device type. It can be floppy, network, harddisk, cdrom,
|
||||
etc.
|
||||
@param OptionIndex Returns the index number (#### in Boot####).
|
||||
@param OptionSize Return the size of the Boot### variable.
|
||||
|
||||
**/
|
||||
VOID *
|
||||
GetLegacyBootOptionVar (
|
||||
IN UINTN DeviceType,
|
||||
OUT UINTN *OptionIndex,
|
||||
OUT UINTN *OptionSize
|
||||
);
|
||||
|
||||
/**
|
||||
Initialize the Boot Maintenance Utitliy.
|
||||
|
||||
@@ -1445,6 +1437,47 @@ FileExplorerCallback (
|
||||
OUT EFI_BROWSER_ACTION_REQUEST *ActionRequest
|
||||
);
|
||||
|
||||
/**
|
||||
This function applies changes in a driver's configuration.
|
||||
Input is a Configuration, which has the routing data for this
|
||||
driver followed by name / value configuration pairs. The driver
|
||||
must apply those pairs to its configurable storage. If the
|
||||
driver's configuration is stored in a linear block of data
|
||||
and the driver's name / value pairs are in <BlockConfig>
|
||||
format, it may use the ConfigToBlock helper function (above) to
|
||||
simplify the job. Currently not implemented.
|
||||
|
||||
@param[in] This Points to the EFI_HII_CONFIG_ACCESS_PROTOCOL.
|
||||
@param[in] Configuration A null-terminated Unicode string in
|
||||
<ConfigString> format.
|
||||
@param[out] Progress A pointer to a string filled in with the
|
||||
offset of the most recent '&' before the
|
||||
first failing name / value pair (or the
|
||||
beginn ing of the string if the failure
|
||||
is in the first name / value pair) or
|
||||
the terminating NULL if all was
|
||||
successful.
|
||||
|
||||
@retval EFI_SUCCESS The results have been distributed or are
|
||||
awaiting distribution.
|
||||
@retval EFI_OUT_OF_RESOURCES Not enough memory to store the
|
||||
parts of the results that must be
|
||||
stored awaiting possible future
|
||||
protocols.
|
||||
@retval EFI_INVALID_PARAMETERS Passing in a NULL for the
|
||||
Results parameter would result
|
||||
in this type of error.
|
||||
@retval EFI_NOT_FOUND Target for the specified routing data
|
||||
was not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
FileExplorerRouteConfig (
|
||||
IN CONST EFI_HII_CONFIG_ACCESS_PROTOCOL *This,
|
||||
IN CONST EFI_STRING Configuration,
|
||||
OUT EFI_STRING *Progress
|
||||
);
|
||||
|
||||
/**
|
||||
Dispatch BMM formset and FileExplorer formset.
|
||||
|
||||
@@ -1478,6 +1511,129 @@ EfiLibGetVariable (
|
||||
IN EFI_GUID *VendorGuid
|
||||
);
|
||||
|
||||
/**
|
||||
Get option number according to Boot#### and BootOrder variable.
|
||||
The value is saved as #### + 1.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
**/
|
||||
VOID
|
||||
GetBootOrder (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
);
|
||||
|
||||
/**
|
||||
Get driver option order from globalc DriverOptionMenu.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
|
||||
**/
|
||||
VOID
|
||||
GetDriverOrder (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
);
|
||||
|
||||
/**
|
||||
Intall BootMaint and FileExplorer HiiPackages.
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
InitBMPackage (
|
||||
VOID
|
||||
);
|
||||
|
||||
/**
|
||||
Remvoe the intalled BootMaint and FileExplorer HiiPackages.
|
||||
|
||||
**/
|
||||
VOID
|
||||
FreeBMPackage (
|
||||
VOID
|
||||
);
|
||||
|
||||
/**
|
||||
According to LegacyDevOrder variable to get legacy FD\HD\CD\NET\BEV
|
||||
devices list .
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
**/
|
||||
VOID
|
||||
GetLegacyDeviceOrder (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Initialize console input device check box to ConsoleInCheck[MAX_MENU_NUMBER]
|
||||
in BMM_FAKE_NV_DATA structure.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
|
||||
**/
|
||||
VOID
|
||||
GetConsoleInCheck (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Initialize console output device check box to ConsoleOutCheck[MAX_MENU_NUMBER]
|
||||
in BMM_FAKE_NV_DATA structure.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
|
||||
**/
|
||||
VOID
|
||||
GetConsoleOutCheck (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Initialize standard error output device check box to ConsoleErrCheck[MAX_MENU_NUMBER]
|
||||
in BMM_FAKE_NV_DATA structure.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
|
||||
**/
|
||||
VOID
|
||||
GetConsoleErrCheck (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Initialize terminal attributes (baudrate, data rate, stop bits, parity and terminal type)
|
||||
to BMM_FAKE_NV_DATA structure.
|
||||
|
||||
@param CallbackData The BMM context data.
|
||||
|
||||
**/
|
||||
VOID
|
||||
GetTerminalAttribute (
|
||||
IN BMM_CALLBACK_DATA *CallbackData
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
Find the first instance of this Protocol
|
||||
in the system and return it's interface.
|
||||
|
||||
|
||||
@param ProtocolGuid Provides the protocol to search for
|
||||
@param Interface On return, a pointer to the first interface
|
||||
that matches ProtocolGuid
|
||||
|
||||
@retval EFI_SUCCESS A protocol instance matching ProtocolGuid was found
|
||||
@retval EFI_NOT_FOUND No protocol instances were found that match ProtocolGuid
|
||||
|
||||
**/
|
||||
EFI_STATUS
|
||||
EfiLibLocateProtocol (
|
||||
IN EFI_GUID *ProtocolGuid,
|
||||
OUT VOID **Interface
|
||||
);
|
||||
|
||||
//
|
||||
// Global variable in this program (defined in data.c)
|
||||
//
|
||||
|
Reference in New Issue
Block a user