27 lines
633 B
Rust
27 lines
633 B
Rust
//! Panic handler for AIOS v2
|
|
|
|
use core::panic::PanicInfo;
|
|
use crate::console;
|
|
|
|
#[panic_handler]
|
|
fn panic(info: &PanicInfo) -> ! {
|
|
console::print("\n!!! KERNEL PANIC !!!\n");
|
|
if let Some(location) = info.location() {
|
|
console::print("Location: ");
|
|
console::print(location.file());
|
|
console::print(":");
|
|
// TODO: Convert line number to string
|
|
console::print("\n");
|
|
}
|
|
|
|
console::print("Message: ");
|
|
console::print("Kernel panic occurred\n");
|
|
|
|
console::print("System halted.\n");
|
|
|
|
loop {
|
|
unsafe {
|
|
core::arch::asm!("hlt");
|
|
}
|
|
}
|
|
} |