u-boot/arch/arm/lib
Marc Zyngier f510aeae68 ARM: HYP/non-sec: allow relocation to secure RAM
The current non-sec switching code suffers from one major issue:
it cannot run in secure RAM, as a large part of u-boot still needs
to be run while we're switched to non-secure.

This patch reworks the whole HYP/non-secure strategy by:
- making sure the secure code is the *last* thing u-boot executes
  before entering the payload
- performing an exception return from secure mode directly into
  the payload
- allowing the code to be dynamically relocated to secure RAM
  before switching to non-secure.

This involves quite a bit of horrible code, specially as u-boot
relocation is quite primitive.

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
2014-07-28 17:19:09 +02:00
..
_ashldi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_ashrdi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_divsi3.S cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
_lshrdi3.S Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
_modsi3.S cosmetic: remove empty lines at the top of file 2013-11-08 09:41:37 -05:00
_udivsi3.S Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
_umodsi3.S Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
asm-offsets.c kbuild: move asm-offsets.c from SoC directory to arch/$(ARCH)/lib 2014-03-28 15:06:29 -04:00
board.c arm: fdt_control: fix a build error with CONFIG_OF_EMBED=y 2014-06-05 14:38:38 -04:00
bootm-fdt.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
bootm.c ARM: HYP/non-sec: allow relocation to secure RAM 2014-07-28 17:19:09 +02:00
cache-cp15.c ARM: cache_v7: use __weak 2014-07-04 19:57:22 +02:00
cache-pl310.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
cache.c ARM: cache_v7: use __weak 2014-07-04 19:57:22 +02:00
crt0.S arm: use canonical sub mnemonic 2014-01-14 12:38:47 +01:00
crt0_64.S arm64: core support 2014-01-09 16:08:44 +01:00
div0.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
eabi_compat.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
gic_64.S arm64 patch: gicv3 support 2014-04-08 00:15:12 +02:00
interrupts.c ARM: add missing HYP mode constant 2014-07-28 17:06:35 +02:00
interrupts_64.c arm64: core support 2014-01-09 16:08:44 +01:00
Makefile arm: Add support for semihosting for armv8 fastmodel targets. 2014-07-03 08:35:45 +02:00
memcpy.S arm: lib: memcpy: Do not copy to same address 2011-09-03 22:40:45 +02:00
memset.S arm: Use optimized memcpy and memset from linux 2011-04-27 19:38:07 +02:00
relocate.S Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
relocate_64.S armv8/cache: Flush D-cache, invalidate I-cache for relocation 2014-04-07 17:43:36 +02:00
reset.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
sections.c ARM: HYP/non-sec: add separate section for secure code 2014-07-28 17:07:23 +02:00
semihosting.c arm: Add support for semihosting for armv8 fastmodel targets. 2014-07-03 08:35:45 +02:00
spl.c arm: spl: Do not set the stack pointer twice 2013-09-14 11:14:21 +02:00
vectors.S arm: fix a double-definition error of _start symbol 2014-06-09 10:36:40 +02:00