> > 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? > > look at the startup of rtlinux (init_module of main/rtl_core.c == rtl.o)
main/rtl_core.c:init_module -> main/i386/arch.h:arch_tackover -> linux/arch/i386/kernel/rtlinux.c:rtl_hard_cli() <- <- (interrupts are now disabled) main/rtl_core.c:init_module:rtl_soft_sti -> main/rtl_core.c:rtl_soft_sti() after that linux will only see the emulated (soft) interrupts when rtlinux passes them on. hofrat -- [rtl] --- To unsubscribe: echo "unsubscribe rtl" | mail [EMAIL PROTECTED] OR echo "unsubscribe rtl <Your_email>" | mail [EMAIL PROTECTED] -- For more information on Real-Time Linux see: http://www.rtlinux.org/