Remove `RUN_IMAGE` usage as opcode passed to next EL.

The primary usage of `RUN_IMAGE` SMC function id, used by BL2 is to
make a request to BL1 to execute BL31. But BL2 also uses it as
opcode to check if it is allowed to execute which is not the
intended usage of `RUN_IMAGE` SMC.

This patch removes the usage of `RUN_IMAGE` as opcode passed to
next EL to check if it is allowed to execute.

Change-Id: I6aebe0415ade3f43401a4c8a323457f032673657
This commit is contained in:
Yatharth Kochar 2015-10-29 12:47:02 +00:00
parent 5ba8f6697f
commit 5698c5b3db
3 changed files with 6 additions and 19 deletions

View File

@ -51,9 +51,6 @@ static void __dead2 bl1_run_bl2(entry_point_info_t *bl2_ep)
bl1_arch_next_el_setup();
/* Tell next EL what we want done */
bl2_ep->args.arg0 = RUN_IMAGE;
write_spsr_el3(bl2_ep->spsr);
write_elr_el3(bl2_ep->pc);

View File

@ -39,13 +39,12 @@
func bl2_entrypoint
/*---------------------------------------------
* Store the extents of the tzram available to
* BL2 for future use. Use the opcode param to
* allow implement other functions if needed.
* Save from x1 the extents of the tzram
* available to BL2 for future use.
* x0 is not currently used.
* ---------------------------------------------
*/
mov x20, x0
mov x21, x1
*/
mov x20, x1
/* ---------------------------------------------
* Set the exception vector to something sane.
@ -73,14 +72,6 @@ func bl2_entrypoint
msr sctlr_el1, x0
isb
/* ---------------------------------------------
* Check the opcodes out of paranoia.
* ---------------------------------------------
*/
mov x0, #RUN_IMAGE
cmp x0, x20
b.ne _panic
/* ---------------------------------------------
* Invalidate the RW memory used by the BL2
* image. This includes the data and NOBITS
@ -126,7 +117,7 @@ func bl2_entrypoint
* specific early arch. setup e.g. mmu setup
* ---------------------------------------------
*/
mov x0, x21
mov x0, x20
bl bl2_early_platform_setup
bl bl2_plat_arch_setup

View File

@ -46,7 +46,6 @@
#define BOTTOM !TOP
/******************************************************************************
* Opcode passed in x0 to tell next EL that we want to run an image.
* Corresponds to the function ID of the only SMC that the BL1 exception
* handlers service. That's why the chosen value is the first function ID of
* the ARM SMC64 range.