2016-02-05 14:57:57 +01:00
|
|
|
#
|
|
|
|
# Copyright (c) 2011-2015, ARM Limited. All rights reserved.
|
|
|
|
# Copyright (c) 2014, Linaro Limited. All rights reserved.
|
2016-02-24 13:15:52 +01:00
|
|
|
# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
|
2016-02-05 14:57:57 +01:00
|
|
|
#
|
|
|
|
# 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 Section - statements that will be processed to create a Makefile.
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[Defines]
|
|
|
|
PLATFORM_NAME = ArmVirtQemu
|
|
|
|
PLATFORM_GUID = 37d7e986-f7e9-45c2-8067-e371421a626c
|
|
|
|
PLATFORM_VERSION = 0.1
|
|
|
|
DSC_SPECIFICATION = 0x00010005
|
|
|
|
OUTPUT_DIRECTORY = Build/ArmVirtQemuKernel-$(ARCH)
|
|
|
|
SUPPORTED_ARCHITECTURES = AARCH64|ARM
|
|
|
|
BUILD_TARGETS = DEBUG|RELEASE
|
|
|
|
SKUID_IDENTIFIER = DEFAULT
|
|
|
|
FLASH_DEFINITION = ArmVirtPkg/ArmVirtQemuKernel.fdf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Defines for default states. These can be changed on the command line.
|
|
|
|
# -D FLAG=VALUE
|
|
|
|
#
|
|
|
|
DEFINE SECURE_BOOT_ENABLE = FALSE
|
|
|
|
|
|
|
|
!include ArmVirtPkg/ArmVirt.dsc.inc
|
|
|
|
|
|
|
|
[LibraryClasses.AARCH64]
|
|
|
|
ArmLib|ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
|
|
|
|
ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexAEMv8Lib/ArmCortexAEMv8Lib.inf
|
|
|
|
|
|
|
|
[LibraryClasses.ARM]
|
|
|
|
ArmLib|ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
|
|
|
|
ArmCpuLib|ArmPkg/Drivers/ArmCpuLib/ArmCortexA15Lib/ArmCortexA15Lib.inf
|
|
|
|
|
|
|
|
[LibraryClasses.common]
|
|
|
|
# Virtio Support
|
|
|
|
VirtioLib|OvmfPkg/Library/VirtioLib/VirtioLib.inf
|
|
|
|
VirtioMmioDeviceLib|OvmfPkg/Library/VirtioMmioDeviceLib/VirtioMmioDeviceLib.inf
|
|
|
|
QemuFwCfgLib|ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
|
|
|
|
|
|
|
|
ArmPlatformLib|ArmVirtPkg/Library/ArmQemuRelocatablePlatformLib/ArmQemuRelocatablePlatformLib.inf
|
|
|
|
ArmPlatformSysConfigLib|ArmPlatformPkg/Library/ArmPlatformSysConfigLibNull/ArmPlatformSysConfigLibNull.inf
|
|
|
|
|
|
|
|
TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf
|
|
|
|
NorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf
|
|
|
|
|
|
|
|
CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf
|
ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS
Based on OvmfPkg commit 79c098b6d25d.
Unlike in OVMF, no USE_OLD_BDS fallback is introduced; I think that
ArmVirtPkg is less widely used by non-developers than OvmfPkg.
ArmVirtXen is not modified, as it uses PlatformIntelBdsLib from
ArmPlatformPkg.
About this patch:
- DxeServicesLib and SortLib are resolved generally (they have broad
client module type lists).
- ReportStatusCodeLib is resolved for UEFI_APPLICATION modules.
- GenericBdsLib and PlatformBdsLib are replaced with UefiBootManagerLib
and PlatformBootManagerLib, and resolved from under MdeModulePkg and
ArmVirtPkg, respectively.
- QemuBootOrderLib is pointed to the QemuNewBootOrderLib instance.
- FileExplorerLib no longer depends on SECURE_BOOT_ENABLE, it is nedeed by
BootMaintenanceManagerUiLib, which we link into UiApp.
- PcdBootManagerMenuFile carries the FILE_GUID of
"MdeModulePkg/Application/UiApp/UiApp.inf". The default PCD value from
"MdeModulePkg/MdeModulePkg.dec" points to
"MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf",
which, according to the commit that introduced it (a382952f8255), only
'provides a very simple UI showing all the boot options recorded by
"BootOrder" and user can select any of them to boot'.
- Include the new core BDS driver, and include the boot manager
application, with the usual main menu entries.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Fixes: https://github.com/tianocore/edk2/issues/83
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@Intel.com>
2016-05-05 19:12:09 +02:00
|
|
|
UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf
|
2016-05-25 13:08:15 +02:00
|
|
|
BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf
|
|
|
|
ImageDecoderLib|MdeModulePkg/Library/ImageDecoderLib/ImageDecoderLib.inf
|
ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS
Based on OvmfPkg commit 79c098b6d25d.
Unlike in OVMF, no USE_OLD_BDS fallback is introduced; I think that
ArmVirtPkg is less widely used by non-developers than OvmfPkg.
ArmVirtXen is not modified, as it uses PlatformIntelBdsLib from
ArmPlatformPkg.
About this patch:
- DxeServicesLib and SortLib are resolved generally (they have broad
client module type lists).
- ReportStatusCodeLib is resolved for UEFI_APPLICATION modules.
- GenericBdsLib and PlatformBdsLib are replaced with UefiBootManagerLib
and PlatformBootManagerLib, and resolved from under MdeModulePkg and
ArmVirtPkg, respectively.
- QemuBootOrderLib is pointed to the QemuNewBootOrderLib instance.
- FileExplorerLib no longer depends on SECURE_BOOT_ENABLE, it is nedeed by
BootMaintenanceManagerUiLib, which we link into UiApp.
- PcdBootManagerMenuFile carries the FILE_GUID of
"MdeModulePkg/Application/UiApp/UiApp.inf". The default PCD value from
"MdeModulePkg/MdeModulePkg.dec" points to
"MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf",
which, according to the commit that introduced it (a382952f8255), only
'provides a very simple UI showing all the boot options recorded by
"BootOrder" and user can select any of them to boot'.
- Include the new core BDS driver, and include the boot manager
application, with the usual main menu entries.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Fixes: https://github.com/tianocore/edk2/issues/83
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@Intel.com>
2016-05-05 19:12:09 +02:00
|
|
|
PlatformBootManagerLib|ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
|
2016-02-05 14:57:57 +01:00
|
|
|
CustomizedDisplayLib|MdeModulePkg/Library/CustomizedDisplayLib/CustomizedDisplayLib.inf
|
2016-05-17 19:30:24 +02:00
|
|
|
QemuBootOrderLib|OvmfPkg/Library/QemuBootOrderLib/QemuBootOrderLib.inf
|
2016-02-24 13:15:52 +01:00
|
|
|
FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf
|
2016-04-08 11:45:00 +02:00
|
|
|
PciPcdProducerLib|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
[LibraryClasses.common.UEFI_DRIVER]
|
|
|
|
UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf
|
|
|
|
|
|
|
|
[BuildOptions]
|
|
|
|
RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15 -I$(WORKSPACE)/ArmVirtPkg/Include
|
|
|
|
GCC:*_*_ARM_PLATFORM_FLAGS == -mcpu=cortex-a15 -I$(WORKSPACE)/ArmVirtPkg/Include
|
|
|
|
*_*_AARCH64_PLATFORM_FLAGS == -I$(WORKSPACE)/ArmVirtPkg/Include
|
|
|
|
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Pcd Section - list of all EDK II PCD Entries defined by this Platform
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
|
|
|
|
[PcdsFeatureFlag.common]
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderPciTranslation|TRUE
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuBootOrderMmioTranslation|TRUE
|
|
|
|
|
|
|
|
## If TRUE, Graphics Output Protocol will be installed on virtual handle created by ConsplitterDxe.
|
|
|
|
# It could be set FALSE to save size.
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutGopSupport|TRUE
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
|
|
|
|
|
|
|
# Activate KVM workaround for now.
|
|
|
|
gArmVirtTokenSpaceGuid.PcdKludgeMapPciMmioAsCached|TRUE
|
|
|
|
|
|
|
|
[PcdsFixedAtBuild.common]
|
|
|
|
gArmPlatformTokenSpaceGuid.PcdCoreCount|1
|
|
|
|
!if $(ARCH) == AARCH64
|
|
|
|
gArmTokenSpaceGuid.PcdVFPEnabled|1
|
|
|
|
!endif
|
|
|
|
|
|
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCoresStackBase|0x4007c000
|
|
|
|
gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize|0x4000
|
2016-05-10 20:16:12 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxVariableSize|0x2000
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdMaxAuthVariableSize|0x2800
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
# Size of the region used by UEFI in permanent memory (Reserved 64MB)
|
|
|
|
gArmPlatformTokenSpaceGuid.PcdSystemMemoryUefiRegionSize|0x04000000
|
|
|
|
|
|
|
|
#
|
|
|
|
# ARM Pcds
|
|
|
|
#
|
|
|
|
gArmTokenSpaceGuid.PcdArmUncachedMemoryMask|0x0000000040000000
|
|
|
|
|
|
|
|
## Trustzone enable (to make the transition from EL3 to EL2 in ArmPlatformPkg/Sec)
|
|
|
|
gArmTokenSpaceGuid.PcdTrustzoneSupport|FALSE
|
|
|
|
|
|
|
|
#
|
|
|
|
# ARM PrimeCell
|
|
|
|
#
|
|
|
|
|
|
|
|
## PL011 - Serial Terminal
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate|38400
|
|
|
|
|
|
|
|
## Default Terminal Type
|
|
|
|
## 0-PCANSI, 1-VT100, 2-VT00+, 3-UTF8, 4-TTYTERM
|
|
|
|
!if $(TTY_TERMINAL) == TRUE
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|4
|
|
|
|
!else
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType|1
|
|
|
|
!endif
|
|
|
|
|
|
|
|
#
|
|
|
|
# ARM Virtual Architectural Timer -- fetch frequency from QEMU (TCG) or KVM
|
|
|
|
#
|
|
|
|
gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz|0
|
|
|
|
|
|
|
|
[PcdsPatchableInModule.common]
|
|
|
|
#
|
|
|
|
# This will be overridden in the code
|
|
|
|
#
|
|
|
|
gArmTokenSpaceGuid.PcdSystemMemoryBase|0x0
|
|
|
|
gArmTokenSpaceGuid.PcdSystemMemorySize|0x0
|
|
|
|
|
|
|
|
#
|
|
|
|
# Define a default initial address for the device tree.
|
|
|
|
# Ignored if x0 != 0 at entry.
|
|
|
|
#
|
|
|
|
gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress|0x40000000
|
|
|
|
|
|
|
|
gArmTokenSpaceGuid.PcdFdBaseAddress|0x0
|
|
|
|
gArmTokenSpaceGuid.PcdFvBaseAddress|0x0
|
|
|
|
|
|
|
|
[PcdsFixedAtBuild.AARCH64]
|
|
|
|
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdResetOnMemoryTypeInformationChange|FALSE
|
ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS
Based on OvmfPkg commit 79c098b6d25d.
Unlike in OVMF, no USE_OLD_BDS fallback is introduced; I think that
ArmVirtPkg is less widely used by non-developers than OvmfPkg.
ArmVirtXen is not modified, as it uses PlatformIntelBdsLib from
ArmPlatformPkg.
About this patch:
- DxeServicesLib and SortLib are resolved generally (they have broad
client module type lists).
- ReportStatusCodeLib is resolved for UEFI_APPLICATION modules.
- GenericBdsLib and PlatformBdsLib are replaced with UefiBootManagerLib
and PlatformBootManagerLib, and resolved from under MdeModulePkg and
ArmVirtPkg, respectively.
- QemuBootOrderLib is pointed to the QemuNewBootOrderLib instance.
- FileExplorerLib no longer depends on SECURE_BOOT_ENABLE, it is nedeed by
BootMaintenanceManagerUiLib, which we link into UiApp.
- PcdBootManagerMenuFile carries the FILE_GUID of
"MdeModulePkg/Application/UiApp/UiApp.inf". The default PCD value from
"MdeModulePkg/MdeModulePkg.dec" points to
"MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf",
which, according to the commit that introduced it (a382952f8255), only
'provides a very simple UI showing all the boot options recorded by
"BootOrder" and user can select any of them to boot'.
- Include the new core BDS driver, and include the boot manager
application, with the usual main menu entries.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Fixes: https://github.com/tianocore/edk2/issues/83
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@Intel.com>
2016-05-05 19:12:09 +02:00
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdBootManagerMenuFile|{ 0x21, 0xaa, 0x2c, 0x46, 0x14, 0x76, 0x03, 0x45, 0x83, 0x6e, 0x8a, 0xb6, 0xf4, 0x66, 0x23, 0x31 }
|
2016-02-05 14:57:57 +01:00
|
|
|
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdShellFile|{ 0x83, 0xA5, 0x04, 0x7C, 0x3E, 0x9E, 0x1C, 0x4F, 0xAD, 0x65, 0xE0, 0x52, 0x68, 0xD0, 0xB4, 0xD1 }
|
|
|
|
|
|
|
|
#
|
|
|
|
# The maximum physical I/O addressability of the processor, set with
|
|
|
|
# BuildCpuHob().
|
|
|
|
#
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdPrePiCpuIoSize|16
|
|
|
|
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack|TRUE
|
|
|
|
|
|
|
|
# KVM limits it IPA space to 40 bits (1 TB), so there is no need to
|
|
|
|
# support anything bigger, even if the host hardware does
|
|
|
|
gEmbeddedTokenSpaceGuid.PcdPrePiCpuMemorySize|40
|
|
|
|
|
|
|
|
[PcdsDynamicDefault.common]
|
2016-05-05 17:09:04 +02:00
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut|3
|
|
|
|
|
2016-02-05 14:57:57 +01:00
|
|
|
## If TRUE, OvmfPkg/AcpiPlatformDxe will not wait for PCI
|
|
|
|
# enumeration to complete before installing ACPI tables.
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|TRUE
|
|
|
|
|
|
|
|
gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum|0x0
|
|
|
|
gArmTokenSpaceGuid.PcdArmArchTimerIntrNum|0x0
|
|
|
|
gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum|0x0
|
|
|
|
gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum|0x0
|
|
|
|
|
|
|
|
#
|
|
|
|
# ARM General Interrupt Controller
|
|
|
|
#
|
|
|
|
gArmTokenSpaceGuid.PcdGicDistributorBase|0x0
|
|
|
|
gArmTokenSpaceGuid.PcdGicRedistributorsBase|0x0
|
|
|
|
gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase|0x0
|
|
|
|
|
|
|
|
## PL031 RealTimeClock
|
|
|
|
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0
|
|
|
|
|
2016-04-08 11:45:00 +02:00
|
|
|
# set PcdPciExpressBaseAddress to MAX_UINT64, which signifies that this
|
|
|
|
# PCD and PcdPciDisableBusEnumeration above have not been assigned yet
|
|
|
|
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xFFFFFFFFFFFFFFFF
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Set video resolution for boot options and for text setup.
|
|
|
|
# PlatformDxe can set the former at runtime.
|
|
|
|
#
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
|
|
|
|
|
|
|
|
#
|
|
|
|
# SMBIOS entry point version
|
|
|
|
#
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosVersion|0x0300
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
|
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
|
|
|
|
|
|
|
################################################################################
|
|
|
|
#
|
|
|
|
# Components Section - list of all EDK II Modules needed by this Platform
|
|
|
|
#
|
|
|
|
################################################################################
|
|
|
|
[Components.common]
|
|
|
|
#
|
|
|
|
# PEI Phase modules
|
|
|
|
#
|
|
|
|
ArmVirtPkg/PrePi/ArmVirtPrePiUniCoreRelocatable.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
ExtractGuidedSectionLib|EmbeddedPkg/Library/PrePiExtractGuidedSectionLib/PrePiExtractGuidedSectionLib.inf
|
|
|
|
LzmaDecompressLib|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
|
|
|
PrePiLib|EmbeddedPkg/Library/PrePiLib/PrePiLib.inf
|
|
|
|
HobLib|EmbeddedPkg/Library/PrePiHobLib/PrePiHobLib.inf
|
|
|
|
PrePiHobListPointerLib|ArmPlatformPkg/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf
|
|
|
|
MemoryAllocationLib|EmbeddedPkg/Library/PrePiMemoryAllocationLib/PrePiMemoryAllocationLib.inf
|
|
|
|
}
|
|
|
|
|
|
|
|
#
|
|
|
|
# DXE
|
|
|
|
#
|
|
|
|
MdeModulePkg/Core/Dxe/DxeMain.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/DxeCrc32GuidedSectionExtractLib/DxeCrc32GuidedSectionExtractLib.inf
|
|
|
|
}
|
2016-04-06 13:42:28 +02:00
|
|
|
MdeModulePkg/Universal/PCD/Dxe/Pcd.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
|
|
|
|
}
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Architectural Protocols
|
|
|
|
#
|
|
|
|
ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
|
|
|
MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|
|
|
MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/VarCheckUefiLib/VarCheckUefiLib.inf
|
|
|
|
}
|
|
|
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
|
|
|
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
|
|
|
|
}
|
|
|
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
|
|
|
!else
|
|
|
|
MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
|
|
|
!endif
|
|
|
|
MdeModulePkg/Universal/CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf
|
|
|
|
MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
|
|
|
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
|
|
|
EmbeddedPkg/ResetRuntimeDxe/ResetRuntimeDxe.inf
|
2016-04-08 11:45:04 +02:00
|
|
|
EmbeddedPkg/RealTimeClockRuntimeDxe/RealTimeClockRuntimeDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|ArmVirtPkg/Library/ArmVirtPL031FdtClientLib/ArmVirtPL031FdtClientLib.inf
|
|
|
|
}
|
2016-02-05 14:57:57 +01:00
|
|
|
EmbeddedPkg/MetronomeDxe/MetronomeDxe.inf
|
|
|
|
|
|
|
|
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
|
|
|
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
|
|
|
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
|
|
|
MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
|
|
|
MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
|
|
|
|
|
|
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
|
|
|
|
|
|
|
ArmPkg/Drivers/ArmGic/ArmGicDxe.inf
|
2016-04-08 11:44:56 +02:00
|
|
|
ArmPkg/Drivers/TimerDxe/TimerDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf
|
|
|
|
}
|
2016-02-05 14:57:57 +01:00
|
|
|
ArmPlatformPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
|
|
|
|
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# Platform Driver
|
|
|
|
#
|
2016-04-08 11:45:11 +02:00
|
|
|
ArmVirtPkg/VirtioFdtDxe/VirtioFdtDxe.inf
|
2016-04-08 11:44:50 +02:00
|
|
|
ArmVirtPkg/FdtClientDxe/FdtClientDxe.inf
|
2016-02-05 14:57:57 +01:00
|
|
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
|
|
|
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
|
|
|
OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# FAT filesystem + GPT/MBR partitioning
|
|
|
|
#
|
|
|
|
MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
|
|
|
|
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
|
|
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
2016-04-06 09:05:59 +02:00
|
|
|
FatPkg/EnhancedFatDxe/Fat.inf
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Bds
|
|
|
|
#
|
|
|
|
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
|
|
|
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
|
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
2016-06-28 21:24:57 +02:00
|
|
|
MdeModulePkg/Universal/DriverHealthManagerDxe/DriverHealthManagerDxe.inf
|
2016-05-25 13:08:15 +02:00
|
|
|
MdeModulePkg/Universal/BdsDxe/BdsDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/BmpImageDecoderLib/BmpImageDecoderLib.inf
|
|
|
|
}
|
ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDS
Based on OvmfPkg commit 79c098b6d25d.
Unlike in OVMF, no USE_OLD_BDS fallback is introduced; I think that
ArmVirtPkg is less widely used by non-developers than OvmfPkg.
ArmVirtXen is not modified, as it uses PlatformIntelBdsLib from
ArmPlatformPkg.
About this patch:
- DxeServicesLib and SortLib are resolved generally (they have broad
client module type lists).
- ReportStatusCodeLib is resolved for UEFI_APPLICATION modules.
- GenericBdsLib and PlatformBdsLib are replaced with UefiBootManagerLib
and PlatformBootManagerLib, and resolved from under MdeModulePkg and
ArmVirtPkg, respectively.
- QemuBootOrderLib is pointed to the QemuNewBootOrderLib instance.
- FileExplorerLib no longer depends on SECURE_BOOT_ENABLE, it is nedeed by
BootMaintenanceManagerUiLib, which we link into UiApp.
- PcdBootManagerMenuFile carries the FILE_GUID of
"MdeModulePkg/Application/UiApp/UiApp.inf". The default PCD value from
"MdeModulePkg/MdeModulePkg.dec" points to
"MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf",
which, according to the commit that introduced it (a382952f8255), only
'provides a very simple UI showing all the boot options recorded by
"BootOrder" and user can select any of them to boot'.
- Include the new core BDS driver, and include the boot manager
application, with the usual main menu entries.
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Fixes: https://github.com/tianocore/edk2/issues/83
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ruiyu Ni <ruiyu.ni@Intel.com>
2016-05-05 19:12:09 +02:00
|
|
|
MdeModulePkg/Application/UiApp/UiApp.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|MdeModulePkg/Library/DeviceManagerUiLib/DeviceManagerUiLib.inf
|
|
|
|
NULL|MdeModulePkg/Library/BootManagerUiLib/BootManagerUiLib.inf
|
|
|
|
NULL|MdeModulePkg/Library/BootMaintenanceManagerUiLib/BootMaintenanceManagerUiLib.inf
|
|
|
|
}
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# SCSI Bus and Disk Driver
|
|
|
|
#
|
|
|
|
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
|
|
|
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# SMBIOS Support
|
|
|
|
#
|
|
|
|
MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|OvmfPkg/Library/SmbiosVersionLib/DetectSmbiosVersionLib.inf
|
|
|
|
}
|
|
|
|
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# ACPI Support
|
|
|
|
#
|
|
|
|
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
ArmVirtPkg/VirtFdtDxe: drop PCI host bridge handling
Now that the PCI host bridge driver parses the DT node that describes
the PCI host bridge directly via the FDT client protocol, we can drop the
handling from VirtFdtDxe completely.
This means some PCI related PCDs are no longer set, such as PcdPciBusMin,
PcdPciBusMax, PcdPciIoBase, PcdPciIoSize, PcdPciIoTranslation,
PcdPciMmio32Base and PcdPciMmio32Size. Since these PCDs are specific to
ARM (and declared in ArmPlatformPkg), and not used anywhere else by the
ArmVirtPkg platforms, we can simply stop populating them, and drop all
references to them.
It also means that we can no longer rely on PcdPciDisableBusEnumeration
to be set before it is consumed by PciBusDxe and QemuFwCfgAcpiPlatformDxe,
so make those depend on FdtPciPcdProducerLib explicitly via NULL library
class resolution.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2016-04-08 11:45:02 +02:00
|
|
|
OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
|
|
|
}
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# PCI support
|
|
|
|
#
|
|
|
|
ArmVirtPkg/PciHostBridgeDxe/PciHostBridgeDxe.inf
|
ArmVirtPkg/VirtFdtDxe: drop PCI host bridge handling
Now that the PCI host bridge driver parses the DT node that describes
the PCI host bridge directly via the FDT client protocol, we can drop the
handling from VirtFdtDxe completely.
This means some PCI related PCDs are no longer set, such as PcdPciBusMin,
PcdPciBusMax, PcdPciIoBase, PcdPciIoSize, PcdPciIoTranslation,
PcdPciMmio32Base and PcdPciMmio32Size. Since these PCDs are specific to
ARM (and declared in ArmPlatformPkg), and not used anywhere else by the
ArmVirtPkg platforms, we can simply stop populating them, and drop all
references to them.
It also means that we can no longer rely on PcdPciDisableBusEnumeration
to be set before it is consumed by PciBusDxe and QemuFwCfgAcpiPlatformDxe,
so make those depend on FdtPciPcdProducerLib explicitly via NULL library
class resolution.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
2016-04-08 11:45:02 +02:00
|
|
|
MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
NULL|ArmVirtPkg/Library/FdtPciPcdProducerLib/FdtPciPcdProducerLib.inf
|
|
|
|
}
|
2016-02-05 14:57:57 +01:00
|
|
|
OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
2016-03-12 18:05:05 +01:00
|
|
|
OvmfPkg/Virtio10Dxe/Virtio10.inf
|
2016-02-05 14:57:57 +01:00
|
|
|
|
|
|
|
#
|
|
|
|
# Video support
|
|
|
|
#
|
|
|
|
OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
|
|
|
<LibraryClasses>
|
|
|
|
BltLib|OptionRomPkg/Library/FrameBufferBltLib/FrameBufferBltLib.inf
|
|
|
|
}
|
|
|
|
OvmfPkg/PlatformDxe/Platform.inf
|
|
|
|
|
|
|
|
#
|
|
|
|
# USB Support
|
|
|
|
#
|
|
|
|
MdeModulePkg/Bus/Pci/UhciDxe/UhciDxe.inf
|
|
|
|
MdeModulePkg/Bus/Pci/EhciDxe/EhciDxe.inf
|
|
|
|
MdeModulePkg/Bus/Pci/XhciDxe/XhciDxe.inf
|
|
|
|
MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf
|
|
|
|
MdeModulePkg/Bus/Usb/UsbKbDxe/UsbKbDxe.inf
|