Browse Source

Merge pull request #411 from jcastillo-arm/jc/plat_bl1_exit

Jc/plat bl1 exit
pull/416/head
danh-arm 9 years ago
parent
commit
7b66a0269e
  1. 2
      bl1/aarch64/bl1_exceptions.S
  2. 11
      docs/porting-guide.md
  3. 10
      plat/common/aarch64/platform_helpers.S

2
bl1/aarch64/bl1_exceptions.S

@ -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)]

11
docs/porting-guide.md

@ -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)
-----------------------------

10
plat/common/aarch64/platform_helpers.S

@ -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…
Cancel
Save