|
14 | 14 | #![feature(panic_info_message)] |
15 | 15 |
|
16 | 16 | use core::arch::global_asm; |
| 17 | +use log::*; |
17 | 18 |
|
18 | 19 | #[macro_use] |
19 | 20 | mod console; |
20 | 21 | mod lang_items; |
| 22 | +mod logging; |
21 | 23 | mod sbi; |
22 | 24 |
|
23 | 25 | #[path = "boards/qemu.rs"] |
@@ -50,18 +52,28 @@ pub fn rust_main() -> ! { |
50 | 52 | fn boot_stack_top(); // stack top |
51 | 53 | } |
52 | 54 | clear_bss(); |
53 | | - println!("Hello, world!"); |
54 | | - println!(".text [{:#x}, {:#x})", stext as usize, etext as usize); |
55 | | - println!(".rodata [{:#x}, {:#x})", srodata as usize, erodata as usize); |
56 | | - println!(".data [{:#x}, {:#x})", sdata as usize, edata as usize); |
57 | | - println!( |
58 | | - "boot_stack top=bottom={:#x}, lower_bound={:#x}", |
| 55 | + logging::init(); |
| 56 | + println!("[kernel] Hello, world!"); |
| 57 | + trace!( |
| 58 | + "[kernel] .text [{:#x}, {:#x})", |
| 59 | + stext as usize, |
| 60 | + etext as usize |
| 61 | + ); |
| 62 | + debug!( |
| 63 | + "[kernel] .rodata [{:#x}, {:#x})", |
| 64 | + srodata as usize, erodata as usize |
| 65 | + ); |
| 66 | + info!( |
| 67 | + "[kernel] .data [{:#x}, {:#x})", |
| 68 | + sdata as usize, edata as usize |
| 69 | + ); |
| 70 | + warn!( |
| 71 | + "[kernel] boot_stack top=bottom={:#x}, lower_bound={:#x}", |
59 | 72 | boot_stack_top as usize, boot_stack_lower_bound as usize |
60 | 73 | ); |
61 | | - println!(".bss [{:#x}, {:#x})", sbss as usize, ebss as usize); |
| 74 | + error!("[kernel] .bss [{:#x}, {:#x})", sbss as usize, ebss as usize); |
62 | 75 |
|
63 | 76 | use crate::board::QEMUExit; |
64 | 77 | crate::board::QEMU_EXIT_HANDLE.exit_success(); // CI autotest success |
65 | 78 | //crate::board::QEMU_EXIT_HANDLE.exit_failure(); // CI autoest failed |
66 | | - |
67 | 79 | } |
0 commit comments