summaryrefslogtreecommitdiffstats
path: root/ArmPlatformPkg/ArmJunoPkg
Commit message (Collapse)AuthorAgeFilesLines
* ArmPlatformPkg: remove ArmJunoPkgArd Biesheuvel2017-11-2613-1636/+0
| | | | | | | | | Remove ArmJunoPkg now that it has been moved into edk2-platforms where it belongs. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg: Add PCD for SBSA Watchdog CountSami Mujawar2017-10-061-2/+1
| | | | | | | | | | | | | | The Juno and FVP platform implement the SBSA Watchdog timers. Added PcdWatchdogCount to specify the number of Watchdog timers that are available. This allows configurability and an option to disable the watchdog timers if required for testing. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Signed-off-by: Evan Lloyd <evan.lloyd@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoDxe: remove bogus DmaLib dependencyArd Biesheuvel2017-08-301-1/+0
| | | | | | | | | This driver does not rely on DmaLib at all, so don't declare it as a dependency. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg: eliminate Juno gcc build warningLeif Lindholm2017-06-201-0/+1
| | | | | | | | | | | | When building without LTO, gcc incorrectly resolves the hazards for 'PciRegBase’ when inlining, leading to "may be used uninitialized" warnings (and hence build failure with -Werror). Eliminate this warning by explicitly initializing the variable to 0. 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>
* ArmPlatformPkg/ArmJunoDxe: simplify ACPI table installationArd Biesheuvel2017-04-051-36/+1
| | | | | | | | | | | Having a three way conditional with callbacks would make sense if the callbacks weren't (a) identical and (b) didn't return TRUE all the time. So get rid of the kludge. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoPkg: remove PCI host bridge driverArd Biesheuvel2017-04-057-2270/+0
| | | | | | | | | | | | | | | | We are switching the Juno platform to the generic host bridge driver, which involves implementing PciHostBridgeLib for this platform, and plugging it into MdeModulePkg's PciHostBridgeDxe.inf. Since the platform descriptions no longer live in upstream EDK2, the PciHostBridgeLib implementation (which reuses some of the code removed here) will live there as well. But this PciHostBridgeDxe driver is no longer used, so remove it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoDxe: don't register OnEndOfDxe event on rev R0Ard Biesheuvel2017-04-051-24/+19
| | | | | | | | | | | | | The ArmJunoDxe driver code registers a callback for the EndOfDxe event, at which time it does some manipulation of the PCI peripherals on the board. Given that R0 has no working PCIe, instead of conditionally performing these operations, omit the registration of the callback altogether on that platform. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoDxe: use the generic non-discoverable device supportArd Biesheuvel2017-04-056-1190/+27
| | | | | | | | | | | Replace the open coded reimplementation of 'PCI emulation' with a pair of calls into NonDiscoverableDeviceRegistrationLib to register the OHCI and EHCI controllers. These will be picked up by the generic driver instead. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoDxe: remove BdsLib dependencyArd Biesheuvel2017-04-051-1/+0
| | | | | | | | | | The ArmJunoDxe driver does not actually depend on the deprecated BdsLib so remove the dependency declaration from the INF file. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoPkg/Drivers/ArmJunoDxe: Fixed crash on Juno R0Daniil Egranov2017-01-251-2/+9
| | | | | | | | | | The Marvell Yukon MAC address load supported only on Juno R1 and R2. It disabled for Juno R0 due to PCI issues on this board. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daniil Egranov <daniil.egranov@arm.com> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoDxe: Set Marvell Yukon MAC addressDaniil Egranov2017-01-102-0/+302
| | | | | | | | | The patch reads a valid MAC address from the Juno IOFPGA registers and pushes it into onboard Marvell Yukon NIC. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daniil Egranov <daniil.egranov@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoPkg/Drivers/PciHostBridgeDxe: Fix for PCI Dual Address ↵Daniil Egranov2016-10-121-3/+6
| | | | | | | | | | | | Cycle The fix handles the PCI Dual Address Cycle Attribute case. It allows drivers using PCI DAC run on Juno. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Daniil Egranov <daniil.egranov@arm.com> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Tested-by: Ryan Harkin <ryan.harkin@linaro.org>
* ArmPlatformPkg: remove EFI_MEMORY_UC attribute from normal memoryArd Biesheuvel2016-09-081-1/+0
| | | | | | | | | | | | | | | | 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>
* ArmPlatformPkg/ArmJunoLib: switch to ASM_FUNC() asm macroArd Biesheuvel2016-08-112-52/+21
| | | | | | | | | | | 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>
* ArmPlatformPkg: Convert ArmJunoDxe to use common juno revision codeJeremy Linton2016-07-281-43/+19
| | | | | | | | | Now that the code to detect the Juno revision is in the header go ahead and covert the ArmJunoDxe to use it. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg: break out juno revision detectionJeremy Linton2016-07-281-2/+27
| | | | | | | | | | The code to detect what juno revision we are running on is fairly small put it in a common header where it may be used in a couple places. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJuno: Correct AXI->PCIe translation commentsJeremy Linton2016-07-141-2/+2
| | | | | | | | | | | | | | | The AXI<->PCIe translation comments are out of date with respect to the code. In the first case the AXI master port is incorrectly called a slave. In the second case the the translation direction indicated for the slave port is the wrong direction. Correct both of these comments to reflect what the code is doing. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJuno: fix Juno PIO host bridge mappingJeremy Linton2016-07-141-3/+6
| | | | | | | | | | | The Juno PIO mapping is 8M, so it should be using a 32-bit PIO address translation. Further, PIO addresses should start at 0 and be translated to/from the ARM MMIO region. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg: Set Juno debug serial port defaultsEvan Lloyd2016-07-072-3/+48
| | | | | | | | | | | | | | | | | | | | | | | | | Juno has several serial ports, one of which may be used for a remote debug interface (e.g. gdb, WinDbg). The debug serial port needs to be distinct from that used for UEFI trace to prevent corruption of debugger protocol messaging. The UEFI spec requires that serial devices be initialised to default settings. (11.8 Serial I/O Protocol - "The default attributes for all UART-style serial device interfaces are: 115,200 baud, ..." and 17.3.3 EFI Debugport Variable - "These defaults must be used in the absence of a DEBUGPORT variable...") This change adds initialization of the serial device reported in the ACPI DBG2 table. The initialisation is done early in the boot to allow the possibility of remote debug of UEFI itself. NOTE: This is functionally dependent on the DBG2 table being updated in OpenPlatformPkg, but is required as a precursor to that change. 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> Tested-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg: move PCI related PCD definitions to ArmPkgArd Biesheuvel2016-04-293-14/+14
| | | | | | | | | | | | | | The PCI related PCDs are not platform specific, and architectural protocols such as CpuIo2 are based on PCI provided MMIO to IO translation, so these PCDs belong in ArmPkg not ArmPlatformPkg. NOTE: this *WILL* break some out-of-tree platforms, the fix is changing all consumers of gArmPlatformTokenSpaceGuid.PcdPci* to gArmTokenSpaceGuid.PcdPci* Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg: Remove orphaned Juno MakefileLeif Lindholm2016-02-181-87/+0
| | | | | | | | | | | The Juno .dsc and .fdf files were recently deleted (currently held in OpenPlatformPkg), but a spurious Makefile for building using it was left in place. Drop the Makefile to complete the cleanup. 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>
* ArmPlatformPkg: delete Juno ACPI tablesLeif Lindholm2016-02-167-831/+0
| | | | | | | | | | Juno is now managed in OpenPlatformPkg, including the ACPI tables - so delete this unmaintained copy. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Ryan Harkin <ryan.harkin@linaro.org>
* ArmPlatformPkg/ArmJunoPkg: only have 1 PCD for the FDTRyan Harkin2016-02-123-19/+3
| | | | | | | | | | | | | | | | Juno doesn't have lots of DTB files in NOR flash, it only has 1 file, called "board.dtb" and the motherboard configuration makes the right choice about which DTB file gets written as board.dtb in NOR. The code attempts to select which DTB it should use based on the board variant or configuration. And this doesn't work because those DTB files aren't present in NOR flash. So remove the DTB variants and only load board.dtb. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg/ArmJunoPkg: don't create default boot entriesRyan Harkin2016-02-121-255/+0
| | | | | | | | | | Code was inserted to create default boot entries for Juno R1. These don't work, but they are also preventing the board from booting into the default options that Intel BDS would otherwise boot. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org>
* ArmPlatformPkg: remove ArmJuno.dsc/fdfRyan Harkin2016-02-092-656/+0
| | | | | | | | | | | | | | | | | | | ARM Ltd Platform support is migrating to use OpenPlatformPkg [1]. Currently, Juno 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. We can't remove ArmJuno.dec yet because ACPI still uses it to set the include path to ArmPlatform.h. [1] https://git.linaro.org/uefi/OpenPlatformPkg.git [2] https://git.linaro.org/uefi/OpenPlatformPkg.git/tree/master:/Platforms/ARM/Juno Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
* ArmPlatformPkg/ArmJunoLib: use declared PPI rather than module local varArd Biesheuvel2015-12-142-3/+4
| | | | | | | | | | | | 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@19240 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoDxe: drop bogus gArmGlobalVariableGuid dependencyArd Biesheuvel2015-11-271-1/+0
| | | | | | | | | | | ArmJunoDxe 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@18999 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: drop ArmPlatformGlobalVariableLib resolutionsArd Biesheuvel2015-11-271-4/+1
| | | | | | | | | | | 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
* ArmPlatformPkg: Use SerialDxe in MdeModulePkg instead of EmbeddedPkgStar Zeng2015-11-262-2/+4
| | | | | | | | | | | | | | 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
* ArmPlatformPkg: Juno - add correct SPI interrupt numbers for MSIJeremy Linton2015-11-032-1/+7
| | | | | | | | | | | | | | | | | | | The JunoR1 has a GICv2m which is a GICv2 with a little piece of hardware that has some memory mapped locations that can trigger traditional SPI interrupts. This allows some basic PCIe MSI capabilities. Setup the SPI range that is mapped by the MSI window. This range is described in the JunoR1 SoC TRM, table 3-3. Under Interrupt ID 244-351 is described as "GICv2m PCI Express MSI". In the future when these tables are generated programmatically the information may be found in the MSI_TYPER register as well. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> 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@18723 6f19259b-4bc3-4df7-8a09-765794883524
* Update the ACPI device information for ARM Juno.Jeremy Linton2015-10-192-2/+13
| | | | | | | | | | | | | | | | | | | | | These patches correct a number of problems with the JUNO ACPI tables. First, put CCA attributes on the devices which can do DMA. This is because the linux kernel now requires ARM64 devices specify a coherency model. Without CCA the devices are unable to perform DMA. Update the EHCI window to a full 64k as documented in the Juno Platform SoC TRM. This makes it match the values used in some other places. Finally, add some _DSD entries for the SMSC ethernet chip. The latter changes are required for the mainline kernels to use the adapter. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeremy Linton <jeremy.linton@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18628 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: CRLF fixups for Juno ACPILeif Lindholm2015-10-192-194/+194
| | | | | | | | | | All of AcpiSsdtRootPci.asl and some bits of Gtdt.aslc used LF-only line separators. Fix before committing new modifications. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18627 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Fixes for Juno ACPISupreeth Venkatesh2015-10-071-7/+20
| | | | | | | | | | | | | | 1. Change Interrupt for Juno PCI Routing table Interrupt Number Reference: http://www.arm.com/files/pdf/DDI0515D1a_juno_arm_development_platform_soc_trm.pdf table 3-3 page 3-7 2. Support for PCI IO range with ACPI on JUNO Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Supreeth Venkatesh <supreeth.venkatesh@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18576 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg/Madt.aslc: Fix MADT header versionSudeep Holla2015-10-061-12/+12
| | | | | | | | | | | | | Currently the MADT signature and revision is mapped to v1.0 macros which results in MADT with incorrect entries in the header for Juno. This patch fixes these EFI_ACPI_*_0_MULTIPLE_APIC_DESCRIPTION_TABLE macros by using appropriate v5.0 versions. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Sudeep Holla <sudeep.holla@arm.com> Reviewed-by: Leif Lindholm <leif.lindholm@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18572 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Link separated VarCheckUefiLib NULL class library instanceStar Zeng2015-08-251-1/+4
| | | | | | | | | | 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
* ArmPlatformPkg: remove mention of ARMGCC and ARMLINUXGCCArd Biesheuvel2015-08-121-3/+1
| | | | | | | | | | | | | Remove the ARMGCC and ARMLINUXGCC from comments in the respective Makefiles of ArmPlatformPkg and ArmJunoPkg. Also drop the wildly outdated Versatile Express instructions, since they refer to ARMGCC as well. 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@18209 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg: use TE 'auto' alignment for SEC modulesArd Biesheuvel2015-08-101-4/+4
| | | | | | | | | | | | | | | | No need to hardcode the TE alignment anymore, now that GenFw sets the PE/COFF alignment according to the alignment requirements of the ELF input sections. Also enable FIXED FFS placement so that we can reclaim some of the space wasted to padding when using clang with 4 KB section alignment. 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@18195 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg: use a rodata symbol for ReferenceAcpiTableArd Biesheuvel2015-08-104-44/+20
| | | | | | | | | | | | | | | | | | | | The ACPI .aslc files contain a ReferenceAcpiTable() function whose sole purpose is to ensure that the table itself does not get optimized away. However, when using clang, these dummy functions result in a 4 KB section alignment requirement, which is silly since everything except the .data section is discarded later anyway. So instead, make ReferenceAcpiTable a CONST pointer to VOID*. This way, we still have a .text section, which is mandatory for the PE/COFF conversion, but no executable code with small model relocations that impose additional alignment requirements. 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@18194 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Use LinuxLoader.efi for the default boot entryOlivier Martin2015-07-141-3/+2
| | | | | | | | | | | | | | | 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
* ArmPlatformPkg: Remove Linux specific boot pathOlivier Martin2015-07-141-1/+0
| | | | | | | | | | | | | | | 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
* ArmPlatformPkg: Add the LinuxLoader.efi EFI applicationRonald Cron2015-07-141-0/+1
| | | | | | | | | | | | | 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
* ArmPlatformPkg: Remove Ip4ConfigDxe from ArmPlatformPkgJiaxin 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> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17911 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg: Give a name to the FVOlivier Martin2015-07-061-0/+1
| | | | | | | | | | | | | | | | By default, a MemoryMap() EFI Device Path is created for the Firmware Volumes. It means it is difficult to build a Non-Volatile permanent Device Path for the Firmware Volume as the location in System Memory may change. 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@17827 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoDxe: Fixed PCI Root bridge device pathOlivier Martin2015-05-271-0/+10
| | | | | | | | | | | | The PCI Root bridge is defined by PciRoot(0x0)/Pci(0x0,0x0). 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@17528 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg/Madt.aslc: Added GIC MSI Frame TableOlivier Martin2015-05-271-1/+3
| | | | | | | | | 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@17524 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg: ACPI PCI SupportOlivier Martin2015-05-276-5/+316
| | | | | | | | | | 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@17522 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoDxe: Fix buildOlivier Martin2015-05-121-0/+1
| | | | | | | | | | 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@17420 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg: Only enable PCI support on Juno R1Olivier Martin2015-05-113-0/+9
| | | | | | | | | | | | PCI support is only present on Juno R1. 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@17415 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg: Enable PCI and SATA supportOlivier Martin2015-05-117-4/+171
| | | | | | | | | | 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@17414 6f19259b-4bc3-4df7-8a09-765794883524
* ArmPlatformPkg/ArmJunoPkg: Added PCI supportOlivier Martin2015-05-118-0/+2272
| | | | | | | | | | | | Added driver for the Juno R1 root complex. 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@17412 6f19259b-4bc3-4df7-8a09-765794883524