arm-trusted-firmware/include/lib
Yatharth Kochar 07570d592e Changes to support execution in AArch32 state for JUNO
Following steps are required to boot JUNO in AArch32 state:
1> BL1, in AArch64 state, loads BL2.
2> BL2, in AArch64 state, initializes DDR.
  Loads SP_MIN & BL33 (AArch32 executable)images.
  Calls RUN_IMAGE SMC to go back to BL1.
3> BL1 writes AArch32 executable opcodes, to load and branch
  at the entrypoint address of SP_MIN, at HI-VECTOR address and
  then request for warm reset in AArch32 state using RMR_EL3.

This patch makes following changes to facilitate above steps:
* Added assembly function to carry out step 3 above.
* Added region in TZC that enables Secure access to the
  HI-VECTOR(0xFFFF0000) address space.
* AArch32 image descriptor is used, in BL2, to load
  SP_MIN and BL33 AArch32 executable images.

A new flag `JUNO_AARCH32_EL3_RUNTIME` is introduced that
controls above changes. By default this flag is disabled.

NOTE: BL1 and BL2 are not supported in AArch32 state for JUNO.

Change-Id: I091d56a0e6d36663e6d9d2bb53c92c672195d1ec
Signed-off-by: Yatharth Kochar <yatharth.kochar@arm.com>
Signed-off-by: dp-arm <dimitris.papastamos@arm.com>
2017-04-20 15:05:21 +01:00
..
aarch32 AArch32: Add support for ARM Cortex-A53/57/72 MPCore Processor 2017-04-20 15:05:21 +01:00
aarch64 Changes to support execution in AArch32 state for JUNO 2017-04-20 15:05:21 +01:00
cpus AArch32: Add support for ARM Cortex-A53/57/72 MPCore Processor 2017-04-20 15:05:21 +01:00
el3_runtime Re-factor header files for easier PSCI library integration 2017-03-27 15:53:44 +01:00
libfdt libfdt: Replace v1.4.1 by v1.4.2 2017-01-16 17:26:04 +00:00
pmf PMF: Fixup PMF constants 2017-02-02 13:48:11 +00:00
psci Re-factor header files for easier PSCI library integration 2017-03-27 15:53:44 +01:00
stdlib stdlib: add memcpy16() to string.h 2017-02-28 08:50:01 -08:00
xlat_tables Add support to change xlat_tables to non-cacheable 2017-03-28 10:32:17 +01:00
bakery_lock.h Fix build error with optimizations disabled (-O0) 2016-04-14 16:24:03 +01:00
cassert.h Remove direct usage of __attribute__((foo)) 2016-01-14 10:55:17 -08:00
mmio.h Add mmio utility functions 2015-08-05 19:55:06 +08:00
runtime_instr.h Add two timestamps to measure PSCI cache flush overhead 2016-12-14 09:53:14 +00:00
semihosting.h Remove variables from .data section 2014-05-06 17:55:38 +01:00
smcc.h Resolve build errors flagged by GCC 6.2 2017-01-26 13:47:37 +00:00
spinlock.h Allow spin locks to be defined from assembly 2017-01-30 14:53:17 +00:00
utils.h Introduce MIN()/MAX() macros in utils.h 2017-03-31 13:58:51 +01:00