summaryrefslogtreecommitdiff
path: root/ArmPlatformPkg/ArmVExpressPkg
AgeCommit message (Collapse)Author
2016-11-25ArmPlatformPkg: Fix VE RTSM mem map descriptor countSami Mujawar
The number of memory map entries used exceeded the allocated count, thereby causing memory corruption. Fixed the number of Virtual Memory Map Descriptors allocated in describing the RTSM Memory Map. Also added an assert to confirm that the descriptor count has not been exceeded, in the hope that it may help highlight the problem should a new entry be added. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-11-25ArmPlatformPkg: Reformat VE Memory Map codeEvan Lloyd
This change is purely cosmetic, with no functional impact, and only exists to isolate cosmetic changes from a functional fix. Some indentation is adjusted. Overlength lines are re-flowed. alignment on = is adjusted as some lines exceeded 80 columns. if statement converted to conditional assignment. Redundant re-calculation of CacheAttributes removed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-10-28ArmPlatformPkg/ArmVExpressFastBootDxe: eliminate deprecated string functionsArd Biesheuvel
Get rid of functions that are no longer available when defining DISABLE_NEW_DEPRECATED_INTERFACES 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>
2016-10-28ArmPlatformPkg/ArmVExpressFastBootDxe: clean up code and commentsArd Biesheuvel
This module contains an implementation of the Android Fastboot Platform protocol. So follow common Tianocore practice, and duplicate the per-method comment blocks from the interface definition into the implementation. In addition, let's make all methods and the procotol struct STATIC, given that they are never referenced via external linkage. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> Acked-by: Laszlo Ersek <lersek@redhat.com>
2016-10-19ArmPlatformPkg/ArmVExpressPkg: add missing '0x' prefix to hex valueSudeep Holla
Interestingly the build used to succeed even with missing leading '0x' prefix for a hex value before the commit 0613ccbd1357 ("CorebootPayloadPkg/PciHostBridgeLib: Fix the wrong PCI resource limit") With the above commit, luckily we get ... raise BadExpression(ERR_ARRAY_ELE % self._Token) BadExpression: This must be HEX value for NList or Array: [e6]. This patch fixes the above error by adding the missing '0x' prefix to the hex value. Cc: Yonghong Zhu <yonghong.zhu@intel.com> Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org> Cc: Leif Lindholm <leif.lindholm@linaro.org> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-09-08ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memoryArd Biesheuvel
On ARM systems, mapping normal memory as device memory may have unintended side effects, given that unaligned accesses or loads and stores with special semantics (e.g., load/store exclusive) may fault or may not work as expected. Similarly, DC ZVA instructions are only supported on normal memory, not device memory. So remove the EFI_MEMORY_UC attribute that we set by default on system RAM. If any region requires this attribute, it is up to the driver to set this attribute, and to ensure that no offending operations are performed on it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-09-08ArmPkg ArmPlatformPkg ArmVirtPkg: ARM GICv2/v3 Base Address width fix-upDennis Chen
According to the ACPI 6.0/6.1 spec, the physical base address of GICC, GICD, GICR and GIC ITS is 64-bit. So change the type of the various GIC base address PCDs to 64-bit, and fix up all users. Contributed-under: TianoCore Contribution Agreement 1.0 Cc: Leif Lindholm <leif.lindholm@linaro.org> Signed-off-by: Dennis Chen <dennis.chen@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-08-11ArmPlatformPkg/ArmVExpressPkg: switch to ASM_FUNC() asm macroArd Biesheuvel
Annotate functions with ASM_FUNC() so that they are emitted into separate sections. While we're at it, replace some inefficient uses of LoadConstantToReg() Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-08-11ArmPlatformPkg RVCT: drop dependency on GCC macro libraryArd Biesheuvel
The RVCT .asm files include AsmMacroIoLib.h only for the definition of LoadConstantToReg (), which makes it tedious to make change to that file without the risk of making the RVCT assembler unhappy. So simply replace LoadConstantToReg() with mov32, which does the right thing in all cases. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
2016-03-01ArmPlatformPkg: delete orphaned ArmVExpress.dsc.incLeif Lindholm
In the recent migration of the ARM Ltd. platforms to https://git.linaro.org/uefi/OpenPlatformPkg.git, this file unfortunately got left behind. Delete it to reduce confusion and (further) risk of duplication of effort. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-02-18ArmPlatformPkg: remove obsolete/outdated AArch64 bootstrapLeif Lindholm
Harking back to the earliest days of software development for AArch64, this piece of code abstracted away "early setup stuff" when the software model came out of reset. However, it is unmaintained and has been superseded by ARM Trusted Firmware. So drop it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ryan Harkin <ryan.harkin@linaro.org>
2016-02-09ArmPlatformPkg: remove ArmVExpress-RTSM-A15_MPCore.dsc/fdfRyan Harkin
This platform is untested and no longer supported, so remove it from the tree. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
2016-02-09ArmPlatformPkg: remove ArmVExpress-FVP-AArch64.dsc/fdfRyan Harkin
ARM Ltd Platform support is migrating to use OpenPlatformPkg [1]. Currently, FVP exists both in EDK2's ArmPlatformPkg and in OpenPlatformPkg [2]. And they are starting to diverge, with OpenPlatformPkg being the most up-to-date with current developments. To prevent this divergence, remove the .dsc and .fdf files from ArmPlatformPkg and leave OpenPlatformPkg as the master. [1] https://git.linaro.org/uefi/OpenPlatformPkg.git [2] https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/master:/Platforms/ARM/VExpress Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
2016-02-09ArmPlatformPkg: remove ArmVExpress-CTA15-A7.dsc/fdfRyan Harkin
ARM Ltd Platform support is migrating to use OpenPlatformPkg [1]. Currently, TC2 exists both in EDK2's ArmPlatformPkg and in OpenPlatformPkg [2]. And they are starting to diverge, with OpenPlatformPkg being the most up-to-date with current developments. To prevent this divergence, remove the .dsc and .fdf files from ArmPlatformPkg and leave OpenPlatformPkg as the master. [1] https://git.linaro.org/uefi/OpenPlatformPkg.git Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
2015-12-15ArmVExpressPkg/ArmVExpress-FVP-AArch64: run GICv3 in v3 modeArd Biesheuvel
After fixing ArmGicEnableDistributor() in a previous patch, there is no longer a reason to run the GICv3 in v2 mode, so remove the PCD override. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19275 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-14ArmPlatformPkg/RTSM: use declared PPI rather than module local varArd Biesheuvel
We can refer to gArmMpCoreInfoPpiGuid directly if we declare it under [Ppis] in the library's .inf so there is no need to copy it into a module local variable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19243 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-14ArmPlatformPkg/CTA9x4: use declared PPI rather than module local varArd Biesheuvel
We can refer to gArmMpCoreInfoPpiGuid directly if we declare it under [Ppis] in the library's .inf so there is no need to copy it into a module local variable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19242 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-14ArmPlatformPkg/CTA15-A7: use declared PPI rather than module local varArd Biesheuvel
We can refer to gArmMpCoreInfoPpiGuid directly if we declare it under [Ppis] in the library's .inf so there is no need to copy it into a module local variable. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19241 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-08ArmPlatformPkg/ArmVExpress-CTA15-A7: remove stale ArmPlatformGlobalVariable PCDArd Biesheuvel
Now that we removed the complete ArmPlatformGlobalVariable implementation, remove stale PCD references to it from ArmVExpress-CTA15-A7.dsc Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19173 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-27ArmPlatformPkg/ArmVExpressFastBootDxe: drop bogus gArmGlobalVariableGuid depArd Biesheuvel
ArmVExpressFastBootDxe does not use gArmGlobalVariableGuid so drop the declaration from the .inf. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19000 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-27ArmPlatformPkg: drop ArmPlatformGlobalVariableLib resolutionsArd Biesheuvel
We can remove all mention of ArmPlatformGlobalVariableLib now that there are no remaining [transitive] dependencies on it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18988 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-27ArmPlatformPkg: move to ArmPkg version of PeiServicesTablePointerLibArd Biesheuvel
As pointed out by Eugene, the ArmPlatformPkg implementation of PeiServicesTablePointerLib violates the PI sec, since it uses ArmPlatformGlobalVariableLib to store the PEI services table pointer rather than the thread ID cpu registers as the spec requires. So instead, move to the ArmPkg version of this library, which does adhere to the PI spec. Reported-by: Eugene Cohen <eugene@hp.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18987 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-26ArmPlatformPkg: Use SerialDxe in MdeModulePkg instead of EmbeddedPkgStar Zeng
It is also to integrate PL011SerialPortExtLib to PL011SerialPortLib. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Leif Lindholm <leif.lindholm@linaro.org> 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@18971 6f19259b-4bc3-4df7-8a09-765794883524
2015-11-18ArmVExpressPkg/ArmVExpressLibRTSM: map NOR flash as normal memoryArd Biesheuvel
Some users of this library (i.e., FVP-AArch64 and RTSM-A15_MPCore) may be built to execute straight from NOR flash. Since device mappings should have the XN attribute set (according to the architecture), mapping the NOR flash as a device may prevent it from being executable. Since the NOR flash DXE driver is perfectly capable of setting the correct attributes for the region it needs to write to, and since we will be executing from DRAM by that time anyway, we can simply map the NOR flash as normal memory initially. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18890 6f19259b-4bc3-4df7-8a09-765794883524
2015-10-06ArmPlatformPkg/RTSM: remove obsolete Foundation model librariesArd Biesheuvel
These are no longer used by any platform in the tree, nor are they of any significance to any out of tree platforms. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18571 6f19259b-4bc3-4df7-8a09-765794883524
2015-10-01ArmVExpressPkg: use 4 KB section alignment for ARM DXE_RUNTIME_DRIVER modulesArd Biesheuvel
In order to support the Properties Table memory protection feature on 32-bit ARM, build DXE_RUNTIME_DRIVER type binaries with 4 KB section alignment by setting the common-page-size linker command line option. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18567 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-01ArmPlatformPkg/ArmVExpress-FVP: enable UEFI Secure BootArd Biesheuvel
This allows the FVP target to be built with UEFI Secure Boot enabled, by passing -D SECURE_BOOT_ENABLE to the build command line. Note that this requires the Intel BDS, or you will not be able to enroll certificates, since the ARM BDS does not provide a GUI to do so. The FVP Base model is recommended in this case, since the certificate store is kept in NOR flash. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18379 6f19259b-4bc3-4df7-8a09-765794883524
2015-09-01ArmPlatformPkg/ArmVExpress-FVP: add support for the Intel BDSArd Biesheuvel
This adds support for the Intel BDS and enables it by default. To revert to using the ARM BDS, pass '-D USE_ARM_BDS' on the build command line. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Ryan Harkin <ryan.harkin@linaro.org> 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@18378 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25ArmPlatformPkg/FVP: unify support for Foundation and Base modelsArd Biesheuvel
Now that the PL180 and PL111 drivers know how to behave when executed on the Foundation model (which does not emulate the hardware), we can remove the ARM_FOUNDATION_FVP ifdefs and produce a single build that runs on both the Foundation model and the Base model. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18309 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25ArmPlatformPkg: Link separated VarCheckUefiLib NULL class library instanceStar Zeng
Cc: Leif Lindholm <leif.lindholm@linaro.org> 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@18291 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-25ArmPlatformPkg: Add VarCheckLib library mappingStar Zeng
Since Variable driver has been updated to consume the separated VarCheckLib. Cc: Leif Lindholm <leif.lindholm@linaro.org> 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@18284 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-10ArmPlatformPkg/FVP: use 'auto' alignment and FIXED placement for XIP modulesArd Biesheuvel
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: 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@18196 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-03ArmPlatformPkg/ArmVExpressPkg: move to unified GCC linker scriptArd Biesheuvel
Move to the parametrised generic GCC linker script and set 64 KB alignment, instead of using the AARCH64 specific incremental linker script for 64 KB alignment which is about to be removed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Jordan Justen <jordan.l.justen@intel.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@18139 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-29ArmPlatformPkg: remove obsolete ARM and AARCH64 platformsArd Biesheuvel
Remove obsolete ARM and AARCH64 platforms so the maintainers can focus on the ones that are still supported, which are: - TC2 (ArmVExpress-CTA15-A7.dsc) - Foundation model and Fast model emulators (ArmVExpress-FVP-AArch64.dsc) - Juno (ArmJunoPkg/ArmJuno.dsc) - Cortex-A15 MPcore RTSM (ArmVExpress-RTSM-A15_MPCore) Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> 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@18110 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-28ArmPkg: copy ArmGicArchLib to ArmGicArchSecLibArd Biesheuvel
Clone ArmGicArchLib into a SEC phase specific ArmGicArchSecLib so that we can modify the former in a subsequent patch to cache the GIC revision in a global variable. 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@18099 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-28ArmPkg: split off ArmGicArchLib from ArmGicLibArd Biesheuvel
The current implementation of ArmGicGetSupportedArchRevision () that is used by all ARM platforms is entirely stateless (in order to support being executed from flash) so it needs to interrogate the hardware for the supported GIC revision upon each invocation. However, this statelessness is only needed for SEC type modules; in all other cases, we could easily determine the GIC revision once, and store the result in a global variable. In preparation of having separate early and normal versions, this patch introduces the ArmGicArchLib library class and default implementation, and moves the existing ArmGicGetSupportedArchRevision () into it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-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@18098 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-16ArmPlatformPkg/ArmVExpress-CTA15-A7.fdf: Increased firmware sizeOlivier Martin
Recent changes have made the A15-A7 firmware bigger... Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18029 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-14ArmPlatformPkg: Use LinuxLoader.efi for the default boot entryOlivier Martin
There are still ARM/AArch64 Linux kernels that do not support EFI Stub. By using the EFI Linux loader as the default option we can boot any Linux kernel from UEFI as Linux kernel with EFI stub can also be booted with the legacy way. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17975 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-14ArmPlatformPkg: 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> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17971 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-14ArmPlatformPkg: Add the LinuxLoader.efi EFI applicationRonald Cron
Add the legacy Linux Loader EFI application to the ARM development platforms. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ronald Cron <Ronald.Cron@arm.com> Reviewed-by: Olivier Martin <Olivier.Martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17968 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-10ArmVExpressPkg: use PSCI for system reset only on AARCH64 platformsArd Biesheuvel
The PSCI specification covers both ARM and AARCH64, however, the ARM Trusted Firmware (ATF) reference implementation is only available for AARCH64, and PSCI firmware is not widely available for ARM platforms. So use the EfiResetSystemLib implementation that uses PSCI calls only on AARCH64, and revert to the Versatile Express-specific system register interface (which is only available during boot time) on ARM platforms. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17927 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-10ArmVExpressPkg: use ArmVExpressSysConfigRuntimeLib by defaultArd Biesheuvel
Instead of using a NULL implementation of ArmPlatformSysConfigLib for DXE_RUNTIME_DRIVER modules, which prevents them from accessing system control registers even at boot time, use the new implementation that only switches into a non-functional mode at runtime, and operates as before otherwise. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17926 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-10ArmPlatformPkg/ArmVExpressPkg: add ArmPlatformSysConfigLib for runtimeArd Biesheuvel
This adds a ArmPlatformSysConfigLib implementation that is usable by DXE_RUNTIME_DRIVER modules. Since the system registers that this library encapsulates are not usable at runtime, this driver allows access to those registers only at boot time. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17925 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-10ArmPlatformPkg: Remove Ip4ConfigDxe from ArmPlatformPkgJiaxin Wu
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> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17911 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-08Revert "ArmPlatformPkg/ArmVExpressDxe: Change FDT default file names."Olivier Martin
This reverts commit SVN rev17862. The former commit was breaking the build when DTB_DIR is defined. It has been the patch would be reverted for the time being. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17889 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-07ArmPlatformPkg/ArmVExpress.dsc.inc: Fixed BuildOptionsOlivier Martin
The linker script is specific to GCC toolchain. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17864 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-07ArmPlatformPkg/ArmVExpressDxe: Change FDT default file names.Olivier Martin
On the FVP base and foundation models, the default file name used to retrieve the FDT depended on the values assigned to model parameters (GIC related model parameters). Now, in addition to the fallback "fdt.dtb" file name (used for legacy reason), only one default file name is used : - "fvp-base.dtb" for the base model. - "fvp-foundation.dtb" for the foundation model. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17862 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-06ArmPlatformPkg/ArmVExpressPkg: use 64 KB section alignment for runtime driversArd Biesheuvel
This adds the 64 KB alignment overlay linker script to the linker command line of DXE_RUNTIME_DRIVER modules built for AARCH64. This makes these modules compatible with the new Properties Table feature by aligning the .text and .data sections to 64 KB. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17836 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-06ArmPlatformPkg/ArmVExpress: Fix the CA9x4 and TC2 device tree locationsOlivier Martin
We use the NorFlash file system to read the Device Tree from. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17831 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-06ArmPlatformPkg/ArmVExpressDxe: Renamed the device treeOlivier Martin
Filenames cannot be longer than 8-character long on ARM Versatile Express. Use the default DTB filenames (the ones provided by the ARM Versatile Express DVD) for the different Core Tile. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Olivier Martin <Olivier.Martin@arm.com> Reviewed-by: Ronald Cron <Ronald.Cron@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17830 6f19259b-4bc3-4df7-8a09-765794883524