Commit e3f67124 authored by Juan Castillo's avatar Juan Castillo Committed by Juan Castillo
Browse files

Add optional bl1_plat_prepare_exit() API

This patch adds an optional API to the platform port:

    void bl1_plat_prepare_exit(void);

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 or bookkeeping operations before
transferring control to the next image.

A weak empty definition of this function has been provided to
preserve platform backwards compatibility.

Change-Id: Iec09697de5c449ae84601403795cdb6aca166ba1
parent 1fe4d453
Showing with 23 additions and 0 deletions
+23 -0
......@@ -207,6 +207,8 @@ func smc_handler64
bl disable_mmu_icache_el3
tlbi alle3
bl bl1_plat_prepare_exit
ldp x6, x7, [x20, #(ENTRY_POINT_INFO_ARGS_OFFSET + 0x30)]
ldp x4, x5, [x20, #(ENTRY_POINT_INFO_ARGS_OFFSET + 0x20)]
ldp x2, x3, [x20, #(ENTRY_POINT_INFO_ARGS_OFFSET + 0x10)]
......
......@@ -788,6 +788,17 @@ the entry point set by loader and also set the security state and SPSR which
represents the entry point system state for BL2.
### Function : bl1_plat_prepare_exit() [optional]
Argument : void
Return : void
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
or bookkeeping operations before transferring control to the next image. This
function runs with MMU disabled.
3.2 Boot Loader Stage 2 (BL2)
-----------------------------
......
......@@ -37,6 +37,7 @@
.weak plat_crash_console_putc
.weak plat_reset_handler
.weak plat_disable_acp
.weak bl1_plat_prepare_exit
#if !ENABLE_PLAT_COMPAT
.globl platform_get_core_pos
......@@ -111,3 +112,12 @@ endfunc plat_reset_handler
func plat_disable_acp
ret
endfunc plat_disable_acp
/* -----------------------------------------------------
* void bl1_plat_prepare_exit(void);
* Called before exiting BL1. Default: do nothing
* -----------------------------------------------------
*/
func bl1_plat_prepare_exit
ret
endfunc bl1_plat_prepare_exit
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