Hi Woody,<div><br></div><div>Check "do_IRQ()" in arch/x86/kernel/irq.c. It is responsible to handle device specific interrupts, while ipi and timer interrupts are dealt elsewhere.</div><div><br></div><div>Hope this helps.</div>
<div><br></div><div>BR,</div><div>Shahbaz Khan<br><br><div class="gmail_quote">On Thu, Dec 20, 2012 at 3:27 PM, Woody Wu <span dir="ltr"><<a href="mailto:narkewoody@gmail.com" target="_blank">narkewoody@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi, List<br>
<br>
Where is the Kernel code that handles external interrupts? I want to<br>
have a look at it but haven't found out where it is.<br>
<br>
Actually, I have some basic questions about interrupt handling in Linux.<br>
1. After Kernel's ISR received an interrupt, I believe it will invoke a<br>
handler defined in a device driver if any. But it should be the<br>
device driver's responsibility or kernel ISR's responsibility to<br>
clear (or acknowledge) the interrupt?<br>
<br>
2. My device, an AX88796B network controller, asserting the interrupt<br>
line in a level-triggered manner. Now I met problem with the device that<br>
might caused by the CPU interrupt mode is not set as level-triggered by<br>
edge trigger. My CPU is Samsung S3C2410, an ARM920T powered one. Does<br>
anyone know usually where and how should I do this kind of setting?<br>
<br>
<br>
Thanks in advance.<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
woody<br>
I can't go back to yesterday - because I was a different person then.<br>
<br>
_______________________________________________<br>
Kernelnewbies mailing list<br>
<a href="mailto:Kernelnewbies@kernelnewbies.org">Kernelnewbies@kernelnewbies.org</a><br>
<a href="http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies" target="_blank">http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies</a><br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br>Shahbaz Khan<br><br>
</div>