mirror of
https://github.com/u-boot/u-boot.git
synced 2024-12-04 18:13:31 +08:00
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>
This commit is contained in:
parent
8ddaf94358
commit
edd9ad8194
@ -140,3 +140,14 @@ int arch_early_init_r(void)
|
||||
{
|
||||
return riscv_cpu_probe();
|
||||
}
|
||||
|
||||
/**
|
||||
* harts_early_init() - A callback function called by start.S to configure
|
||||
* feature settings of each hart.
|
||||
*
|
||||
* In a multi-core system, memory access shall be careful here, it shall
|
||||
* take care of race conditions.
|
||||
*/
|
||||
__weak void harts_early_init(void)
|
||||
{
|
||||
}
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user