Re: [PATCH] provide correct pci routing information in mptable

Kevin O'Connor
2009-12-23T20:58:05Z

On Wed, Dec 23, 2009 at 10:35:55PM +0200, Gleb Natapov wrote:
> On Wed, Dec 23, 2009 at 03:26:55PM -0500, Kevin O'Connor wrote:
> > BTW, this is only intended for PCI bus zero entries, right? (In
> > theory, one could map a card with a bridge into kvm..)
> >
> Mptable should have description for each PCI bus. Devices behind PCI
> bridge are still on the same bus.

I believe mptable should describe each root pci bus. However,
foreachpci() can iterate over both root pci buses and secondary buses
- so I think the code should check for (pci_bdf_to_bus(bdf) > 0) and
break from the loop.

Though, admittedly, the code in pciinit.c doesn't handle secondary
buses anyway.

> > I believe the intent of the irq routing in the mptable is to tell the
> > OS what the pci pins are routed to so that it can change the irq to a
> > different pin. If only one pin is described, the OS wont be able to
> > switch to a different pin.
> >
> Each function hardwired to one pin only. It is impossible to change the
> pin. It is possible to route it to a different gsi though. Mptable maps
> pins of each device to gsis.

Oops - you are correct.

-Kevin