Commit 862b5dc2 authored by Sandrine Bailleux's avatar Sandrine Bailleux Committed by Achin Gupta
Browse files

Pass the entry point info to bl1_plat_prepare_exit()

This patch modifies the prototype of the bl1_plat_prepare_exit()
platform API to pass the address of the entry point info structure
received from BL2. The structure contains information that can be
useful, depending on the kind of clean up or bookkeeping operations
to perform.

The weak implementation of this function ignores this argument to
preserve platform backwards compatibility.

NOTE: THIS PATCH MAY BREAK PLATFORM PORTS THAT ARE RELYING ON THE
FORMER PROTOTYPE OF THE BL1_PLAT_PREPARE_EXIT() API.

Change-Id: I3fc18f637de06c85719c4ee84c85d6a4572a0fdb
parent 35e8c766
...@@ -213,6 +213,7 @@ debug_loop: ...@@ -213,6 +213,7 @@ debug_loop:
b debug_loop b debug_loop
#endif #endif
mov x0, x20
bl bl1_plat_prepare_exit bl bl1_plat_prepare_exit
ldp x6, x7, [x20, #(ENTRY_POINT_INFO_ARGS_OFFSET + 0x30)] ldp x6, x7, [x20, #(ENTRY_POINT_INFO_ARGS_OFFSET + 0x30)]
......
...@@ -810,13 +810,14 @@ represents the entry point system state for BL2. ...@@ -810,13 +810,14 @@ represents the entry point system state for BL2.
### Function : bl1_plat_prepare_exit() [optional] ### Function : bl1_plat_prepare_exit() [optional]
Argument : void Argument : entry_point_info_t *
Return : void Return : void
This function is called prior to exiting BL1 in response to the `RUN_IMAGE_SMC` This function is called prior to exiting BL1 in response to the `RUN_IMAGE` SMC
request raised by BL2. It should be used to perform platform specific clean up request raised by BL2. It should be used to perform platform specific clean up
or bookkeeping operations before transferring control to the next image. This or bookkeeping operations before transferring control to the next image. It
function runs with MMU disabled. receives the address of the `entry_point_info_t` structure passed from BL2.
This function runs with MMU disabled.
3.2 Boot Loader Stage 2 (BL2) 3.2 Boot Loader Stage 2 (BL2)
......
...@@ -115,7 +115,7 @@ func plat_disable_acp ...@@ -115,7 +115,7 @@ func plat_disable_acp
endfunc plat_disable_acp endfunc plat_disable_acp
/* ----------------------------------------------------- /* -----------------------------------------------------
* void bl1_plat_prepare_exit(void); * void bl1_plat_prepare_exit(entry_point_info_t *ep_info);
* Called before exiting BL1. Default: do nothing * Called before exiting BL1. Default: do nothing
* ----------------------------------------------------- * -----------------------------------------------------
*/ */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment