From b025f5577cb210d08002f5038010bc35a567698c Mon Sep 17 00:00:00 2001 From: Andre Richter Date: Wed, 31 Mar 2021 22:48:02 +0200 Subject: [PATCH] Use raw string literal for logo --- 06_uart_chainloader/README.md | 19 +++++++++++++------ 06_uart_chainloader/src/main.rs | 13 ++++++++----- 07_timestamps/README.md | 23 ++++++++++++++--------- 3 files changed, 35 insertions(+), 20 deletions(-) diff --git a/06_uart_chainloader/README.md b/06_uart_chainloader/README.md index 040c498d..131dc19b 100644 --- a/06_uart_chainloader/README.md +++ b/06_uart_chainloader/README.md @@ -373,18 +373,25 @@ diff -uNr 05_drivers_gpio_uart/src/main.rs 06_uart_chainloader/src/main.rs #![feature(const_fn_fn_ptr_basics)] #![feature(format_args_nl)] #![feature(global_asm)] -@@ -150,29 +151,49 @@ +@@ -146,33 +147,56 @@ + kernel_main() + } + ++const MINILOAD_LOGO: &str = r#" ++ __ __ _ _ _ _ ++| \/ (_)_ _ (_) | ___ __ _ __| | ++| |\/| | | ' \| | |__/ _ \/ _` / _` | ++|_| |_|_|_||_|_|____\___/\__,_\__,_| ++"#; ++ + /// The main function running after the early init. fn kernel_main() -> ! { use bsp::console::console; use console::interface::All; - use driver::interface::DriverManager; - println!("[0] Booting on: {}", bsp::board_name()); -+ println!(" __ __ _ _ _ _ "); -+ println!("| \\/ (_)_ _ (_) | ___ __ _ __| |"); -+ println!("| |\\/| | | ' \\| | |__/ _ \\/ _` / _` |"); -+ println!("|_| |_|_|_||_|_|____\\___/\\__,_\\__,_|"); -+ println!(); ++ println!("{}", MINILOAD_LOGO); + println!("{:^37}", bsp::board_name()); + println!(); + println!("[ML] Requesting binary"); diff --git a/06_uart_chainloader/src/main.rs b/06_uart_chainloader/src/main.rs index 1ac8140c..a94b97e4 100644 --- a/06_uart_chainloader/src/main.rs +++ b/06_uart_chainloader/src/main.rs @@ -147,16 +147,19 @@ unsafe fn kernel_init() -> ! { kernel_main() } +const MINILOAD_LOGO: &str = r#" + __ __ _ _ _ _ +| \/ (_)_ _ (_) | ___ __ _ __| | +| |\/| | | ' \| | |__/ _ \/ _` / _` | +|_| |_|_|_||_|_|____\___/\__,_\__,_| +"#; + /// The main function running after the early init. fn kernel_main() -> ! { use bsp::console::console; use console::interface::All; - println!(" __ __ _ _ _ _ "); - println!("| \\/ (_)_ _ (_) | ___ __ _ __| |"); - println!("| |\\/| | | ' \\| | |__/ _ \\/ _` / _` |"); - println!("|_| |_|_|_||_|_|____\\___/\\__,_\\__,_|"); - println!(); + println!("{}", MINILOAD_LOGO); println!("{:^37}", bsp::board_name()); println!(); println!("[ML] Requesting binary"); diff --git a/07_timestamps/README.md b/07_timestamps/README.md index dc40f804..e221a12c 100644 --- a/07_timestamps/README.md +++ b/07_timestamps/README.md @@ -475,8 +475,17 @@ diff -uNr 06_uart_chainloader/src/main.rs 07_timestamps/src/main.rs /// Early init code. /// -@@ -149,51 +149,31 @@ +@@ -147,56 +147,33 @@ + kernel_main() + } +-const MINILOAD_LOGO: &str = r#" +- __ __ _ _ _ _ +-| \/ (_)_ _ (_) | ___ __ _ __| | +-| |\/| | | ' \| | |__/ _ \/ _` / _` | +-|_| |_|_|_||_|_|____\___/\__,_\__,_| +-"#; +- /// The main function running after the early init. fn kernel_main() -> ! { - use bsp::console::console; @@ -485,11 +494,7 @@ diff -uNr 06_uart_chainloader/src/main.rs 07_timestamps/src/main.rs + use driver::interface::DriverManager; + use time::interface::TimeManager; -- println!(" __ __ _ _ _ _ "); -- println!("| \\/ (_)_ _ (_) | ___ __ _ __| |"); -- println!("| |\\/| | | ' \\| | |__/ _ \\/ _` / _` |"); -- println!("|_| |_|_|_||_|_|____\\___/\\__,_\\__,_|"); -- println!(); +- println!("{}", MINILOAD_LOGO); - println!("{:^37}", bsp::board_name()); - println!(); - println!("[ML] Requesting binary"); @@ -536,12 +541,12 @@ diff -uNr 06_uart_chainloader/src/main.rs 07_timestamps/src/main.rs - println!("[ML] Loaded! Executing the payload now\n"); - console().flush(); +- +- // Use black magic to create a function pointer. +- let kernel: fn() -> ! = unsafe { core::mem::transmute(kernel_addr) }; + // Test a failing timer case. + time::time_manager().spin_for(Duration::from_nanos(1)); -- // Use black magic to create a function pointer. -- let kernel: fn() -> ! = unsafe { core::mem::transmute(kernel_addr) }; -- - // Jump to loaded kernel! - kernel() + loop {