1
0
Fork 0
forked from AbleOS/ableos
ableos-idl/kernel/src/arch/x86_64/logging.rs

23 lines
630 B
Rust
Raw Normal View History

2023-03-30 16:43:04 -05:00
//! Logging (as in terms of console / serial output)
2023-05-23 05:16:14 -05:00
#![allow(deprecated)]
2023-05-06 06:50:24 -05:00
use {
core::fmt::Write,
limine::{TerminalRequest, TerminalResponse},
2023-06-16 05:20:37 -05:00
spin::{Lazy, Mutex},
2023-05-06 06:50:24 -05:00
uart_16550::SerialPort,
};
2023-03-30 16:43:04 -05:00
2023-05-15 02:19:34 -05:00
pub static SERIAL_CONSOLE: Mutex<SerialPort> = Mutex::new(unsafe { SerialPort::new(0x3F8) });
2023-03-30 16:43:04 -05:00
pub fn init() {
SERIAL_CONSOLE.lock().init();
2023-09-17 17:13:23 -05:00
// Lazy::force(&TERMINAL_LOGGER);
2023-03-30 16:43:04 -05:00
}
pub fn log(args: core::fmt::Arguments<'_>) -> core::fmt::Result {
x86_64::instructions::interrupts::without_interrupts(|| {
2023-05-15 02:19:34 -05:00
// TERMINAL_LOGGER.lock().write_fmt(args)?;
2023-07-20 04:21:00 -05:00
SERIAL_CONSOLE.lock().write_fmt(args)
2023-03-30 16:43:04 -05:00
})
}