#[link_section = ".trap.rust"] #[export_name = "_start_trap_rust"] pub extern "C" fn start_trap_rust()
Trap entry point rust (_start_trap_rust)
mcause is read to determine the cause of the trap. XLEN-1 bit indicates if it's an interrupt or an exception. The result is converted to an element of the Interrupt or Exception enum and passed to handle_interrupt or handle_exception.