diff --git a/src/main.rs b/src/main.rs index caa4455..654ccdf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,59 +4,55 @@ #![test_runner(CrystalOS::test_runner)] #![reexport_test_harness_main = "test_main"] +use bootloader::{entry_point, BootInfo}; use core::panic::PanicInfo; -use CrystalOS::{println, print, println_log, print_log, kernel, printerr}; -use CrystalOS::kernel::tasks::{Task, executor::Executor}; -use bootloader::{BootInfo, entry_point}; +use CrystalOS::kernel::tasks::{executor::Executor, Task}; +use CrystalOS::{kernel, print, print_log, printerr, println, println_log}; extern crate alloc; use CrystalOS::user::bin::shell; #[cfg(not(test))] #[panic_handler] fn panic(_info: &PanicInfo) -> ! { - kernel::render::RENDERER.lock().terminal_mode_force(); - printerr!("{}", _info); - CrystalOS::hlt(); + kernel::render::RENDERER.lock().terminal_mode_force(); + printerr!("{}", _info); + CrystalOS::hlt(); } #[cfg(test)] #[panic_handler] fn panic(info: &PanicInfo) -> ! { - CrystalOS::test_panic_handler(info) + CrystalOS::test_panic_handler(info) } +// some comment + entry_point!(main); - fn main(boot_info: &'static BootInfo) -> ! { - use CrystalOS::kernel::allocator; - use CrystalOS::kernel::memory; - use CrystalOS::kernel::memory::BootInfoFrameAllocator; - use x86_64::VirtAddr; - - CrystalOS::init(); - - let physical_memory_offset = VirtAddr::new(boot_info.physical_memory_offset); - let mut mapper = unsafe { memory::init(physical_memory_offset) }; - let mut frame_allocator = unsafe { - BootInfoFrameAllocator::init(&boot_info.memory_map) - }; + use x86_64::VirtAddr; + use CrystalOS::kernel::allocator; + use CrystalOS::kernel::memory; + use CrystalOS::kernel::memory::BootInfoFrameAllocator; - allocator::init_heap(&mut mapper, &mut frame_allocator).expect("heap initialisation failed"); + CrystalOS::init(); - let mut executor = Executor::new(); + let physical_memory_offset = VirtAddr::new(boot_info.physical_memory_offset); + let mut mapper = unsafe { memory::init(physical_memory_offset) }; + let mut frame_allocator = unsafe { BootInfoFrameAllocator::init(&boot_info.memory_map) }; - executor.spawn(Task::new(shell::command_handler())); + allocator::init_heap(&mut mapper, &mut frame_allocator).expect("heap initialisation failed"); + let mut executor = Executor::new(); - loop { - executor.try_run(); - } - - #[cfg(test)] - test_main(); + executor.spawn(Task::new(shell::command_handler())); - loop {} + loop { + executor.try_run(); + } + + #[cfg(test)] + test_main(); + + loop {} } - -