"IntelFrameworkModulePkg/Include/Library/PlatformBdsLib.h" declares the
following interfaces:
- PlatformBdsInit
- PlatformBdsPolicyBehavior
- PlatformBdsBootFail
- PlatformBdsBootSuccess
- PlatformBdsLockNonUpdatableFlash
- LockKeyboards
From these, we've been using PlatformBdsInit() and
PlatformBdsPolicyBehavior().
"MdeModulePkg/Include/Library/PlatformBootManagerLib.h" declares the three
interfaces below:
- PlatformBootManagerBeforeConsole
- PlatformBootManagerAfterConsole
- PlatformBootManagerWaitCallback
Comparing the BdsEntry() functions between
- "IntelFrameworkModulePkg/Universal/BdsDxe/BdsEntry.c" and
- "MdeModulePkg/Universal/BdsDxe/BdsEntry.c",
we can establish the following mapping:
IntelFrameworkModulePkg MdeModulePkg
BdsEntry() BdsEntry()
PlatformBdsInit() <--------------> PlatformBootManagerBeforeConsole()
dispatch Driver#### <--------------> dispatch Driver####
connect consoles
PlatformBdsPolicyBehavior() <------> PlatformBootManagerAfterConsole()
The difference in connecting the consoles will be addressed in a later
patch, now we just rename the functions according to the mapping above,
and copy the call site comments from MdeModulePkg's BdsEntry().
For the third interface, PlatformBootManagerWaitCallback(), add an empty
implementation (and copy the comment from the library class header).
Platform BDS can use this callback to draw a progress bar, for example.
This patch parallels OvmfPkg commit a7566234e9
.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@Intel.com>
82 lines
2.3 KiB
INI
82 lines
2.3 KiB
INI
## @file
|
|
# Implementation for PlatformBootManagerLib library class interfaces.
|
|
#
|
|
# Copyright (C) 2015-2016, Red Hat, Inc.
|
|
# Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>
|
|
# Copyright (c) 2007 - 2014, 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 = PlatformBootManagerLib
|
|
FILE_GUID = 469184E8-FADA-41E4-8823-012CA19B40D4
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = PlatformBootManagerLib|DXE_DRIVER
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = ARM AARCH64
|
|
#
|
|
|
|
[Sources]
|
|
PlatformBm.c
|
|
QemuKernel.c
|
|
|
|
[Packages]
|
|
IntelFrameworkModulePkg/IntelFrameworkModulePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
MdePkg/MdePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
ArmVirtPkg/ArmVirtPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
DevicePathLib
|
|
GenericBdsLib
|
|
MemoryAllocationLib
|
|
PcdLib
|
|
PrintLib
|
|
QemuBootOrderLib
|
|
QemuFwCfgLib
|
|
UefiBootServicesTableLib
|
|
UefiLib
|
|
UefiRuntimeServicesTableLib
|
|
|
|
[FixedPcd]
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
|
|
|
|
[Pcd]
|
|
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer
|
|
|
|
[Guids]
|
|
gEfiFileInfoGuid
|
|
gEfiFileSystemInfoGuid
|
|
gEfiFileSystemVolumeLabelInfoIdGuid
|
|
gEfiEndOfDxeEventGroupGuid
|
|
gRootBridgesConnectedEventGroupGuid
|
|
|
|
[Protocols]
|
|
gEfiDevicePathProtocolGuid
|
|
gEfiGraphicsOutputProtocolGuid
|
|
gEfiLoadedImageProtocolGuid
|
|
gEfiPciRootBridgeIoProtocolGuid
|
|
gEfiSimpleFileSystemProtocolGuid
|