Skip to main content

Module panic

Module panic 

Source
Expand description

Kernel panic paths: kernel_panic for explicit kernel panics and the required #[panic_handler] for language-level panics.

Authors: MarioS271

Re-exportsΒ§

use crate::cpu::instructions; πŸ”’
use crate::lib::panic_codes::PanicCode; πŸ”’
use crate::lib::types::fmt_buffer::FmtBuffer; πŸ”’
use crate::SIMPLE_STATE; πŸ”’
use core::panic::PanicInfo; πŸ”’
use core::sync::atomic::AtomicU8; πŸ”’
use core::sync::atomic::Ordering; πŸ”’

EnumsΒ§

PanicTriggered πŸ”’
Enum helper to not have to write the raw bitshifts on every PANIC_TRIGGERED interaction

StaticsΒ§

PANIC_TRIGGERED πŸ”’
Used to prevent infinite panic handler reentry

FunctionsΒ§

force_unlock_loggers πŸ”’ ⚠
Force-unlocks the kernel serial logger and the basic_fb framebuffer
kernel_panic
Halt the kernel with a diagnostic message; re-entrant calls skip straight to the halt loop.
panic πŸ”’
Rust’s required #[panic_handler] for language-level panics.