macro_rules! aarch64_exception_vector_table {
    [$table:ident, $handler:path] => { ... };
}
Available on AArch64 only.
Expand description

Define an exception vector table that forwards all exceptions to the designated handler.

The first argument is the name of the vector table, which will be exported as an unmangled symbol and exposed to Rust code as an immutable static of type VectorTable.

The second argument is the name of the handler function, which should have signature func(Kind, Source).

§Example

aarch64_exception_vector_table!(exception_table_el1, handle_exception);

fn handle_exception(kind: Kind, source: Source) {
    panic!("Exception {:?} from {:?}", kind, source);
}

fn main() {
    VectorBaseAddressRegister::set(
        ExceptionLevel::One,
        unsafe { &exception_table_el1 }
    );
}