summaryrefslogtreecommitdiff
path: root/arch/riscv/cpu/start.S
diff options
context:
space:
mode:
authorGreen Wan <green.wan@sifive.com>2021-05-03 09:23:04 +0300
committerLeo Yu-Chi Liang <ycliang@andestech.com>2021-05-05 11:11:22 +0300
commitedd9ad81947d2136c71657be88d6cc35a56bd22f (patch)
treea4ea6e0359eb11afafb7c668dc7c009d2b0c8eb7 /arch/riscv/cpu/start.S
parent8ddaf943589756442bba21e5be645cd47526d82b (diff)
downloadu-boot-edd9ad81947d2136c71657be88d6cc35a56bd22f.tar.xz
riscv: cpu: Add callback to init each core
Add a callback harts_early_init() to start.S to allow different riscv hart perform setup code for each hart as early as possible. Since all the harts enter the callback, they must be able to run the same setup. Signed-off-by: Green Wan <green.wan@sifive.com> Reviewed-by: Rick Chen <rick@andestech.com> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'arch/riscv/cpu/start.S')
-rw-r--r--arch/riscv/cpu/start.S4
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/riscv/cpu/start.S b/arch/riscv/cpu/start.S
index 8589509e01..308b0a97a5 100644
--- a/arch/riscv/cpu/start.S
+++ b/arch/riscv/cpu/start.S
@@ -117,6 +117,10 @@ call_board_init_f_0:
mv sp, a0
#endif
+ /* Configure proprietary settings and customized CSRs of harts */
+call_harts_early_init:
+ jal harts_early_init
+
#ifndef CONFIG_XIP
/*
* Pick hart to initialize global data and run U-Boot. The other harts