(This patch ports OvmfPkg commit2eb3589860
to ArmVirtPkg. That functionality was not added to QemuBootOrderLib, because it was (and is) independent from QEMU and fw_cfg.) Remove any boot options that point to binaries built into the firmware and have become stale due to any of the following: - FvMain's base address or size changed (historical -- see commite191a3114f
), - FvMain's FvNameGuid changed, - the FILE_GUID of the pointed-to binary changed, - the referenced binary is no longer built into the firmware. For example, multiple such "EFI Internal Shell" boot options can coexist. They technically differ from each other, but may not describe any built-in shell binary exactly. Such options can accumulate in a varstore over time, and while they remain generally bootable (thanks to the efforts of BmGetFileBufferByFvFilePath()), they look bad. Filter out any stale options. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Fixes: https://github.com/tianocore/edk2/issues/107 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
86 lines
2.5 KiB
INI
86 lines
2.5 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
|
|
BootLogoLib
|
|
DebugLib
|
|
DevicePathLib
|
|
MemoryAllocationLib
|
|
PcdLib
|
|
PrintLib
|
|
QemuBootOrderLib
|
|
QemuFwCfgLib
|
|
UefiBootManagerLib
|
|
UefiBootServicesTableLib
|
|
UefiLib
|
|
UefiRuntimeServicesTableLib
|
|
|
|
[FixedPcd]
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
|
|
|
|
[Pcd]
|
|
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer
|
|
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut
|
|
|
|
[Guids]
|
|
gEfiFileInfoGuid
|
|
gEfiFileSystemInfoGuid
|
|
gEfiFileSystemVolumeLabelInfoIdGuid
|
|
gEfiEndOfDxeEventGroupGuid
|
|
gRootBridgesConnectedEventGroupGuid
|
|
|
|
[Protocols]
|
|
gEfiDevicePathProtocolGuid
|
|
gEfiFirmwareVolume2ProtocolGuid
|
|
gEfiGraphicsOutputProtocolGuid
|
|
gEfiLoadedImageProtocolGuid
|
|
gEfiPciRootBridgeIoProtocolGuid
|
|
gEfiSimpleFileSystemProtocolGuid
|