From 29fb905d5f36a415a170a4bffeadf13b5f084345 Mon Sep 17 00:00:00 2001 From: Vikram Kanigiri Date: Thu, 15 May 2014 18:27:15 +0100 Subject: 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(), drop_el() and run_image() functions as they catered for code paths that were never exercised. BL1 calls bl1_run_bl2() 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 --- bl2/aarch64/bl2_entrypoint.S | 2 -- 1 file changed, 2 deletions(-) (limited to 'bl2/aarch64') diff --git a/bl2/aarch64/bl2_entrypoint.S b/bl2/aarch64/bl2_entrypoint.S index 4f7565f4..09eadff2 100644 --- a/bl2/aarch64/bl2_entrypoint.S +++ b/bl2/aarch64/bl2_entrypoint.S @@ -46,7 +46,6 @@ func bl2_entrypoint */ mov x20, x0 mov x21, x1 - mov x22, x2 /* --------------------------------------------- * This is BL2 which is expected to be executed @@ -110,7 +109,6 @@ func bl2_entrypoint * --------------------------------------------- */ mov x0, x21 - mov x1, x22 bl bl2_early_platform_setup bl bl2_plat_arch_setup -- cgit v1.2.3