diff options
author | Chanho Park <chanho61.park@samsung.com> | 2023-08-29 10:20:14 +0900 |
---|---|---|
committer | Leo Yu-Chi Liang <ycliang@andestech.com> | 2023-09-05 10:53:51 +0800 |
commit | ef08687ea0e2b5d57a1df51e6613bc4263747943 (patch) | |
tree | 22d8ad93fb84a5320b7051a15141050d2f3db49e | |
parent | f39e24496af503c7968cc5e15940701fdf2a0c5b (diff) | |
download | u-boot-ef08687ea0e2b5d57a1df51e6613bc4263747943.tar.gz u-boot-ef08687ea0e2b5d57a1df51e6613bc4263747943.tar.bz2 u-boot-ef08687ea0e2b5d57a1df51e6613bc4263747943.zip |
spl: add __noreturn attribute to spl_invoke_opensbi function
spl_invoke_opensbi function is not returned to SPL. Thus, we need to
set __noreturn function attribute.
Signed-off-by: Chanho Park <chanho61.park@samsung.com>
Reviewed-by: Leo Yu-Chi Liang <ycliang@andestech.com>
-rw-r--r-- | common/spl/spl_opensbi.c | 7 | ||||
-rw-r--r-- | include/spl.h | 2 |
2 files changed, 5 insertions, 4 deletions
diff --git a/common/spl/spl_opensbi.c b/common/spl/spl_opensbi.c index b0f40076c3..e2aaa46046 100644 --- a/common/spl/spl_opensbi.c +++ b/common/spl/spl_opensbi.c @@ -43,11 +43,12 @@ static int spl_opensbi_find_uboot_node(void *blob, int *uboot_node) return -ENODEV; } -void spl_invoke_opensbi(struct spl_image_info *spl_image) +void __noreturn spl_invoke_opensbi(struct spl_image_info *spl_image) { int ret, uboot_node; ulong uboot_entry; - void (*opensbi_entry)(ulong hartid, ulong dtb, ulong info); + typedef void __noreturn (*opensbi_entry_t)(ulong hartid, ulong dtb, ulong info); + opensbi_entry_t opensbi_entry; if (!spl_image->fdt_addr) { pr_err("No device tree specified in SPL image\n"); @@ -74,7 +75,7 @@ void spl_invoke_opensbi(struct spl_image_info *spl_image) opensbi_info.options = CONFIG_SPL_OPENSBI_SCRATCH_OPTIONS; opensbi_info.boot_hart = gd->arch.boot_hart; - opensbi_entry = (void (*)(ulong, ulong, ulong))spl_image->entry_point; + opensbi_entry = (opensbi_entry_t)spl_image->entry_point; invalidate_icache_all(); #ifdef CONFIG_SPL_SMP diff --git a/include/spl.h b/include/spl.h index 92bcaa90a4..93e906431e 100644 --- a/include/spl.h +++ b/include/spl.h @@ -862,7 +862,7 @@ void __noreturn spl_optee_entry(void *arg0, void *arg1, void *arg2, void *arg3); /** * spl_invoke_opensbi - boot using a RISC-V OpenSBI image */ -void spl_invoke_opensbi(struct spl_image_info *spl_image); +void __noreturn spl_invoke_opensbi(struct spl_image_info *spl_image); /** * board_return_to_bootrom - allow for boards to continue with the boot ROM |