Given an 2 interrupt handlers connected to the same IRQ.
Upon receiving the IRQ the first handler is called by the kernel and the IRQ
is cleared. Is the second handler guarantied to be called.
- Mario
Given an 2 interrupt handlers connected to the same IRQ.
Upon receiving the IRQ the first handler is called by the kernel and the IRQ
is cleared. Is the second handler guarantied to be called.
Mario Charest wrote:
Given an 2 interrupt handlers connected to the same IRQ.
Upon receiving the IRQ the first handler is called by the kernel and the IRQ
is cleared. Is the second handler guarantied to be called.
Essentially the algorithm is such:
On interrupt,
-stash some segments,
-save the irq number on the stack,
-fetch the pointer to the head of the registered
handlers list for that IRQ
-call “run handlers”
for (p=head ; p ; p=p->next) {
if (proxy = p->func()) {
push proxy onto event stack (for applying later)
}
}
…
So (long winded) yes, all the handlers are called for a particular
level, since there is no method for one ISR handler to report to the OS
that it had already handled the source of the IRQ for this particular
run. Not to mention it’s handy/required to be able to tell when an IRQ
fires regardless of if you’re going to handle the cause or not for some
applications.
Hope that helps.
–
Cheers,
Adam
With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>
Mario Charest wrote:
So (long winded) yes, all the handlers are called for a particular
level, since there is no method for one ISR handler to report to the OS
that it had already handled the source of the IRQ for this particular
run.
OS could look at IRQ signal on PIC?
Cheers,
Adam
With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <pschon@baste.magibox.net>
“Adam Mallory” <amallory@qnx.com> wrote in message
news:c7r465$cr2$1@inn.qnx.com…
Mario Charest wrote:
Given an 2 interrupt handlers connected to the same IRQ.
So (long winded) yes, all the handlers are called for a particular
level, since there is no method for one ISR handler to report to the OS
that it had already handled the source of the IRQ for this particular
run.
OS could look at IRQ signal on PIC?
Not to mention it’s handy/required to be able to tell when an IRQ
fires regardless of if you’re going to handle the cause or not for some
applications.
Indeed
Hope that helps.
Yes it does! Thanks Adam
–
Cheers,
AdamQNX Software Systems Ltd.
[ > amallory@qnx.com > ]With a PC, I always felt limited by the software available.
On Unix, I am limited only by my knowledge.
–Peter J. Schoenster <> pschon@baste.magibox.net