Skip to content

Commit

Permalink
Improve IRQ/FIQ entry point doc
Browse files Browse the repository at this point in the history
  • Loading branch information
NathanRoyer committed Sep 21, 2023
1 parent 660d599 commit 6835d92
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions kernel/interrupts/src/aarch64/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -438,6 +438,11 @@ extern "C" fn current_elx_synchronous(e: &mut ExceptionContext) {
default_exception_handler(e, "current_elx_synchronous");
}

// When this is entered, FIQs are enabled / unmasked, because we use
// them as an NMI alternative, so they must be allowed at all times.
//
// Spurious interrupts are often the result of an FIQ being handled
// after we started handling an IRQ but before we acknowledged it.
#[no_mangle]
extern "C" fn current_elx_irq(exc: &mut ExceptionContext) {
let (irq_num, _priority) = {
Expand All @@ -463,6 +468,10 @@ extern "C" fn current_elx_irq(exc: &mut ExceptionContext) {
}
}

// When this is entered, FIQs are disabled / masked: there must be
// only one FIQ (that we use as an NMI alternative) at a time.
//
// Currently, FIQs are only used for TLB shootdown.
#[no_mangle]
extern "C" fn current_elx_fiq(exc: &mut ExceptionContext) {
let (irq_num, _priority) = {
Expand Down

0 comments on commit 6835d92

Please sign in to comment.