diff --git a/src/vga_buffer.rs b/src/vga_buffer.rs index 4946715..f596f66 100644 --- a/src/vga_buffer.rs +++ b/src/vga_buffer.rs @@ -3,6 +3,9 @@ use lazy_static::lazy_static; use spin::Mutex; use volatile::Volatile; +const BUFFER_HEIGHT: usize = 25; +const BUFFER_WIDTH: usize = 80; + #[allow(dead_code)] #[derive(Debug, Clone, Copy, PartialEq, Eq)] #[repr(u8)] @@ -42,9 +45,6 @@ struct ScreenChar { color_code: ColorCode, } -const BUFFER_HEIGHT: usize = 25; -const BUFFER_WIDTH: usize = 80; - #[repr(transparent)] struct Buffer { chars: [[Volatile; BUFFER_WIDTH]; BUFFER_HEIGHT], @@ -134,6 +134,16 @@ lazy_static! { }); } +#[doc(hidden)] +pub fn _print(args: fmt::Arguments) { + use core::fmt::Write; + use x86_64::instructions::interrupts; + + interrupts::without_interrupts(|| { + WRITER.lock().write_fmt(args).unwrap(); + }); +} + #[macro_export] macro_rules! print { ($($arg:tt)*) => ($crate::vga_buffer::_print(format_args!($($arg)*))); @@ -145,16 +155,6 @@ macro_rules! println { ($($arg:tt)*) => ($crate::print!("{}\n", format_args!($($arg)*))); } -#[doc(hidden)] -pub fn _print(args: fmt::Arguments) { - use core::fmt::Write; - use x86_64::instructions::interrupts; - - interrupts::without_interrupts(|| { - WRITER.lock().write_fmt(args).unwrap(); - }); -} - #[test_case] fn test_println_simple() { println!("test_println_simple output");