mirror of https://github.com/acidanthera/audk.git
DUET BDS clean up.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9988 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
e74f510b46
commit
73bea262b1
|
@ -1174,11 +1174,8 @@ Returns:
|
||||||
EFI_STATUS Status;
|
EFI_STATUS Status;
|
||||||
UINT16 Timeout;
|
UINT16 Timeout;
|
||||||
EFI_EVENT UserInputDurationTime;
|
EFI_EVENT UserInputDurationTime;
|
||||||
LIST_ENTRY *Link;
|
|
||||||
BDS_COMMON_OPTION *BootOption;
|
|
||||||
UINTN Index;
|
UINTN Index;
|
||||||
EFI_INPUT_KEY Key;
|
EFI_INPUT_KEY Key;
|
||||||
EFI_TPL OldTpl;
|
|
||||||
EFI_BOOT_MODE BootMode;
|
EFI_BOOT_MODE BootMode;
|
||||||
|
|
||||||
//
|
//
|
||||||
|
@ -1271,36 +1268,11 @@ Returns:
|
||||||
//
|
//
|
||||||
// To give the User a chance to enter Setup here, if user set TimeOut is 0.
|
// To give the User a chance to enter Setup here, if user set TimeOut is 0.
|
||||||
// BDS should still give user a chance to enter Setup
|
// BDS should still give user a chance to enter Setup
|
||||||
//
|
|
||||||
// Connect first boot option, and then check user input before exit
|
|
||||||
//
|
|
||||||
for (Link = BootOptionList->ForwardLink; Link != BootOptionList;Link = Link->ForwardLink) {
|
|
||||||
BootOption = CR (Link, BDS_COMMON_OPTION, Link, BDS_LOAD_OPTION_SIGNATURE);
|
|
||||||
if (!IS_LOAD_OPTION_TYPE (BootOption->Attribute, LOAD_OPTION_ACTIVE)) {
|
|
||||||
//
|
|
||||||
// skip the header of the link list, becuase it has no boot option
|
|
||||||
//
|
|
||||||
continue;
|
|
||||||
} else {
|
|
||||||
//
|
|
||||||
// Make sure the boot option device path connected, but ignore the BBS device path
|
|
||||||
//
|
|
||||||
if (DevicePathType (BootOption->DevicePath) != BBS_DEVICE_PATH) {
|
|
||||||
BdsLibConnectDevicePath (BootOption->DevicePath);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Check whether the user input after the duration time has expired
|
// Check whether the user input after the duration time has expired
|
||||||
//
|
//
|
||||||
OldTpl = EfiGetCurrentTpl();
|
|
||||||
gBS->RestoreTPL (TPL_APPLICATION);
|
|
||||||
gBS->WaitForEvent (1, &UserInputDurationTime, &Index);
|
gBS->WaitForEvent (1, &UserInputDurationTime, &Index);
|
||||||
gBS->CloseEvent (UserInputDurationTime);
|
gBS->CloseEvent (UserInputDurationTime);
|
||||||
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
|
Status = gST->ConIn->ReadKeyStroke (gST->ConIn, &Key);
|
||||||
gBS->RaiseTPL (OldTpl);
|
|
||||||
|
|
||||||
if (!EFI_ERROR (Status)) {
|
if (!EFI_ERROR (Status)) {
|
||||||
//
|
//
|
||||||
|
|
Loading…
Reference in New Issue