Questions about IO-APIC

Chen Tian tonytian2004 at
Sat Jul 28 16:44:10 CEST 2012

Thanks for the reply. Then what is the irq number that is assigned to an
io-apic pin? When writing a driver for a PCi device, how can I use the
value in pci irq field to find the right irq no. for this device so I can
call attach function in driver?

On Jul 28, 2012 10:24 AM, "Udo Steinberg" <udo at> wrote:

> On Fri, 27 Jul 2012 16:34:12 -0800 Chen Tian (CT) wrote:
> CT> I have some basic questions about IO-APIC.  In the boot-up message, I
> can
> CT> see this:
> CT>
> CT> IO-APIC[ 0]: pins 23
> CT>   PIN[ 0m]: vector=20, del=0, dm=physical, dest=0 (high, edge)
> CT>   PIN[ 1m]: vector=21, del=0, dm=physical, dest=0 (high, edge)
> CT>   PIN[ 2m]: vector=22, del=0, dm=physical, dest=0 (high, edge)
> CT>
> CT> I understand this info is from IO-APIC redirection table. My question
> is
> CT> what does vector means? Is that the interrupt number CPU is going to
> see
> CT> when an interrupt request is sent from a pin? Or it's an irq number
> CT> assigned to an IO-APIC pin?
> It is the interrupt vector that the IOAPIC will send to the CPU when there
> is interrupt activity on the respective pin. The vector is then used as an
> index into the IDT, which tells the CPU where the interrupt handler can be
> found. Which is why it starts at 0x20, because vectors 0x0-0x1f are
> reserved
> for exceptions.
> Cheers,
> Udo
> _______________________________________________
> l4-hackers mailing list
> l4-hackers at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the l4-hackers mailing list