sparreal_kernel/hal/setup.rs
1use crate::hal::al;
2
3pub fn start_kernel() -> ! {
4 crate::os::logger::init();
5 info!("Setting up allocator...");
6
7 crate::os::mem::init_heap(al::memory::memory_map());
8 crate::os::mem::paging::init();
9
10 al::platform::post_paging();
11
12 crate::os::time::init();
13
14 // rdrive::probe_all(true).unwrap();
15
16 al::cpu::irq_local_set_enable(true);
17
18 unsafe extern "C" {
19 fn __sparreal_main();
20 }
21
22 unsafe { __sparreal_main() };
23
24 al::platform::shutdown()
25}