Split into main and kernel lib

Signed-off-by: Noah Knegt <git@noahknegt.com>
This commit is contained in:
2025-07-22 20:02:47 +02:00
parent 4bd1e3bc6a
commit f1e6ef14b2
2 changed files with 37 additions and 33 deletions

35
kernel/src/lib.rs Normal file
View File

@@ -0,0 +1,35 @@
#![no_std]
use bootloader_api::{
config::{BootloaderConfig, Mapping},
BootInfo
};
mod logger;
pub static BOOTLOADER_CONFIG: BootloaderConfig = {
let mut config = BootloaderConfig::new_default();
config.mappings.physical_memory = Some(Mapping::Dynamic);
config
};
pub fn main(boot_info: &'static mut BootInfo) -> ! {
let info = boot_info.framebuffer.as_ref().unwrap().info();
let buffer = boot_info.framebuffer.as_mut().unwrap().buffer_mut();
logger::init_logger(buffer, info);
log::info!("Hello World from KERNEL");
// Endless loop as the kernel must stay running
loop {}
}
#[panic_handler]
#[cfg(not(test))]
fn panic(info: &core::panic::PanicInfo) -> ! {
logger::force_unlock();
log::error!("{}", info);
loop {}
}

View File

@@ -1,37 +1,6 @@
#![no_std] #![no_std]
#![no_main] #![no_main]
use bootloader_api::{ use bootloader_api::entry_point;
config::{BootloaderConfig, Mapping},
entry_point, BootInfo
};
mod logger; entry_point!(kernel::main);
pub static BOOTLOADER_CONFIG: BootloaderConfig = {
let mut config = BootloaderConfig::new_default();
config.mappings.physical_memory = Some(Mapping::Dynamic);
config
};
entry_point!(kernel_main);
fn kernel_main(boot_info: &'static mut BootInfo) -> ! {
let info = boot_info.framebuffer.as_ref().unwrap().info();
let buffer = boot_info.framebuffer.as_mut().unwrap().buffer_mut();
logger::init_logger(buffer, info);
log::info!("Hello World from KERNEL");
// Endless loop as the kernel must stay running
loop {}
}
#[panic_handler]
#[cfg(not(test))]
fn panic(info: &core::panic::PanicInfo) -> ! {
logger::force_unlock();
log::error!("{}", info);
loop {}
}