mirror of https://github.com/acidanthera/audk.git
MdeModulePkg: Add BootManagerMenuApp.
BootManagerMenuApp only provides a very simple UI showing all the boot options recorded by "BootOrder" and user can select any of them to boot. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17329 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
f4cd24da28
commit
a382952f82
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,60 @@
|
|||
/** @file
|
||||
FrontPage routines to handle the callbacks and browser calls
|
||||
|
||||
Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
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.
|
||||
|
||||
**/
|
||||
|
||||
|
||||
#ifndef _BOOT_MANAGER_MENU_H_
|
||||
#define _BOOT_MANAGER_MENU_H_
|
||||
|
||||
#include <Uefi.h>
|
||||
#include <Guid/MdeModuleHii.h>
|
||||
#include <Library/UefiBootManagerLib.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/UefiLib.h>
|
||||
#include <Library/HiiLib.h>
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/DevicePathLib.h>
|
||||
#include <Protocol/LoadedImage.h>
|
||||
#include <Protocol/BootLogo.h>
|
||||
|
||||
#define TITLE_TOKEN_COUNT 1
|
||||
#define HELP_TOKEN_COUNT 3
|
||||
|
||||
typedef struct _BOOT_MENU_SCREEN {
|
||||
UINTN StartCol;
|
||||
UINTN StartRow;
|
||||
UINTN Width;
|
||||
UINTN Height;
|
||||
} BOOT_MENU_SCREEN;
|
||||
|
||||
typedef struct _BOOT_MENU_SCROLL_BAR_CONTROL {
|
||||
BOOLEAN HasScrollBar;
|
||||
UINTN ItemCountPerScreen;
|
||||
UINTN FirstItem;
|
||||
UINTN LastItem;
|
||||
} BOOT_MENU_SCROLL_BAR_CONTROL;
|
||||
|
||||
typedef struct _BOOT_MENU_POPUP_DATA {
|
||||
EFI_STRING_ID TitleToken[TITLE_TOKEN_COUNT]; // Title string ID
|
||||
UINTN ItemCount; // Selectable item count
|
||||
EFI_STRING_ID *PtrTokens; // All of selectable items string ID
|
||||
EFI_STRING_ID HelpToken[HELP_TOKEN_COUNT]; // All of help string ID
|
||||
UINTN SelectItem; // Current select item
|
||||
BOOT_MENU_SCREEN MenuScreen; // Boot menu screen information
|
||||
BOOT_MENU_SCROLL_BAR_CONTROL ScrollBarControl; // Boot menu scroll bar inoformation
|
||||
} BOOT_MENU_POPUP_DATA;
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
## @file
|
||||
# The application to show the Boot Manager Menu.
|
||||
#
|
||||
# Copyright (c) 2011 - 2015, Intel Corporation. All rights reserved.<BR>
|
||||
# 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.
|
||||
#
|
||||
##
|
||||
|
||||
[Defines]
|
||||
INF_VERSION = 0x00010005
|
||||
BASE_NAME = BootManagerMenuApp
|
||||
FILE_GUID = EEC25BDC-67F2-4D95-B1D5-F81B2039D11D
|
||||
MODULE_TYPE = UEFI_APPLICATION
|
||||
VERSION_STRING = 1.0
|
||||
ENTRY_POINT = BootManagerMenuEntry
|
||||
|
||||
#
|
||||
# The following information is for reference only and not required by the build tools.
|
||||
#
|
||||
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
|
||||
#
|
||||
|
||||
[Sources]
|
||||
BootManagerMenu.c
|
||||
BootManagerMenu.h
|
||||
BootManagerMenuStrings.uni
|
||||
|
||||
[Packages]
|
||||
MdePkg/MdePkg.dec
|
||||
MdeModulePkg/MdeModulePkg.dec
|
||||
|
||||
[LibraryClasses]
|
||||
HiiLib
|
||||
DebugLib
|
||||
UefiLib
|
||||
MemoryAllocationLib
|
||||
UefiBootServicesTableLib
|
||||
UefiApplicationEntryPoint
|
||||
UefiBootManagerLib
|
||||
|
||||
[Guids]
|
||||
|
||||
[Protocols]
|
||||
gEfiBootLogoProtocolGuid ## CONSUMES
|
||||
|
||||
[Pcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow ## PRODUCES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn ## PRODUCES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution ## PRODUCES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution ## PRODUCES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutColumn ## SOMETIMES_CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupConOutRow ## SOMETIMES_CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution ## SOMETIMES_CONSUMES
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution ## SOMETIMES_CONSUMES
|
Binary file not shown.
|
@ -274,6 +274,7 @@
|
|||
MdeModulePkg/Library/PlatformBootManagerLibNull/PlatformBootManagerLibNull.inf
|
||||
|
||||
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
||||
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
|
||||
MdeModulePkg/Universal/CapsulePei/CapsulePei.inf
|
||||
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
||||
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
||||
|
|
Loading…
Reference in New Issue