AArch32: Common changes needed for BL1/BL2
authorYatharth Kochar <yatharth.kochar@arm.com>
Tue, 28 Jun 2016 15:58:26 +0000 (16:58 +0100)
committerYatharth Kochar <yatharth.kochar@arm.com>
Wed, 21 Sep 2016 15:27:15 +0000 (16:27 +0100)
commit1a0a3f0622e4b569513304109d9a0d093b71228a
tree9850566923168a92a6ec7ebbabe03119f14b2786
parenta8aa7fec1d4a6df8617c0d0463f1e10f1827a609
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
18 files changed:
Makefile
common/aarch32/debug.S
docs/porting-guide.md
include/common/aarch32/asm_macros.S
include/common/aarch32/el3_common_macros.S [new file with mode: 0644]
include/lib/aarch32/arch.h
include/lib/aarch32/arch_helpers.h
include/lib/cpus/aarch32/cpu_macros.S
include/plat/common/common_def.h
include/plat/common/platform.h
lib/aarch32/misc_helpers.S
lib/cpus/aarch32/cpu_helpers.S
lib/semihosting/aarch32/semihosting_call.S [new file with mode: 0644]
plat/arm/board/common/aarch32/board_arm_helpers.S [new file with mode: 0644]
plat/arm/board/common/board_common.mk
plat/arm/board/fvp/aarch32/fvp_helpers.S
plat/common/aarch32/platform_helpers.S
plat/common/aarch32/platform_up_stack.S [new file with mode: 0644]