From 65761dc384c6c689827beef165285498a630e1a3 Mon Sep 17 00:00:00 2001 From: Erin Date: Sun, 4 Jun 2017 11:29:34 -0500 Subject: [PATCH] Make panic!s nicer --- src/lib.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib.rs b/src/lib.rs index 72e877d..05cb5d5 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -39,7 +39,14 @@ pub extern fn kernel_main() { pub extern fn eh_personality() {} #[lang = "panic_fmt"] #[no_mangle] -pub extern fn panic_fmt() -> ! {loop{}} +pub extern fn panic_fmt(fmt: core::fmt::Arguments, file: &'static str, line: u32) -> ! { + vga_console::WRITER.lock().set_style(vga_console::CharStyle::new(vga_console::Color::Black, vga_console::Color::Red)); + println!(); + println!("!!! PANIC in {} on line {} !!!", file, line); + println!(" {}", fmt); + + unsafe{loop{x86::shared::halt();}}; +} #[allow(non_snake_case)] #[no_mangle]