aboutsummaryrefslogtreecommitdiff
path: root/common/spl
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2023-09-05 09:04:49 -0400
committerTom Rini <trini@konsulko.com>2023-09-05 09:04:49 -0400
commite7b7dca28f57e9331388550597c0687d3bfaded0 (patch)
treedba6f74cca2f0eb5726d838795b08fe87c7276bd /common/spl
parent493fd3363f6da6a784514657d689c7cda0f390d5 (diff)
parentdfe08374943c0e898fcfaf7327f69e0fb56b7d23 (diff)
Merge https://source.denx.de/u-boot/custodians/u-boot-riscv
+ Implement OpenSBI DBCN extension for early debug console + Fixes for VisionFive2 board + Fix timer missing + Fix L2 LIM issue + Enable PCIE auto enumeration to support USB and NVMe by default + Set eth0 mac address properly + Add __noreturn attribute to spl_invoke_opensbi
Diffstat (limited to 'common/spl')
-rw-r--r--common/spl/spl_opensbi.c7
1 files changed, 4 insertions, 3 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