plat/common: move arch-agnostic fallback functions to C file
When we add a new callback, we need to duplicate fallbacks among plat/common/{aarch32,aarch64}/platform_helpers.S This is tedious. I created a new C file, then moved 3 functions: plat_error_handler bl2_plat_preload_setup plat_try_next_boot_source They are called from C, so I do not see a good reason to implement them in assembly. Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
This commit is contained in:
parent
c43d68510e
commit
0fc50a86c1
1
Makefile
1
Makefile
|
@ -193,6 +193,7 @@ BL_COMMON_SOURCES += common/bl_common.c \
|
||||||
lib/${ARCH}/cache_helpers.S \
|
lib/${ARCH}/cache_helpers.S \
|
||||||
lib/${ARCH}/misc_helpers.S \
|
lib/${ARCH}/misc_helpers.S \
|
||||||
plat/common/plat_log_common.c \
|
plat/common/plat_log_common.c \
|
||||||
|
plat/common/platform_helpers_default.c \
|
||||||
plat/common/${ARCH}/plat_common.c \
|
plat/common/${ARCH}/plat_common.c \
|
||||||
plat/common/${ARCH}/platform_helpers.S \
|
plat/common/${ARCH}/platform_helpers.S \
|
||||||
${COMPILER_RT_SRCS} \
|
${COMPILER_RT_SRCS} \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2016-2017, ARM Limited and Contributors. All rights reserved.
|
* Copyright (c) 2016-2018, ARM Limited and Contributors. All rights reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: BSD-3-Clause
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
*/
|
*/
|
||||||
|
@ -15,10 +15,7 @@
|
||||||
.weak plat_disable_acp
|
.weak plat_disable_acp
|
||||||
.weak bl1_plat_prepare_exit
|
.weak bl1_plat_prepare_exit
|
||||||
.weak platform_mem_init
|
.weak platform_mem_init
|
||||||
.weak plat_error_handler
|
|
||||||
.weak plat_panic_handler
|
.weak plat_panic_handler
|
||||||
.weak bl2_plat_preload_setup
|
|
||||||
.weak plat_try_next_boot_source
|
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
/* -----------------------------------------------------
|
||||||
* Placeholder function which should be redefined by
|
* Placeholder function which should be redefined by
|
||||||
|
@ -94,16 +91,6 @@ func bl1_plat_prepare_exit
|
||||||
bx lr
|
bx lr
|
||||||
endfunc bl1_plat_prepare_exit
|
endfunc bl1_plat_prepare_exit
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
|
||||||
* void plat_error_handler(int err) __dead2;
|
|
||||||
* Endless loop by default.
|
|
||||||
* -----------------------------------------------------
|
|
||||||
*/
|
|
||||||
func plat_error_handler
|
|
||||||
wfi
|
|
||||||
b plat_error_handler
|
|
||||||
endfunc plat_error_handler
|
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
/* -----------------------------------------------------
|
||||||
* void plat_panic_handler(void) __dead2;
|
* void plat_panic_handler(void) __dead2;
|
||||||
* Endless loop by default.
|
* Endless loop by default.
|
||||||
|
@ -112,23 +99,3 @@ endfunc plat_error_handler
|
||||||
func plat_panic_handler
|
func plat_panic_handler
|
||||||
b plat_panic_handler
|
b plat_panic_handler
|
||||||
endfunc plat_panic_handler
|
endfunc plat_panic_handler
|
||||||
|
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
|
||||||
* Placeholder function which should be redefined by
|
|
||||||
* each platfrom.
|
|
||||||
* -----------------------------------------------------
|
|
||||||
*/
|
|
||||||
func bl2_plat_preload_setup
|
|
||||||
bx lr
|
|
||||||
endfunc bl2_plat_preload_setup
|
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
|
||||||
* Placeholder function which should be redefined by
|
|
||||||
* each platfrom.
|
|
||||||
* -----------------------------------------------------
|
|
||||||
*/
|
|
||||||
func plat_try_next_boot_source
|
|
||||||
mov r0, #0
|
|
||||||
bx lr
|
|
||||||
endfunc plat_try_next_boot_source
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
|
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: BSD-3-Clause
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
*/
|
*/
|
||||||
|
@ -16,10 +16,7 @@
|
||||||
.weak plat_reset_handler
|
.weak plat_reset_handler
|
||||||
.weak plat_disable_acp
|
.weak plat_disable_acp
|
||||||
.weak bl1_plat_prepare_exit
|
.weak bl1_plat_prepare_exit
|
||||||
.weak plat_error_handler
|
|
||||||
.weak plat_panic_handler
|
.weak plat_panic_handler
|
||||||
.weak bl2_plat_preload_setup
|
|
||||||
.weak plat_try_next_boot_source
|
|
||||||
|
|
||||||
#if !ENABLE_PLAT_COMPAT
|
#if !ENABLE_PLAT_COMPAT
|
||||||
.globl platform_get_core_pos
|
.globl platform_get_core_pos
|
||||||
|
@ -158,16 +155,6 @@ func bl1_plat_prepare_exit
|
||||||
ret
|
ret
|
||||||
endfunc bl1_plat_prepare_exit
|
endfunc bl1_plat_prepare_exit
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
|
||||||
* void plat_error_handler(int err) __dead2;
|
|
||||||
* Endless loop by default.
|
|
||||||
* -----------------------------------------------------
|
|
||||||
*/
|
|
||||||
func plat_error_handler
|
|
||||||
wfi
|
|
||||||
b plat_error_handler
|
|
||||||
endfunc plat_error_handler
|
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
/* -----------------------------------------------------
|
||||||
* void plat_panic_handler(void) __dead2;
|
* void plat_panic_handler(void) __dead2;
|
||||||
* Endless loop by default.
|
* Endless loop by default.
|
||||||
|
@ -177,22 +164,3 @@ func plat_panic_handler
|
||||||
wfi
|
wfi
|
||||||
b plat_panic_handler
|
b plat_panic_handler
|
||||||
endfunc plat_panic_handler
|
endfunc plat_panic_handler
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
|
||||||
* Placeholder function which should be redefined by
|
|
||||||
* each platfrom.
|
|
||||||
* -----------------------------------------------------
|
|
||||||
*/
|
|
||||||
func bl2_plat_preload_setup
|
|
||||||
ret
|
|
||||||
endfunc bl2_plat_preload_setup
|
|
||||||
|
|
||||||
/* -----------------------------------------------------
|
|
||||||
* Placeholder function which should be redefined by
|
|
||||||
* each platfrom.
|
|
||||||
* -----------------------------------------------------
|
|
||||||
*/
|
|
||||||
func plat_try_next_boot_source
|
|
||||||
mov x0, #0
|
|
||||||
ret
|
|
||||||
endfunc plat_try_next_boot_source
|
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2013-2018, ARM Limited and Contributors. All rights reserved.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <arch_helpers.h>
|
||||||
|
#include <platform.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Placeholder functions which can be redefined by each platfrom.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#pragma weak plat_error_handler
|
||||||
|
#pragma weak bl2_plat_preload_setup
|
||||||
|
#pragma weak plat_try_next_boot_source
|
||||||
|
|
||||||
|
void __dead2 plat_error_handler(int err)
|
||||||
|
{
|
||||||
|
while (1)
|
||||||
|
wfi();
|
||||||
|
}
|
||||||
|
|
||||||
|
void bl2_plat_preload_setup(void)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
int plat_try_next_boot_source(void)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue