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)]
|
2024-09-13 16:41:31 -05:00
|
|
|
use {core::fmt::Write, spin::Mutex, 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
|
|
|
})
|
|
|
|
}
|