xen/riscv: initialize RCU, scheduler, and system domains in start_xen()

Wire up the missing early-boot initialization steps in start_xen().

The scheduler must be initialized prior to do_initcalls() because
cpupool_create_pool() is called during initcalls; without it,
BUG_ON(IS_ERR(pool)) is triggered inside cpupool_create_pool().

Signed-off-by: Oleksii Kurochko <oleksii.kurochko@gmail.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
Oleksii Kurochko authored and Jan Beulich committed 2026-09-30 14:59:55 +02:00
1 parent 9270ddf05a
commit f78cdb107c
1 file changed
+12
+12
View File
@@ -6,9 +6,12 @@
#include <xen/compile.h>
#include <xen/console.h>
#include <xen/device_tree.h>
#include <xen/domain.h>
#include <xen/init.h>
#include <xen/irq.h>
#include <xen/mm.h>
#include <xen/rcupdate.h>
#include <xen/sched.h>
#include <xen/serial.h>
#include <xen/shutdown.h>
#include <xen/smp.h>
@@ -160,12 +163,21 @@ void __init noreturn start_xen(unsigned long bootcpu_id,
timer_init();
rcu_init();
setup_system_domains();
local_irq_enable();
console_init_postirq();
guest_mm_init();
scheduler_init();
set_current(idle_vcpu[0]);
do_initcalls();
printk("All set up\n");
machine_halt();
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.