diff options
author | Yatharth Kochar <yatharth.kochar@arm.com> | 2016-06-28 16:58:26 +0100 |
---|---|---|
committer | Yatharth Kochar <yatharth.kochar@arm.com> | 2016-09-21 16:27:15 +0100 |
commit | 1a0a3f0622e4b569513304109d9a0d093b71228a (patch) | |
tree | 9850566923168a92a6ec7ebbabe03119f14b2786 /lib/cpus | |
parent | a8aa7fec1d4a6df8617c0d0463f1e10f1827a609 (diff) |
AArch32: Common changes needed for BL1/BL2
This patch adds common changes to support AArch32 state in
BL1 and BL2. Following are the changes:
* Added functions for disabling MMU from Secure state.
* Added AArch32 specific SMC function.
* Added semihosting support.
* Added reporting of unhandled exceptions.
* Added uniprocessor stack support.
* Added `el3_entrypoint_common` macro that can be
shared by BL1 and BL32 (SP_MIN) BL stages. The
`el3_entrypoint_common` is similar to the AArch64
counterpart with the main difference in the assembly
instructions and the registers that are relevant to
AArch32 execution state.
* Enabled `LOAD_IMAGE_V2` flag in Makefile for
`ARCH=aarch32` and added check to make sure that
platform has not overridden to disable it.
Change-Id: I33c6d8dfefb2e5d142fdfd06a0f4a7332962e1a3
Diffstat (limited to 'lib/cpus')
-rw-r--r-- | lib/cpus/aarch32/cpu_helpers.S | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/cpus/aarch32/cpu_helpers.S b/lib/cpus/aarch32/cpu_helpers.S index 927a6f50..042ffbdd 100644 --- a/lib/cpus/aarch32/cpu_helpers.S +++ b/lib/cpus/aarch32/cpu_helpers.S @@ -34,6 +34,7 @@ #include <cpu_data.h> #include <cpu_macros.S> +#if IMAGE_BL1 || IMAGE_BL32 /* * The reset handler common to all platforms. After a matching * cpu_ops structure entry is found, the correponding reset_handler @@ -65,6 +66,9 @@ func reset_handler bx lr endfunc reset_handler +#endif /* IMAGE_BL1 || IMAGE_BL32 */ + +#if IMAGE_BL32 /* The power down core and cluster is needed only in BL32 */ /* * The prepare core power down function for all platforms. After * the cpu_ops pointer is retrieved from cpu_data, the corresponding @@ -132,6 +136,8 @@ func init_cpu_ops pop {r4 - r6, pc} endfunc init_cpu_ops +#endif /* IMAGE_BL32 */ + /* * The below function returns the cpu_ops structure matching the * midr of the core. It reads the MIDR and finds the matching |