Page 1 of 1

PCI lines remapping in IO Apic

Posted: Thu Sep 17, 2020 12:50 pm
by iman
Hi.
For the IO Apic vector remapping, I have 24 entries.
The first 16 are used to remap ISA IRQs. The rest would then be for PCI lines A# to H#. Is this true?

Question:
I used Multi Processor (MP) tables to obtain ISA vectors.
How can I get PCI lines from MP (and not ACPI) table?

Best.
Iman.

Re: PCI lines remapping in IO Apic

Posted: Thu Sep 17, 2020 12:57 pm
by nexos
You should read the MP spec. Basically, IRQ redirection entries contains a source bus field. You then search for a bus entry with this ID. If the bus entry's name is PCI, then you know this is a PCI IRQ. Note that PCI IRQs are encoded. The first two bits say if it is INTA, INTB, or INTC. The next 5 bits give the slot of this IRQ. The last bit reserved. You really should look through the spec, though.

Re: PCI lines remapping in IO Apic

Posted: Thu Sep 17, 2020 1:08 pm
by iman
nexos wrote:You should read the MP spec.
Thanks for your reply. Indeed first I had a quick search in MP spec, but couldn't find it. Anyway I will know now how to go.