audk/OvmfPkg/Library
Laszlo Ersek 2eb3589860 OvmfPkg/PlatformBootManagerLib: remove stale FvFile boot options
Removes any boot options that point to binaries built into the firmware
and have become stale due to any of the following:
- DXEFV's base address or size changed (historical),
- DXEFV'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.

This functionality is not added to QemuBootOrderLib, because it is
independent from QEMU and fw_cfg.

Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Gary Lin <glin@suse.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
2016-07-13 01:04:37 +02:00
..
AcpiTimerLib OvmfPkg: determine PMBA value dependent on host bridge device ID 2016-05-17 20:48:39 +02:00
DxePciLibI440FxQ35 OvmfPkg: add DxePciLibI440FxQ35 2016-03-10 21:28:29 +01:00
EmuVariableFvbLib
LoadLinuxLib OvmfPkg: fix conversion specifiers in DEBUG format strings 2015-07-28 18:33:23 +00:00
LockBoxLib OvmfPkg: Install LockBox protocol in constructor of LockBoxDxeLib 2016-04-07 17:31:49 +02:00
NvVarsFileLib OvmfPkg: fix conversion specifiers in DEBUG format strings 2015-07-28 18:33:23 +00:00
PciHostBridgeLib OvmfPkg/PciHostBridgeLib: Scan for root bridges when running over Xen 2016-05-11 08:53:36 +08:00
PlatformBootManagerLib OvmfPkg/PlatformBootManagerLib: remove stale FvFile boot options 2016-07-13 01:04:37 +02:00
PlatformDebugLibIoPort OvmfPkg: PlatformDebugLibIoPort: fix AsciiSPrint() format string 2015-08-06 10:13:33 +00:00
PlatformFvbLibNull
PlatformSecureLib
QemuBootOrderLib OvmfPkg, ArmVirtPkg: rename QemuNewBootOrderLib to QemuBootOrderLib 2016-05-25 12:25:28 +02:00
QemuFwCfgLib OvmfPkg: QemuFwCfgLib: avoid "variable set but not used" warning from GCC 2015-07-10 06:46:57 +00:00
ResetSystemLib OvmfPkg: determine PMBA value dependent on host bridge device ID 2016-05-17 20:48:39 +02:00
SerializeVariablesLib OvmfPkg/SerializeVariablesLib: Relax check for the read-only variable 2016-05-26 13:21:36 +02:00
SmbiosVersionLib OvmfPkg: SmbiosVersionLib: recognize SMBIOS 3.x entry point 2015-08-06 10:14:12 +00:00
SmmCpuFeaturesLib OvmfPkg: SmmCpuFeaturesLib: customize state save map format 2015-11-30 18:46:42 +00:00
VirtioLib OvmfPkg: VirtioLib: add Virtio10WriteFeatures() function 2016-04-06 19:21:50 +02:00
VirtioMmioDeviceLib OvmfPkg: VIRTIO_DEVICE_PROTOCOL: pass VRING object to SetQueueAddress() 2016-04-06 13:04:03 +02:00
XenConsoleSerialPortLib OvmfPkg XenConsoleSerialPortLib: Implement Get(Set)Control/SetAttributes 2015-11-26 08:51:34 +00:00
XenHypercallLib OvfmPkg/XenHypercallLib: add missing GCC_ASM_EXPORT to XenHypercall2 2015-12-17 17:10:59 +00:00
XenIoMmioLib OvmfPkg/XenIoMmioLib: add missing MemoryAllocationLib dependency to INF 2016-04-13 17:26:06 +02:00