From 2578105f6e365b43ee6dbb4770555ccf3089c2b9 Mon Sep 17 00:00:00 2001 From: Tianhao Wang Date: Thu, 18 Apr 2024 22:00:12 +0200 Subject: move io.rs into submodule --- src/io.rs | 44 -------------------------------------------- src/io/mod.rs | 44 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 44 deletions(-) delete mode 100644 src/io.rs create mode 100644 src/io/mod.rs (limited to 'src') diff --git a/src/io.rs b/src/io.rs deleted file mode 100644 index 27be847..0000000 --- a/src/io.rs +++ /dev/null @@ -1,44 +0,0 @@ -use crate::machine::cgascr::CGAScreen; -use crate::machine::keyctrl::KeyboardController; -use core::fmt; -use lazy_static::lazy_static; -use spin::Mutex; -// TODO I want my own locking primitive for practice, instead of stock spin lock -lazy_static! { - pub static ref CGASCREEN_GLOBAL: Mutex = Mutex::new(CGAScreen::new()); - pub static ref KBCTL_GLOBAL: Mutex = Mutex::new(KeyboardController::new()); -} - -#[macro_export] -macro_rules! print { - ($($arg:tt)*) => ($crate::io::_print(format_args!($($arg)*))); -} -pub(crate) use print; - -#[macro_export] -macro_rules! println { - () => ($crate::print!("\n")); - ($($arg:tt)*) => (print!("{}\n", format_args!($($arg)*))); -} -pub(crate) use println; - -pub fn _print(args: fmt::Arguments) { - use core::fmt::Write; - CGASCREEN_GLOBAL.lock().write_fmt(args).unwrap(); -} - -pub fn clear_screen() { - CGASCREEN_GLOBAL.lock().clear(); -} - -pub fn set_attr(attr: u8) { - CGASCREEN_GLOBAL.lock().setattr(attr); -} - -pub fn print_welcome() { - println!("--RuStuBs--"); - println!(" _._ _,-'\"\"`-._ ~Meow"); - println!(" (,-.`._,'( |\\`-/|"); - println!(" `-.-' \\ )-`( , o o)"); - println!(" `- \\`_`\"'-"); -} diff --git a/src/io/mod.rs b/src/io/mod.rs new file mode 100644 index 0000000..27be847 --- /dev/null +++ b/src/io/mod.rs @@ -0,0 +1,44 @@ +use crate::machine::cgascr::CGAScreen; +use crate::machine::keyctrl::KeyboardController; +use core::fmt; +use lazy_static::lazy_static; +use spin::Mutex; +// TODO I want my own locking primitive for practice, instead of stock spin lock +lazy_static! { + pub static ref CGASCREEN_GLOBAL: Mutex = Mutex::new(CGAScreen::new()); + pub static ref KBCTL_GLOBAL: Mutex = Mutex::new(KeyboardController::new()); +} + +#[macro_export] +macro_rules! print { + ($($arg:tt)*) => ($crate::io::_print(format_args!($($arg)*))); +} +pub(crate) use print; + +#[macro_export] +macro_rules! println { + () => ($crate::print!("\n")); + ($($arg:tt)*) => (print!("{}\n", format_args!($($arg)*))); +} +pub(crate) use println; + +pub fn _print(args: fmt::Arguments) { + use core::fmt::Write; + CGASCREEN_GLOBAL.lock().write_fmt(args).unwrap(); +} + +pub fn clear_screen() { + CGASCREEN_GLOBAL.lock().clear(); +} + +pub fn set_attr(attr: u8) { + CGASCREEN_GLOBAL.lock().setattr(attr); +} + +pub fn print_welcome() { + println!("--RuStuBs--"); + println!(" _._ _,-'\"\"`-._ ~Meow"); + println!(" (,-.`._,'( |\\`-/|"); + println!(" `-.-' \\ )-`( , o o)"); + println!(" `- \\`_`\"'-"); +} -- cgit v1.2.3-70-g09d2