Edit online

代码流程

Cache 相关 API:

API SPL 可用 U-Boot 可用
icache_enable
icache_disable
icache_status
dcache_enable
dcache_disable
dcache_status
flush_dcache_all
flush_dcache_range
invalidate_dcache_range

其实现在 arch/riscv/cpu/c906/cache.c

SPL 中 Cache 初始化流程如下:
_start // arch/riscv/cpu/start.S
|-> save_boot_params
|-> board_init_f_alloc_reserve
|-> harts_early_init
|-> board_init_f_init_reserve
|-> icache_enable   // arch/riscv/cpu/c906/cache.c
|-> dcache_enable   // arch/riscv/cpu/c906/cache.c
|-> board_init_f