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