This calls cpu_probe_all() to probe all available cpus. Signed-off-by: Bin Meng <bmeng...@gmail.com> ---
arch/riscv/cpu/qemu/Kconfig | 1 + arch/riscv/cpu/qemu/cpu.c | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/arch/riscv/cpu/qemu/Kconfig b/arch/riscv/cpu/qemu/Kconfig index ec5d934..e91cff5 100644 --- a/arch/riscv/cpu/qemu/Kconfig +++ b/arch/riscv/cpu/qemu/Kconfig @@ -4,6 +4,7 @@ config QEMU_RISCV bool + select ARCH_EARLY_INIT_R imply CPU imply CPU_RISCV imply RISCV_TIMER diff --git a/arch/riscv/cpu/qemu/cpu.c b/arch/riscv/cpu/qemu/cpu.c index 221f3a8..e98f624 100644 --- a/arch/riscv/cpu/qemu/cpu.c +++ b/arch/riscv/cpu/qemu/cpu.c @@ -4,7 +4,9 @@ */ #include <common.h> +#include <cpu.h> #include <dm.h> +#include <log.h> /* * cleanup_before_linux() is called just before we call linux @@ -21,6 +23,18 @@ int cleanup_before_linux(void) return 0; } +int arch_early_init_r(void) +{ + int ret; + + /* probe cpus so that risc-v timer can be bound */ + ret = cpu_probe_all(); + if (ret) + return log_msg_ret("risc-v cpus probe fails\n", ret); + + return 0; +} + /* To enumerate devices on the /soc/ node, create a "simple-bus" driver */ static const struct udevice_id riscv_virtio_soc_ids[] = { { .compatible = "riscv-virtio-soc" }, -- 2.7.4 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot