audk/ArmVirtPkg/Library
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
..
ArmQemuRelocatablePlatformLib ArmVirtPkg/RelocatableVirtHelper: use correct FindMemNode argument order 2016-04-13 15:35:01 +02:00
ArmVirtDxeHobLib Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg 2015-05-29 13:50:43 +00:00
ArmVirtGicArchLib ArmVirtPkg/ArmGicArchLib: move to FdtClient protocol 2016-04-11 18:12:21 +02:00
ArmVirtMemoryInitPeiLib ArmPkg ArmVirtPkg MdeModulePkg: switch to separate ArmMmuLib 2016-07-07 14:33:47 +02:00
ArmVirtPL031FdtClientLib ArmVirtPkg: implement ArmVirtPL031FdtClientLib 2016-04-13 16:55:24 +02:00
ArmVirtPlatformLib ArmVirtPkg: ArmVirtPlatformLib: find the lowest memory node 2015-12-04 16:17:12 +00:00
ArmVirtPsciResetSystemLib ArmVirtPkg/ArmVirtPsciResetSystemLib: move to FDT client protocol 2016-04-11 18:12:21 +02:00
ArmVirtTimerFdtClientLib ArmVirtPkg: implement ArmVirtTimerFdtClientLib 2016-04-11 18:12:22 +02:00
ArmXenRelocatablePlatformLib ArmVirtPkg/RelocatableVirtHelper: use correct FindMemNode argument order 2016-04-13 15:35:01 +02:00
BaseCachingPciExpressLib ArmVirtPkg/BaseCachingPciExpressLib: depend on PciPcdProducerLib 2016-04-12 16:57:20 +02:00
FdtPL011SerialPortLib ArmVirtPkg/FdtPL011SerialPortLib: Set the PL011 UART clock rate 2016-06-15 16:16:43 +02:00
FdtPciPcdProducerLib ArmVirtPkg: implement FdtPciPcdProducerLib 2016-04-12 16:26:46 +02:00
NorFlashQemuLib Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg 2015-05-29 13:50:43 +00:00
PlatformBootManagerLib ArmVirtPkg/PlatformBootManagerLib: remove stale FvFile boot options 2016-07-13 22:44:34 +02:00
PlatformPeiLib Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkg 2015-05-29 13:50:43 +00:00
QemuFwCfgLib ArmVirtPkg/QemuFwCfgLib: move to FDT client protocol 2016-04-12 11:07:35 +02:00
XenRealTimeClockLib ArmVirtPkg: XenRealTimeClockLib: fixup typo in Linaro copyright notice 2015-06-08 22:00:32 +00:00