From cf016f0c8b28c7198ae6adf3e6c88c61b91b07d0 Mon Sep 17 00:00:00 2001 From: Christian Cunningham Date: Sat, 20 Aug 2022 23:15:52 -0700 Subject: Debug output TODO: Add more debugging output --- src/kernel.rs | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 44 insertions(+), 9 deletions(-) (limited to 'src/kernel.rs') diff --git a/src/kernel.rs b/src/kernel.rs index 3d93e37..1c3bfac 100644 --- a/src/kernel.rs +++ b/src/kernel.rs @@ -27,7 +27,6 @@ mod print; mod sync; mod uart; use crate::console::console; -use crate::console::interface::Statistics; use crate::mem::alloc::alloc; /// # Initialization Code @@ -48,13 +47,49 @@ unsafe fn kernel_init() -> ! { /// /// TODO: Figure out what to do here fn kernel_main() -> ! { - draw::draw_ukraine_flag(); - println!(); - draw::draw_american_flag(); - println!(); - - println!("\x1b[91mInitialized\x1b[0m \x1b[92m{}\x1b[0m \x1b[93mv{}\x1b[0m", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")); - println!("\x1b[94mAuthors:\x1b[0m \x1b[95m{}\x1b[0m", env!("CARGO_PKG_AUTHORS")); - println!("Characters written to UART: \x1b[91m{}\x1b[0m", console().chars_written()); + #[cfg(not(feature="verbose"))] + { + draw::draw_ukraine_flag(); + println!(); + draw::draw_american_flag(); + println!(); + + println!("\x1b[91mInitialized\x1b[0m \x1b[92m{}\x1b[0m \x1b[93mv{}\x1b[0m", env!("CARGO_PKG_NAME"), env!("CARGO_PKG_VERSION")); + println!("\x1b[94mAuthors:\x1b[0m \x1b[95m{}\x1b[0m", env!("CARGO_PKG_AUTHORS")); + use crate::console::interface::Statistics; + println!("Characters written to UART: \x1b[91m{}\x1b[0m", console().chars_written()); + } + + #[cfg(feature="verbose")] + { + use alloc::boxed::Box; + { + let a: Box = Box::new(1); + println!("Box: {}", a); + } + { + let a: Box = Box::new(2); + let b: Box = Box::new(3); + let c: Box = Box::new(4); + println!("Boxes: {}, {}, {}", a, b, c); + } + { + let a: Box = Box::new(5); + let b: Box = Box::new(6); + let c: Box = Box::new(7); + println!("Boxes: {}, {}, {}", a, b, c); + } + println!("U8: {:?}", mem::alloc::U8_GRAND_ALLOC); + use alloc::string::String; + { + let mut s = String::new(); + for _ in 0..128 { + s += "TEST"; + } + println!("String: Length {}", s.capacity()); + } + use crate::console::interface::Statistics; + println!("Characters written to UART: \x1b[91m{}\x1b[0m", console().chars_written()); + } loop { } } -- cgit v1.2.1