Add support for BL3-2 in BL3-1
authorAchin Gupta <achin.gupta@arm.com>
Wed, 19 Feb 2014 17:58:33 +0000 (17:58 +0000)
committerDan Handley <dan.handley@arm.com>
Thu, 20 Feb 2014 19:06:34 +0000 (19:06 +0000)
commit35ca35119d9dc51f1665184ab6db5e2861c213b4
treead063c1d5bb7b529603570e53a17340d53d19c8b
parenta3050ed521ec1fd6d34d7d8ba5105ac8bc024992
Add support for BL3-2 in BL3-1

This patch adds the following support to the BL3-1 stage:

1. BL3-1 allows runtime services to specify and determine the security
   state of the next image after BL3-1. This has been done by adding
   the `bl31_set_next_image_type()` & `bl31_get_next_image_type()`
   apis. The default security state is non-secure. The platform api
   `bl31_get_next_image_info()` has been modified to let the platform
   decide which is the next image in the desired security state.

2. BL3-1 exports the `bl31_prepare_next_image_entry()` function to
   program entry into the target security state. It uses the apis
   introduced in 1. to do so.

3. BL3-1 reads the information populated by BL2 about the BL3-2 image
   into its internal data structures.

4. BL3-1 introduces a weakly defined reference `bl32_init()` to allow
   initialisation of a BL3-2 image. A runtime service like the Secure
   payload dispatcher will define this function if present.

Change-Id: Icc46dcdb9e475ce6575dd3f9a5dc7a48a83d21d1
bl31/aarch64/bl31_arch_setup.c
bl31/aarch64/bl31_entrypoint.S
bl31/bl31_main.c
docs/porting-guide.md
docs/user-guide.md
include/aarch64/arch.h
include/bl31.h
plat/fvp/bl31_plat_setup.c