From 93c4d3c5fbbcb2ea811155b55cfc50b464ea29a3 Mon Sep 17 00:00:00 2001 From: Paul Pan Date: Sun, 16 Jun 2024 00:36:06 +0800 Subject: [PATCH] feat: logging: add methods for raw printing --- kernel/src/logging.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/kernel/src/logging.rs b/kernel/src/logging.rs index 43fd0ef..b87fce7 100644 --- a/kernel/src/logging.rs +++ b/kernel/src/logging.rs @@ -4,6 +4,21 @@ use core::fmt::Write; use core::sync::atomic::Ordering; use log::{LevelFilter, Log, Metadata, Record}; +#[macro_export] +macro_rules! print { + ($($arg:tt)*) => {{ + use core::fmt::Write; + use crate::plat::console::CONSOLE; + CONSOLE.lock().write_fmt(format_args!($($arg)*)).unwrap(); + }}; +} + +#[macro_export] +macro_rules! println { + ($msg:expr) => { print!(concat!($msg, "\n")) }; + ($fmt:expr, $($arg:tt)*) => { print!(concat!($fmt, "\n"), $($arg)*) }; +} + struct SimpleLogger; impl Log for SimpleLogger {