Get lost in Fiasco.OC regarding the io-apic IRQ number and CPU interrupt numbers
Chen Tian
chen.tian at acm.org
Tue Jul 31 02:42:25 CEST 2012
Hello,
As confirmed by Udo, I thought the vector of an IO-APIC pin is the one used
to index idt, which is from 0x20-0x37. But I just checked the idt using
kernel debugger and found that many entries between 0x20 and 0x37 are
marked as reserved. Several defined ones can be found in entry.S. However,
I noticed that 48 entries from 0x50 to 0x7f are actually defined. Are those
for the 48 pins in my two IO-APICs? Why have the vectors changed? And
where can I found the corresponding CPU interrupt handlers?
Another thing that confuses me is that th function "irq_interrupt" in file
"dirq-ia32-ux.cpp". Where does it get called? I found one call site in
entry.S, which seems to use an interrupt number (int - 0x20) as the first
parameter. But why this number is used as a pointer that pointing to an irq
object?
I must have missed something. I would really appreciate it if someone can
answer my questions. Thanks.
Best,
Chen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://os.inf.tu-dresden.de/pipermail/l4-hackers/attachments/20120730/ff79eb9e/attachment.html>
More information about the l4-hackers
mailing list