summaryrefslogtreecommitdiffstats
path: root/ArmVirtPkg/ArmVirtQemu.fdf
Commit message (Collapse)AuthorAgeFilesLines
* ArmVirtPkg/ArmVirtQemu: omit PCD PEIM unless TPM support is enabledArd Biesheuvel2022-10-261-1/+1
| | | | | | | | | The TPM discovery code relies on a dynamic PCD to communicate the TPM base address to other components. But no other code relies on dynamic PCDs in the PEI phase so let's drop the PCD PEIM when TPM support is not enabled. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* ArmVirtPkg/ArmVirtQemu: Drop unused variable PEIMArd Biesheuvel2022-10-261-1/+0
| | | | | | | The variable PEIM is included in the build but its runtime prerequisites are absent so it is never dispatched. Just drop it. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* ArmVirtPkg/ArmVirtQemu: enable initial ID map at early bootArd Biesheuvel2022-10-261-1/+1
| | | | | | | | | | | | | | | | Now that we have all the pieces in place, switch the AArch64 version of ArmVirtQemu to a mode where the first thing it does out of reset is enable a preliminary ID map that covers the NOR flash and sufficient DRAM to create the UEFI page tables as usual. The advantage of this is that no manipulation of memory occurs any longer before the MMU is enabled, which removes the need for explicit coherency management, which is cumbersome and bad for performance. It also means we no longer need to build all components that may execute with the MMU off (including BASE libraries) with strict alignment. Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI phaseArd Biesheuvel2020-03-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | Incorporate the PEI components and the associated library class resolutions and PCD declarations to enable TPM2 support in the PEI phase. This patch ports (parts of) the following OvmfPkg commits to ArmVirtQemu: - 6cf1880fb5b6 ("OvmfPkg: add customized Tcg2ConfigPei clone", 2018-03-09) - 4672a4892867 ("OvmfPkg: include Tcg2Pei module", 2018-03-09) - b9130c866dc0 ("OvmfPkg: link Sha384 and Sha512 support into Tcg2Pei and Tcg2Dxe", 2018-08-16) - 5d3ef15da7c3 ("OvmfPkg: link SM3 support into Tcg2Pei and Tcg2Dxe", 2019-07-19) gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask defaults to 0x0 so that the TPM init code adopts the currently active PCR banks as the ones that are enabled by default. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2560 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg/ArmVirtQemu: add ResetSystem PEIM for upcoming TPM2 supportArd Biesheuvel2020-03-041-0/+4
| | | | | | | | | | | | | | | | As a first step in gradually adding TPM2 support to ArmVirtQemu, add the TPM2_ENABLE configurable to the [Defines] section, and if it is set, add the ResetSystem PEIM to the build, along with the library class references that we will need to support it: - wire ArmVirtPsciResetSystemPeiLib into the ResetSystem PEIM itself, which will be in charge of performing the actual reset - add PeiResetSystemLib as the common ResetSystemLib resolution for PEIM class modules, so that other PEIMs will invoke the PPI published by the ResetSystem PEIM. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2560 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: increase FD/FV size for NOOPT buildsArd Biesheuvel2019-09-131-3/+11
| | | | | | | | | | | | | | | After upgrading the CI system we use for building the ArmVirtPkg targets, we started seeing failures due to the NOOPT build running out of space when using the CLANG38 toolchain definition combined with clang 7. We really don't want to increase the FD/FV sizes in general to accommodate this, so parameterize the relevant quantities and increase them by 50% for NOOPT builds. Reviewed-by: Philippe Mathieu-Daude <philmd@redhat.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
* ArmVirtPkg: Replace BSD License with BSD+Patent LicenseMichael D Kinney2019-04-091-7/+1
| | | | | | | | | | | | | | | | | | | | https://bugzilla.tianocore.org/show_bug.cgi?id=1373 Replace BSD 2-Clause License with BSD+Patent License. This change is based on the following emails: https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html https://lists.01.org/pipermail/edk2-devel/2018-October/030385.html RFCs with detailed process for the license change: V3: https://lists.01.org/pipermail/edk2-devel/2019-March/038116.html V2: https://lists.01.org/pipermail/edk2-devel/2019-March/037669.html V1: https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: factor out Rules FDF sectionArd Biesheuvel2016-07-121-110/+1
| | | | | | | | | | | All three current ArmVirtPkg have identical [Rules] sections in their FDF definitions, and ideally, they should remain that way. So factor out the definitions into a separate include file, and replace the existing definitions with !include directives. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg/ArmVirtQemu: factor out shared FV.FvMain definitionArd Biesheuvel2016-07-121-153/+1
| | | | | | | | | | | The FDF definition of [FV.FvMain] is identical between ArmVirtQemu and ArmVirtQemuKernel, and needs to remain that way. So factor it out into a separate include file, and replace both definitions with an !include directive. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: Re-add the Driver Health ManagerBruce Cran2016-06-281-0/+1
| | | | | | | | | | | | | | | The Driver Health HII menu is not an integral part of the MdeModulePkg BDS driver / UI app. Because we abandoned the IntelFrameworkModulePkg BDS in the QEMU builds, now we have to get the same functionality explicitly from DriverHealthManagerDxe. Suggested-by: Liming Gao <liming.gao@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Bruce Cran <bruce@cran.org.uk> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> [lersek@redhat.com: update commit message, drop Xen changes] Signed-off-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: add FDF definition for empty varstoreArd Biesheuvel2016-06-231-0/+1
| | | | | | | | | | | | | | Similar to how OVMF implements this, add a FD definition for the varstore firmware volume and the FTW areas. The template was taken from the file OvmfPkg/VarStore.fdf.inc, and subsequently modified to accommodate the differences in NOR flash layout. This affects the FvLength, Checksum and BlockMap[0] fields in the FV header, the Size field of the varstore header, and the Crc and WriteQueueSize fields of the FTW header. The event log region is not used by ArmVirtQemu, so it has been omitted. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg/ArmVirtQemu: switch secure boot build to NorFlashDxeArd Biesheuvel2016-06-221-4/+0
| | | | | | | | | | | | There is no longer a reason to use a different implementation of NorFlashDxe for secure boot builds now that the varstore FV header can carry either gEfiVariableGuid or gEfiAuthenticatedVariableGuid, and the dependent code has been updated to deal with that. So move the secure boot capable builds to the common NorFlashDxe. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg/ArmVirtQemu: use MdeModulePkg/BDSLaszlo Ersek2016-05-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* ArmVirtPkg/VirtFdtDxe: remove Xenio handling and rename to VirtioFdtDxeArd Biesheuvel2016-04-131-1/+1
| | | | | | | | | | | | Now that we have moved the handling of the xen,xen DT node to XenioFdtDxe, remove its handling from VirtFdtDxe. Since the only functionality that remains is handling the virtio,mmio DT node, rename VirtFdtDxe to VirtioFdtDxe to reflect that. Also update the platforms that use this driver. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: get rid of A PRIORI DXE declarations for VirtFdtDxeArd Biesheuvel2016-04-131-4/+0
| | | | | | | | | | | | | | We no longer care when VirtFdtDxe executes, since - the driver sets no dynamic PCDs any longer, and - the only remaining functionality centers on VirtioMmioInstallDevice() and XenIoMmioInstall() function calls and FDT configuration table installation. So drop the A PRIORI declaration. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: add FdtClientDxe to the ArmVirtPkg platformsArd Biesheuvel2016-04-111-0/+1
| | | | | | | | | | Add FdtClientDxe to the various platforms under ArmVirtPkg, so that the drivers we will update to depend on the FDT client protocol in subsequent patches will remain in working order. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: Convert to build FatPkg from sourceJordan Justen2016-04-071-2/+2
| | | | | | | | | | | | | | Now that FatPkg is open source (and therefore can be included in the EDK II tree) we build and use it directly. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
* ArmVirtPkg: drop dependency on PeiPcdLib for PEI Pcd.infArd Biesheuvel2016-04-071-3/+0
| | | | | | | | | | | | The PcdPeim dynamic PCD driver is dispatched explicitly via an 'A PRIORI' declaration in the platform DSC. Without that declaration, the PEI module can never be dispatched since it transitively (via PeiPcdLib) depends on a PPI it produces itself. So use the NULL PcdLib explicitly only for this driver. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: remove linux loader from ARM buildsArd Biesheuvel2016-04-071-5/+0
| | | | | | | | | | The built in Linux loader was a temporary solution to boot ARM Linux without EFI support in the OS. Now that EFI support is merged in the upstream v4.5 release, we no longer need it. So drop it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: include Virtio10Dxe from OvmfPkgLaszlo Ersek2016-04-061-0/+1
| | | | | | | | | Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> 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: Jordan Justen <jordan.l.justen@intel.com>
* ArmVirtPkg: ArmVirtQemu: add driver for Virtio-RNG deviceArd Biesheuvel2016-02-241-0/+1
| | | | | | | | | | | This adds the new Virtio-RNG DXE module to the default build of ArmVirtQemu. Note that QEMU needs to be invoked with the 'device virtio-rng-pci' option in order for this device to be exposed to the guest. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: ArmVirtQemu: make ACPI support AARCH64 onlyArd Biesheuvel2016-02-221-0/+2
| | | | | | | | | No ARM support for ACPI is planned under any OS we intend to run under ArmVirtQemu-ARM, so remove the drivers from the ARM build. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com>
* ArmVirtPkg: HighMemDxe: add memory space for the high memory nodesShannon Zhao2015-12-041-0/+1
| | | | | | | | | | | | | | | Here we add the memory space for the high memory nodes except the lowest one in FDT. So these spaces will show up in the UEFI memory map. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Shannon Zhao <shannon.zhao@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> [lersek@redhat.com: rewrap at 79 chars, use NULL, print Status] Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19124 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg: Use SerialDxe in MdeModulePkg instead of EmbeddedPkgStar Zeng2015-11-261-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Beyond just changing the directly related lines in the FDF and DSC files, we have to adapt the EarlyFdtPL011SerialPortLib and FdtPL011SerialPortLib instances as well, in the same patch. This is because the EmbeddedPkg driver expects the SerialPortSetAttributes(), SerialPortSetControl() and SerialPortGetControl() functions from SerialPortExtLib, while the MdeModulePkg driver expects them from SerialPortLib itself. We cannot implement these functions in ArmVirtPkg's SerialPortLib instances *before* flipping the driver, because it would cause double function definitions in the EmbeddedPkg driver. We also can't implement the functions *after* flipping the driver, because it would cause unresolved function references in the MdeModulePkg driver. Therefore we have to implement the functions simultaneously with the driver replacement. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18973 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg: revert "ArmVirtPkg: add QemuFwCfgToPcdDxe"Laszlo Ersek2015-08-061-2/+0
| | | | | | | | | | | | | | | | | | | | | | | This reverts git commit d2733aa9 (SVN r18042), because it is empty now. The original problem: Many universal DXE drivers in edk2 can be controlled by setting dynamic PCDs. Such a PCD must be set before the consumer DXE driver is dispatched. should be hereafter solved similarly to how OvmfPkg/Library/SmbiosVersionLib is plugged into MdeModulePkg/Universal/SmbiosDxe now (originally suggested by Jordan Justen <jordan.l.justen@intel.com>). Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Wei Huang <wei@redhat.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18177 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg/ArmVirtQemu: add LinuxLoader UEFI app to ARM buildArd Biesheuvel2015-08-041-0/+5
| | | | | | | | | | | | | | | | | The ARM build still needs an intermediate loader to boot Linux, since ARM/Linux has no builtin UEFI boot stub (yet). So add the LinuxLoader UEFI application to the FV, and enable the FvSimpleFileSystemDxe driver so that we can invoke the Linux loader from the shell, e.g., Shell> linuxloader fs2:zImage -c console=ttyAMA0 Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18155 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg/ArmVirtQemu: drop ARM BDS and make Intel BDS the defaultArd Biesheuvel2015-08-041-6/+0
| | | | | | | | | | | | | | | | ARM BDS support in ArmVirtQemu has been broken since SVN r17969 ("ArmPkg/BdsLib: Remove Linux loader from BdsLib") dated July 14th. Instead of fixing this, let's get rid of the ARM BDS and LinuxLoader altogether: they violate both the UEFI spec and the arm64 Linux boot protocol, and lack the level of integration with the QEMU command line that the Intel BDS has when running under ArmVirtPkg or OvmfPkg. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18153 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg: use 'auto' alignment and FIXED placement for XIP modulesArd Biesheuvel2015-07-311-6/+6
| | | | | | | | | | | | | | | | | Now that GenFw correctly propagates the minimum alignment of the ELF input sections to the PE/COFF binary, we can simply select 'auto' alignment in the FDF Rule section instead of tweaking it by hand. Also add the FIXED FFS attribute to the module types that may execute in place. This enables a newly added optimization in GenFfs that strips redundant padding, preventing excessive waste of FV space if the section alignment is considerable (i.e., 2 KB or 4 KB) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18122 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg/ArmVirtQemu: support SMBIOSLaszlo Ersek2015-07-261-0/+6
| | | | | | | | | | | | | | | The "MdeModulePkg/Universal/SmbiosDxe/SmbiosDxe.inf" driver is generic, it provides EFI_SMBIOS_PROTOCOL. The "OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf" driver downloads the SMBIOS payload from QEMU via fw_cfg. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18044 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg: add QemuFwCfgToPcdDxeLaszlo Ersek2015-07-261-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Many universal DXE drivers in edk2 can be controlled by setting dynamic PCDs. Such a PCD must be set before the consumer DXE driver is dispatched. (In general we assume that the DXE driver will consume the PCD in its entry point, or in the constructor of a library instance it links against. In special cases this requirement can be relaxed a bit, if we know that the DXE driver accesses the PCD only in a protocol member function that it exports.) On the QEMU platform, the PCD values to be set for the universal drivers are frequently derived from fw_cfg files that QEMU exports. In OvmfPkg we tend to handle this in the following way: - For IA32 and X64, OvmfPkg provides a QemuFwCfgLib instance that is usable in PEI. - In PlatformPei, fw_cfg files can be loaded and transformed to PCD values. - Any DXE driver is bound to be dispatched after the PEI phase is done. (In specific cases other ordering solutions might be possible, via Depex or protocol notify, etc.) In ArmVirtPkg/ArmVirtQemu, things differ a bit: - We don't have an ArmVirtPkg-specific ("Platform") PEIM. This is actually a good thing for now, so let's not introduce one just for this purpose. - Even if we had such a PEIM, it could not easily access fw_cfg: the MMIO addresses of the fw_cfg device are available only in the DTB that QEMU exports. (Accordingly, our QemuFwCfgLib instance is restricted to DXE_DRIVER modules: VirtFdtDxe parses the DTB, stores the fw_cfg addresses in PCDs, and then QemuFwCfgLib's constructor fetches those PCDs.) There are some examples in ArmVirtPkg where early code is forced to parse the DTB manually, but those examples are all painful, and our goal here (controlling universal DXE drivers) doesn't justify more of that pain. Therefore, introduce a separate, minimal DXE driver that is dispatched strictly after VirtFdtDxe (so that it can use QemuFwCfgLib), and strictly before other DXE drivers (so that it can set dynamic PCDs for them). Because VirtFdtDxe is already ordered with the APRIORI DXE file, it is simplest to do the same for the new driver. Actual fw_cfg files and PCDs shall be accessed in future patches. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18042 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg: Remove Ip4ConfigDxe module from ArmVirtPkgJiaxin Wu2015-07-101-1/+0
| | | | | | | | | | | | | | Ip4ConfigDxe driver is deprecated in UEFI 2.5, so we will not support original Ip4Config Protocol, which is replace by Ip4Config2 Protocol integrated in Ip4Dxe driver(git commit 1f6729ff (SVN r17853)). Therefore we can remove Ip4ConfigDxe driver from this build. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> Reviewed-by: Olivier Martin <Olivier.martin@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17912 6f19259b-4bc3-4df7-8a09-765794883524
* add TTY_TERMINAL build option for ARM BDSRoy Franz2015-07-091-2/+2
| | | | | | | | | | | | | Enable selecting the TtyTerminal type for the ARM BDS build of QEMU using the TTY_TERMINAL define. Convert INTEL_BDS define to check for value (!if) rather than just definition (!ifdef) to allow setting of either value on command line. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Roy Franz <roy.franz@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17899 6f19259b-4bc3-4df7-8a09-765794883524
* ArmVirtPkg: Use the merged Variable driverStar Zeng2015-07-011-7/+2
| | | | | | | | | | Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17770 6f19259b-4bc3-4df7-8a09-765794883524
* Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkgOlivier Martin2015-05-291-0/+389
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <olivier.martin@arm.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Tested-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17537 6f19259b-4bc3-4df7-8a09-765794883524