From 6b697a4ca597c3b03749e451aaa66055322280ed Mon Sep 17 00:00:00 2001 From: gil Date: Thu, 16 May 2024 11:38:01 -0500 Subject: [PATCH] Add abort & update panic handler --- src/main.rs | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index b24a777..7a841c3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -96,12 +96,24 @@ extern "C" fn start() -> ! { } } -#[panic_handler] -fn on_panic(info: &PanicInfo) -> ! { - // print panic info and hang - println!("{}", info); +#[no_mangle] +extern "C" fn eh_personality() {} - loop {} +#[panic_handler] +fn panic(info: &PanicInfo) -> ! { + // print panic info and abort + println!("{}", info); + abort(); +} + +#[no_mangle] +extern "C" fn abort() -> ! { + use core::arch::asm; + loop { + unsafe { + asm!("wfi"); + } + } } // TODO unit testing