summaryrefslogtreecommitdiff
path: root/ArmVirtPkg/ArmVirtQemu.dsc
AgeCommit message (Collapse)Author
2015-08-25ArmVirtPkg: Link separated VarCheckUefiLib NULL class library instanceStar Zeng
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: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18290 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-06ArmVirtPkg: set default for PcdSmbiosDocRevLaszlo Ersek
When MdeModulePkg/Universal/SmbiosDxe is instructed to compose & install an SMBIOS 3.0 entry point, it keys the Docrev (specification document revision) field of that structure off of PcdSmbiosDocRev. An upcoming OvmfPkg patch will have OvmfPkg/Library/SmbiosVersionLib set this PCD dynamically. Because we use that driver in the ArmVirtQemu.dsc platform, we must provide a default for the dynamic PCD. 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@18181 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-06ArmVirtPkg/ArmVirtQemu.dsc: set default for PcdQemuSmbiosValidatedLaszlo Ersek
The upcoming OvmfPkg patches will implicitly affect the ArmVirtQemu.dsc build, necessitating a default value for the new dynamic PcdQemuSmbiosValidated. Add it. 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@18179 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-06ArmVirtPkg: revert "ArmVirtPkg: add QemuFwCfgToPcdDxe"Laszlo Ersek
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
2015-08-06ArmVirtPkg: set SMBIOS version in DetectSmbiosVersionLib instead of ↵Laszlo Ersek
QemuFwCfgToPcdDxe This patch de-duplicates the logic added in commit ArmVirtPkg: QemuFwCfgToPcdDxe: set SMBIOS entry point version dynamically (git c98da334, SVN r18043) by hooking DetectSmbiosVersionLib into SmbiosDxe. Although said commit was supposed to work with SMBIOS 3.0 payloads from QEMU, in practice that never worked, because the size / signature checks in SmbiosVersionInitialization() would always fail, due to the SMBIOS 3.0 entry point being structurally different. Therefore this patch doesn't regress ArmVirtPkg. Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Wei Huang <wei@redhat.com> Suggested-by: Jordan Justen <jordan.l.justen@intel.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@18176 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-04ArmVirtPkg/ArmVirtQemu: add LinuxLoader UEFI app to ARM buildArd Biesheuvel
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
2015-08-04ArmVirtPkg/ArmVirtQemu: drop ARM BDS and make Intel BDS the defaultArd Biesheuvel
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
2015-07-28ArmVirtPkg: record GIC revision in dynamic PCDArd Biesheuvel
In order to allow a ArmGicArchLib to be implemented that returns the supported GIC revision based on the device tree, add handling to VirtFdtDxe to record the GIC revision at DT parsing time. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Tested-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18101 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-26ArmVirtPkg/ArmVirtQemu: support SMBIOSLaszlo Ersek
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
2015-07-26ArmVirtPkg: QemuFwCfgToPcdDxe: set SMBIOS entry point version dynamicallyLaszlo Ersek
(This patch parallels OvmfPkg commit 37baf06b (SVN r17676).) PcdSmbiosVersion controls the version number of the SMBIOS entry point table (and other, related things) that the universal "MdeModulePkg/Universal/SmbiosDxe" driver, providing EFI_SMBIOS_PROTOCOL, installs. The "virt" machine type of QEMU generates SMBIOS payload for the firmware to install. The payload includes the entry point table ("anchor" table). OvmfPkg/SmbiosPlatformDxe cannot install the anchor table (because that is the jurisdiction of the generic "MdeModulePkg/Universal/SmbiosDxe" driver); however, we can parse the entry point version from QEMU's anchor table, and instruct "MdeModulePkg/Universal/SmbiosDxe" to adhere to that version. As default for PcdSmbiosVersion we should keep the current 0x0300 value (ie. SMBIOS 3.0) from "MdeModulePkg/MdeModulePkg.dec"; that spec version was specifically created for ARM / AARCH64 needs. 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@18043 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-26ArmVirtPkg: add QemuFwCfgToPcdDxeLaszlo Ersek
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
2015-07-16ArmVirtPkg: Make terminal type consistentHeyi Guo
Change default terminal type to be consistent with default ConIn/ConOut device path, which is now determined by TTY_TERMINAL flag, TTYTERM or VT100. I can't say this is a bug, as we can pass the whole console device path to ConnectController, and TerminalDxe driver will pick up the terminal in the remaining device path. However, in rare circumstances, the console devices may be disconnected with the driver, and they will be ignored by ConPlatformDxe until we pass the device path explicitly just as BDS. Changing default terminal type to be the same with console device path could help serial terminal be reconnected with normal connect controller operation. Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Heyi Guo <heyi.guo@linaro.org> Reviewed-by: Laszlo Ersek <lersek@redhat.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18025 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-14ArmVirtPkg/ArmVirtQemu.dsc: Remove Linux specific boot pathOlivier Martin
PcdDefaultBootType has been removed when the embedded Linux Loader has been removed from BdsLib. The boot arguments (defined by PcdDefaultBootArgument) are now always targetting EFI applications. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17972 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-09add TTY_TERMINAL build option for ARM BDSRoy Franz
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
2015-07-01ArmVirtPkg: Use the merged Variable driverStar Zeng
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
2015-07-01ArmVirtPkg: Cleanup redundant library class resolution of Variable modulesStar Zeng
SecurityPkg/VariableAuthenticated/Pei/VariablePei.inf doesn't consume BaseCryptLib directly or indirectly, cleanup it. SecurityPkg/VariableAuthenticated/Pei/VariablePei.inf { <LibraryClasses> BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf } BaseCryptLib has been declared at [LibraryClasses.common.DXE_RUNTIME_DRIVER] section in ArmVirt.dsc.inc. OpensslLib has been declared at [LibraryClasses.common] section in ArmVirt.dsc.inc. So cleanup them. SecurityPkg/VariableAuthenticated/RuntimeDxe/VariableRuntimeDxe.inf { <LibraryClasses> BaseCryptLib|CryptoPkg/Library/BaseCryptLib/RuntimeCryptLib.inf OpensslLib|CryptoPkg/Library/OpensslLib/OpensslLib.inf } 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@17769 6f19259b-4bc3-4df7-8a09-765794883524
2015-05-29Renamed ArmPlatformPkg/ArmVirtualizationPkg into ArmVirtPkgOlivier Martin
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