Add support for BL3-1 as a reset vector
authorVikram Kanigiri <vikram.kanigiri@arm.com>
Thu, 24 Apr 2014 10:02:16 +0000 (11:02 +0100)
committerVikram Kanigiri <vikram.kanigiri@arm.com>
Thu, 22 May 2014 15:25:09 +0000 (16:25 +0100)
commitdbad1bacba0a7adfd3c7c559f0fd0805087aeddd
tree89884033b665aeca41682ddb79f76006d0429c85
parent6871c5d3a227cb95008a25e90e358ec0ac615222
Add support for BL3-1 as a reset vector

This change adds optional reset vector support to BL3-1
which means BL3-1 entry point can detect cold/warm boot,
initialise primary cpu, set up cci and mail box.

When using BL3-1 as a reset vector it is assumed that
the BL3-1 platform code can determine the location of
the BL3-2 images, or load them as there are no parameters
that can be passed to BL3-1 at reset.

It also fixes the incorrect initialisation of mailbox
registers on the FVP platform

This feature can be enabled by building the code with
make variable RESET_TO_BL31 set as 1

Fixes ARM-software/TF-issues#133
Fixes ARM-software/TF-issues#20

Change-Id: I4e23939b1c518614b899f549f1e8d412538ee570
14 files changed:
Makefile
bl1/aarch64/bl1_entrypoint.S
bl31/aarch64/bl31_entrypoint.S
bl31/bl31.mk
include/common/asm_macros.S
plat/fvp/aarch64/bl1_plat_helpers.S [deleted file]
plat/fvp/aarch64/plat_common.c
plat/fvp/aarch64/plat_helpers.S
plat/fvp/bl1_plat_setup.c
plat/fvp/bl2_plat_setup.c
plat/fvp/bl31_plat_setup.c
plat/fvp/plat_pm.c
plat/fvp/platform.h
plat/fvp/platform.mk