> 
> 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/

Reply via email to