diff --git a/linker/aarch64.ld b/linker/aarch64.ld index 5541c9a..21e3c8d 100644 --- a/linker/aarch64.ld +++ b/linker/aarch64.ld @@ -32,6 +32,7 @@ SECTIONS .vectors ALIGN(2048): { + __EXCEPTION_VECTORS_START = .; KEEP(*(.vectors)) } diff --git a/nucleus/src/main.rs b/nucleus/src/main.rs index 24027b5..bc009c0 100644 --- a/nucleus/src/main.rs +++ b/nucleus/src/main.rs @@ -86,11 +86,11 @@ fn init_mmu() { fn init_exception_traps() { extern "Rust" { - static __exception_vectors_start: UnsafeCell<()>; + static __EXCEPTION_VECTORS_START: UnsafeCell<()>; } unsafe { - arch::traps::set_vbar_el1_checked(__exception_vectors_start.get() as u64) + arch::traps::set_vbar_el1_checked(__EXCEPTION_VECTORS_START.get() as u64) .expect("Vector table properly aligned!"); } println!("[!] Exception traps set up");