x86/interrupts/
handlers.rs

1// Licensed under the Apache License, Version 2.0 or the MIT License.
2// SPDX-License-Identifier: Apache-2.0 OR MIT
3// Copyright Tock Contributors 2024.
4
5//! Higher-level Rust interrupt handlers
6
7use crate::registers::irq::EXCEPTIONS;
8
9/// Handler for CPU exceptions generated by the kernel itself.
10#[no_mangle]
11extern "cdecl" fn handle_kernel_exception(num: u32, err: u32, eip: u32) -> ! {
12    panic!(
13        "{} (error code: {:#x}, eip: {:#x})",
14        EXCEPTIONS[num as usize], err, eip
15    )
16}