mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-31 01:24:12 +02:00
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
1041
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
Normal file
1041
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenu.c
Normal file
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/Library/PlatformBootManagerLibNull/PlatformBootManagerLibNull.inf
|
||||||
|
|
||||||
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
|
||||||
|
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
|
||||||
MdeModulePkg/Universal/CapsulePei/CapsulePei.inf
|
MdeModulePkg/Universal/CapsulePei/CapsulePei.inf
|
||||||
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
||||||
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
||||||
|
Loading…
x
Reference in New Issue
Block a user