<div class='quotetop'>QUOTE (jan @ Sep 8 2009, 09:56 PM) <{post_snapback}> (index.php?act=findpost&pid=23783)</div>
--- Quote Start ---
Hippo I dont know if you are right, I know, that "inthandler" (in entry.S) is the function put at interrupt vector address. And from the code investigation I did not find, that interrupts are somewhere re-enabled. But maybe I do not understand the right meaning of IRQF_DISABLED. Can you explain to me, how does it work? I know, that PIE (in "status" register) must be one and "ipending" register must be non-zero - this is the cause of any interrupt. But NIOS automatically sets PIE to zero on interrupt vector entry. So, in which place inside the standard interrupt handler sets PIE to 1 allowing nested interrupts?
jan[/b]
--- Quote End ---
You can find irq flags in header linux-2.6/include/linux/interrupt.h . The interrupt processing in LInux allows nested interrupt by default. The interrupt will be reenabled if IRQF_DISABLED is not set. Please study some Linux books or trace kernel code.
- Hippo