Execute initcall function. Additionally, before do_initcalls() call scheduler_init() which is needed because of cpupool_create_pool() is called by do_initcalls(); otherwise BUG_ON(IS_ERR(pool)) will occur in inside cpupool_create_pool().
Signed-off-by: Oleksii Kurochko <[email protected]> --- xen/arch/riscv/setup.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/xen/arch/riscv/setup.c b/xen/arch/riscv/setup.c index cae49bb29626..24bad0c606a5 100644 --- a/xen/arch/riscv/setup.c +++ b/xen/arch/riscv/setup.c @@ -9,6 +9,7 @@ #include <xen/init.h> #include <xen/irq.h> #include <xen/mm.h> +#include <xen/sched.h> #include <xen/serial.h> #include <xen/shutdown.h> #include <xen/smp.h> @@ -159,6 +160,11 @@ void __init noreturn start_xen(unsigned long bootcpu_id, guest_mm_init(); + scheduler_init(); + set_current(idle_vcpu[0]); + + do_initcalls(); + printk("All set up\n"); machine_halt(); -- 2.53.0
