diff --git a/src/arch/riscv64/start.rs b/src/arch/riscv64/start.rs index 2551968f05..3fca90f023 100644 --- a/src/arch/riscv64/start.rs +++ b/src/arch/riscv64/start.rs @@ -105,7 +105,7 @@ unsafe extern "C" fn start(args_ptr: *const KernelArgs) -> ! { } // Initialize RMM - crate::startup::memory::init(&args, None, None); + let bump_allocator = crate::startup::memory::init(&args, None, None); let boot_hart_id = get_boot_hart_id(args.env()).expect("Didn't get boot HART id from bootloader"); @@ -114,6 +114,8 @@ unsafe extern "C" fn start(args_ptr: *const KernelArgs) -> ! { paging::init(); + crate::memory::init_mm(bump_allocator); + crate::arch::misc::init(crate::cpu_set::LogicalCpuId::new(0)); // Setup kernel heap