arm-trusted-firmware/plat
Soby Mathew 6a7b300578 Add helper to return reference to a symbol
This patch adds a utility function to return
the address of a symbol. By default, the compiler
generates adr/adrp instruction pair to return
the reference and this utility is used to override
this compiler generated to code and use `ldr`
instruction.

This is needed for Position Independent Executable
when it needs to reference a symbol which is constant
and does not depend on the execute address of the
binary.

For example, on the FVP, the GICv3 register context is
stored in a secure carveout (arm_el3_tzc_dram) within
DDR and does not relocate with the BL image. Now if
BL31 is executing at a different address other than
the compiled address, using adrp/adr instructions to
reference this memory will not work as they generate an
address that is PC relative. The way to get around this
problem is to reference it as non-PC relative (i.e
non-relocatable location) via `ldr` instruction.

Change-Id: I5008a951b007144258121690afb68dc8e12ee6f7
Signed-off-by: Soby Mathew <soby.mathew@arm.com>
2018-10-29 09:54:31 +00:00
..
allwinner allwinner: Remove references to removed build flags 2018-09-28 15:31:53 +01:00
arm Add helper to return reference to a symbol 2018-10-29 09:54:31 +00:00
common Convert arm_setup_page_tables into a generic helper 2018-10-26 14:55:30 +01:00
hisilicon Add plat_crash_console_flush to platforms without it 2018-10-25 09:56:09 +01:00
imx Merge pull request #1636 from antonio-nino-diaz-arm/an/console 2018-10-25 11:54:57 +02:00
layerscape Multi-console: Deprecate the `finish_console_register` macro 2018-10-19 17:34:52 +01:00
marvell Add plat_crash_console_flush to platforms without it 2018-10-25 09:56:09 +01:00
mediatek Replace S-EL3 references by EL3 2018-10-10 12:11:32 +01:00
nvidia/tegra Add plat_crash_console_flush to platforms without it 2018-10-25 09:56:09 +01:00
qemu xlat: Fix compatibility between v1 and v2 2018-10-26 14:55:30 +01:00
renesas/rcar rcar_gen3: drivers: staging 2018-10-17 18:39:43 +02:00
rockchip rockchip: Use common crash console functions 2018-10-25 09:56:09 +01:00
rpi3 rpi3: Add mem reserve region to DTB if present 2018-10-24 13:54:41 +01:00
socionext uniphier: Migrate to new interfaces 2018-09-28 15:34:17 +01:00
st/stm32mp1 stm32mp1: update platform files to use MMC devices 2018-10-15 09:36:58 +02:00
ti/k3 Convert arm_setup_page_tables into a generic helper 2018-10-26 14:55:30 +01:00
xilinx/zynqmp Convert arm_setup_page_tables into a generic helper 2018-10-26 14:55:30 +01:00