Hello
Since I know the rtlinux interrupt
handler will execute with interrupt disabled,
i traced the source code
rtl_core.c and found that the do_IRQ function will be replaced
with the rtl_intercept function
while loading the rtl.o module .
There's one thing
confusing me that in the rtl_intercept
function , it doesn't disable
the irq before dispath the
realtime interrupt handler , but only execute the
rtl_irq_controller_ack(irq) to
acknoledge the PIC(Programable interrupt
controller).
under the mechanism, there's two
points i can't understand.
1. why the man page says that
irq will be disabled during the realtime handler execution.
In
which stage it disabled the IRQ?
2. after the ack function, the PIC
should be able to send the next interrupt.(with the same IRQ)
But if i
didn't use rtl_global_pending_irq(IRQ) function to pend IRQ, rtl_intercept won't
get
the IRQ
anymore. why? (it really disabled?)
Best Regards,
-Iven |