Rework handover interface between BL stages
This patch reworks the handover interface from: BL1 to BL2 and
BL2 to BL3-1. It removes the raise_el(), change_el() and
run_image() functions as they catered for code paths that were
never exercised. BL1 calls drop_el() to jump into BL2 instead of
doing the same by calling run_image(). Similarly, BL2 issues the
SMC to transfer execution to BL3-1 through BL1 directly. Only x0
and x1 are used to pass arguments to BL31. These arguments and
parameters for running BL3-1 are passed through a reference to a
'el_change_info_t' structure. They were being passed value in
general purpose registers earlier.

Change-Id: Id4fd019a19a9595de063766d4a66295a2c9307e1
1 parent 4ac66a7 commit 28e3d2688af5da8f6a6289c8faff276fd0065fb7
@Vikram Kanigiri Vikram Kanigiri authored on 15 May 2014
Showing 8 changed files
View
bl1/aarch64/bl1_exceptions.S
View
bl1/bl1_main.c
View
bl2/aarch64/bl2_entrypoint.S
View
bl2/bl2_main.c
View
bl31/aarch64/bl31_entrypoint.S
View
common/bl_common.c
View
include/common/bl_common.h
View
plat/fvp/bl2_plat_setup.c