Skip to content

Commit 1767fe7

Browse files
committed
fix: enable IRQ/FIQ interrupt mask using cpsr
1 parent 4566dd6 commit 1767fe7

File tree

2 files changed

+8
-1
lines changed

2 files changed

+8
-1
lines changed

.gdbinit

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ set history remove-duplicates 128
66
layout asm
77
set print asm-demangle on
88

9-
add-symbol-file kernel/target/armv7a-none-eabi/debug/kernel
9+
add-symbol-file target/armv7a-none-eabi/debug/kernel
1010

1111
target remote localhost:1234

packages/kernel/src/main.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,13 @@ pub extern "C" fn _start() -> ! {
5959
// `vectors` module.
6060
vectors::set_vbar(core::ptr::addr_of!(VECTORS_START) as u32);
6161

62+
// Enable IRQ and FIQ interrupts by masking CPSR with the IRQ and FIQ enable bits.
63+
core::arch::asm!(
64+
"mrs r1, cpsr
65+
bic r1, r1, #0b11000000
66+
msr cpsr_c, r1"
67+
, options(nomem, nostack));
68+
6269
// Register SDK exception handlers for data/prefetch/undefined aborts.
6370
vectors::register_sdk_exception_handlers();
6471

0 commit comments

Comments
 (0)