gila/kernel/src/boot/modules.rs
shibedrill a2eb0c8a25
All checks were successful
Continuous Integration / Check (push) Successful in 1m38s
Continuous Integration / Clippy (push) Successful in 54s
Re-add shell.nix
2026-06-01 23:50:05 -04:00

41 lines
1.2 KiB
Rust

// Copyright (c) 2025 shibedrill
// SPDX-License-Identifier: MIT
use crate::format;
use crate::memory::alloc::string::String;
use crate::{LOGGER, LogLevel, log_trace};
use lazy_static::lazy_static;
use limine::{
request::{ExecutableFileRequest, ModuleRequest},
response::ModuleResponse,
};
#[used]
#[unsafe(link_section = ".requests")]
pub static FILE_REQUEST: ExecutableFileRequest = limine::request::ExecutableFileRequest::new();
#[used]
#[unsafe(link_section = ".requests")]
pub static MODULE_REQUEST: ModuleRequest = limine::request::ModuleRequest::new();
lazy_static! {
pub static ref MODULE_RESPONSE: Option<&'static ModuleResponse> = MODULE_REQUEST.get_response();
}
pub fn log_modules() {
if let Some(modules) = *MODULE_RESPONSE {
if !modules.modules().is_empty() {
let mut log_msg: String = String::from("Kernel modules list:\n");
for module in modules.modules() {
log_msg.push_str(&format!(
"\t{}",
String::from_utf8_lossy(module.path().to_bytes())
));
}
log_trace!("{log_msg}")
}
} else {
log_trace!("No modules found.");
}
}