pub fn handle_interrupt()Expand description
Called from the IDT AHCI IRQ handler.
Reads HBA_IS to find which ports raised an interrupt, reads and clears
PxIS per port, then signals the per-port WaitQueue so that any task
blocked in submit_cmd can resume.
ยงSafety of concurrent access
All per-port statics (PORT_SLOT0_DONE, PORT_SLOT0_ERROR, PORT_WQ) are
accessed via atomics or briefly-held SpinLocks (which disable IRQs). The
IRQ handler itself is not re-entrant (x86 APIC level-triggered delivery
ensures this for the same vector).