audk/ArmVirtPkg
Laszlo Ersek 0e2c6c5529 ArmVirtPkg/PlatformBootManagerLib: remove stale FvFile boot options
(This patch ports OvmfPkg commit 2eb3589860 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 commit
  e191a3114f),
- 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>
2016-07-13 22:44:34 +02:00
..
FdtClientDxe ArmVirtPkg/VirtFdtDxe: move FDT config table installation to FdtClientDxe 2016-04-13 17:26:06 +02:00
HighMemDxe ArmVirtPkg/HighMemDxe: allow patchable PCD for PcdSystemMemoryBase 2016-07-12 15:19:42 +02:00
Include ArmVirtPkg: introduce FdtClientProtocol 2016-04-11 18:12:21 +02:00
Library ArmVirtPkg/PlatformBootManagerLib: remove stale FvFile boot options 2016-07-13 22:44:34 +02:00
PciHostBridgeDxe ArmVirtPkg/PciHostBridgeDxe: move to FDT client protocol 2016-04-12 17:59:05 +02:00
PrePi ArmVirtPkg/PrePiRelocatable: add ARM support 2015-12-17 17:11:16 +00:00
VirtioFdtDxe ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxe 2016-04-13 17:26:07 +02:00
XenAcpiPlatformDxe ArmVirtPkg/ArmVirtXen: Add ACPI support for Virt Xen ARM 2016-06-28 13:37:25 +02:00
XenioFdtDxe ArmVirtPkg/ArmVirtXen: move from VirtFdtDxe to new XenioFdtDxe driver 2016-04-13 17:26:06 +02:00
ArmVirt.dsc.inc ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS 2016-05-06 10:04:50 +02:00
ArmVirtPkg.dec ArmVirtPkg/VirtFdtDxe: remove handling of fw_cfg DT node 2016-04-12 11:07:36 +02:00
ArmVirtQemu.dsc ArmPkg ArmVirtPkg MdeModulePkg: switch to separate ArmMmuLib 2016-07-07 14:33:47 +02:00
ArmVirtQemu.fdf ArmVirtPkg: factor out Rules FDF section 2016-07-12 15:19:42 +02:00
ArmVirtQemuFvMain.fdf.inc ArmVirtPkg: add name GUIDs to FvMain instances 2016-07-12 15:19:42 +02:00
ArmVirtQemuKernel.dsc ArmVirtPkg: align ArmVirtQemuKernel with ArmVirtQemu 2016-07-12 15:19:42 +02:00
ArmVirtQemuKernel.fdf ArmVirtPkg: factor out Rules FDF section 2016-07-12 15:19:42 +02:00
ArmVirtRules.fdf.inc ArmVirtPkg: factor out Rules FDF section 2016-07-12 15:19:42 +02:00
ArmVirtXen.dsc ArmPkg ArmVirtPkg MdeModulePkg: switch to separate ArmMmuLib 2016-07-07 14:33:47 +02:00
ArmVirtXen.fdf ArmVirtPkg: add name GUIDs to FvMain instances 2016-07-12 15:19:42 +02:00
Contributions.txt ArmVirtPkg: add "Contributions.txt" and "License.txt" 2015-06-08 22:00:36 +00:00
License.txt ArmVirtPkg: add "Contributions.txt" and "License.txt" 2015-06-08 22:00:36 +00:00
VarStore.fdf.inc ArmVirtPkg: add FDF definition for empty varstore 2016-06-23 16:07:38 +02:00