Reasons:
- USE_OLD_BDS requires duplicating updates between OVMF's library
instances that depend on USE_OLD_BDS being FALSE vs. TRUE. Examples:
d5aee61bfaaa OvmfPkg/QemuNewBootOrderLib: adapt Q35 SATA PMPN to UEFI
spec Mantis 1353
1da761664949 OvmfPkg/QemuBootOrderLib: adapt Q35 SATA PMPN to UEFI spec
Mantis 1353
- The Xen community has embraced the new BDS. Examples:
14b2ebc30c8b OvmfPkg/PlatformBootManagerLib: Postpone the shell
registration
49effaf26ec9 OvmfPkg/PciHostBridgeLib: Scan for root bridges when
running over Xen
- OVMF doesn't build with "-D USE_OLD_BDS -D HTTP_BOOT_ENABLE" anyway, as
NetworkPkg/HttpBootDxe now requires UefiBootManagerLib:
50a65824c74a NetworkPkg: Use UefiBootManagerLib API to create load
option.
We (correctly) don't resolve UefiBootManagerLib when USE_OLD_BDS is
TRUE.
- The new BDS has been working well; for example it's the only BDS
available in ArmVirtPkg:
1946faa710e6 ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Gary Ching-Pang 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>
DEFINE NETWORK_IP6_ENABLE = FALSE\r
DEFINE HTTP_BOOT_ENABLE = FALSE\r
DEFINE SMM_REQUIRE = FALSE\r
- DEFINE USE_OLD_BDS = FALSE\r
\r
[BuildOptions]\r
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
-!else\r
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
-!endif\r
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf\r
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf\r
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
- QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
-!else\r
PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
QemuBootOrderLib|OvmfPkg/Library/QemuNewBootOrderLib/QemuBootOrderLib.inf\r
-!endif\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
!if $(SMM_REQUIRE) == TRUE\r
LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf\r
PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
MdeModulePkg/Universal/Metronome/Metronome.inf\r
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
- <LibraryClasses>\r
-!ifdef $(CSM_ENABLE)\r
- NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf\r
-!endif\r
- }\r
-!else\r
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
<LibraryClasses>\r
!ifdef $(CSM_ENABLE)\r
NULL|IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf\r
!endif\r
}\r
-!endif\r
OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf\r
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
OvmfPkg/Virtio10Dxe/Virtio10.inf\r
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
-INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-!else\r
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
INF MdeModulePkg/Application/UiApp/UiApp.inf\r
-!endif\r
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
DEFINE NETWORK_IP6_ENABLE = FALSE\r
DEFINE HTTP_BOOT_ENABLE = FALSE\r
DEFINE SMM_REQUIRE = FALSE\r
- DEFINE USE_OLD_BDS = FALSE\r
\r
[BuildOptions]\r
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
-!else\r
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
-!endif\r
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf\r
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf\r
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
- QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
-!else\r
PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
QemuBootOrderLib|OvmfPkg/Library/QemuNewBootOrderLib/QemuBootOrderLib.inf\r
-!endif\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
!if $(SMM_REQUIRE) == TRUE\r
LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf\r
PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
MdeModulePkg/Universal/Metronome/Metronome.inf\r
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
- <LibraryClasses>\r
-!ifdef $(CSM_ENABLE)\r
- NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf\r
-!endif\r
- }\r
-!else\r
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
<LibraryClasses>\r
!ifdef $(CSM_ENABLE)\r
NULL|IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf\r
!endif\r
}\r
-!endif\r
OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf\r
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
OvmfPkg/Virtio10Dxe/Virtio10.inf\r
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
-INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-!else\r
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
INF MdeModulePkg/Application/UiApp/UiApp.inf\r
-!endif\r
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r
DEFINE NETWORK_IP6_ENABLE = FALSE\r
DEFINE HTTP_BOOT_ENABLE = FALSE\r
DEFINE SMM_REQUIRE = FALSE\r
- DEFINE USE_OLD_BDS = FALSE\r
\r
[BuildOptions]\r
GCC:*_UNIXGCC_*_CC_FLAGS = -DMDEPKG_NDEBUG\r
UefiHiiServicesLib|MdeModulePkg/Library/UefiHiiServicesLib/UefiHiiServicesLib.inf\r
HiiLib|MdeModulePkg/Library/UefiHiiLib/UefiHiiLib.inf\r
SortLib|MdeModulePkg/Library/UefiSortLib/UefiSortLib.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- GenericBdsLib|IntelFrameworkModulePkg/Library/GenericBdsLib/GenericBdsLib.inf\r
-!else\r
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf\r
-!endif\r
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf\r
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf\r
DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf\r
IpIoLib|MdeModulePkg/Library/DxeIpIoLib/DxeIpIoLib.inf\r
UdpIoLib|MdeModulePkg/Library/DxeUdpIoLib/DxeUdpIoLib.inf\r
DpcLib|MdeModulePkg/Library/DxeDpcLib/DxeDpcLib.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- PlatformBdsLib|OvmfPkg/Library/PlatformBdsLib/PlatformBdsLib.inf\r
- QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf\r
-!else\r
PlatformBootManagerLib|OvmfPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf\r
QemuBootOrderLib|OvmfPkg/Library/QemuNewBootOrderLib/QemuBootOrderLib.inf\r
-!endif\r
CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf\r
!if $(SMM_REQUIRE) == TRUE\r
LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf\r
PcAtChipsetPkg/KbcResetDxe/Reset.inf\r
MdeModulePkg/Universal/Metronome/Metronome.inf\r
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
- IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
- <LibraryClasses>\r
-!ifdef $(CSM_ENABLE)\r
- NULL|OvmfPkg/Csm/CsmSupportLib/CsmSupportLib.inf\r
-!endif\r
- }\r
-!else\r
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {\r
<LibraryClasses>\r
!ifdef $(CSM_ENABLE)\r
NULL|IntelFrameworkModulePkg/Library/LegacyBootMaintUiLib/LegacyBootMaintUiLib.inf\r
!endif\r
}\r
-!endif\r
OvmfPkg/BlockMmioToBlockIoDxe/BlockIo.inf\r
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf\r
OvmfPkg/Virtio10Dxe/Virtio10.inf\r
INF MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf\r
INF MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf\r
INF MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf\r
-!if $(USE_OLD_BDS) == TRUE\r
-INF IntelFrameworkModulePkg/Universal/BdsDxe/BdsDxe.inf\r
-!else\r
INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf\r
INF MdeModulePkg/Application/UiApp/UiApp.inf\r
-!endif\r
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf\r
INF MdeModulePkg/Universal/PrintDxe/PrintDxe.inf\r
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf\r