diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-08-10 19:18:43 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-08-10 19:25:04 +0200 |
commit | 362c84a08a1b8f1eb7f9c1c37c6ed7cece348ee4 (patch) | |
tree | f9fd181c21759c63b19b8a33fb8b928fbb368195 /kern/debug.c | |
parent | d2a853126d4b017d5029e2adbdcb844542fb7d7a (diff) | |
download | gnumach-362c84a08a1b8f1eb7f9c1c37c6ed7cece348ee4.tar.gz gnumach-362c84a08a1b8f1eb7f9c1c37c6ed7cece348ee4.tar.bz2 gnumach-362c84a08a1b8f1eb7f9c1c37c6ed7cece348ee4.zip |
Acknowledge IRQ *before* calling the handler
5da1aea7ab3c ("Acknoledge interrupt after handler call") moved the IRQ ack
to after calling the handler because of overflows. But that was because the
interrupts were getting enabled at some point. Now that all spl levels
above 0 just disable interrupts, once we have called spl7 we are safe
until splx_cli is called (and even that doesn't release interrupts, only
the eventual iret will).
And if the handler triggers another IRQ, it will be lost, so we do want
to ack the IRQ before handling it.
Diffstat (limited to 'kern/debug.c')
0 files changed, 0 insertions, 0 deletions