Get lost in Fiasco.OC regarding the io-apic IRQ number and CPU interrupt numbers
Chen Tian <[email protected]>
| Newsgroups | gmane.comp.micro-kernel.l4.devel |
|---|---|
| Message-ID | <CADsfiYjULL5x1OS+uHBBcbwAkdJZOxMwsrfe=EXtoanquBeVhA@mail.gmail.com> |
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 _______________________________________________ l4-hackers mailing list [email protected] http://os.inf.tu-dresden.de/mailman/listinfo/l4-hackers