mirror of
https://github.com/ARM-software/arm-trusted-firmware.git
synced 2025-04-18 02:24:18 +00:00
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
This commit is contained in:
parent
1fe4d4537e
commit
e3f6712409
3 changed files with 23 additions and 0 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue