PCI passthrough in vancouver

Alexander Boettcher alexander.boettcher at ...1...
Wed Oct 23 16:24:31 CEST 2013


On 23.10.2013 14:36, Salscheider, Niels Ole wrote:
> For PCI passthrough, I have to handle MessageHostOp::OP_ATTACH_MSI
> (amongst others). This requires modifications to the Irq_connection /
> Irq_session. My current plan is to pass the bdf value through to the
> Irq_proxy_component, where I can use it to get the pci config space.

I would advise to obtain the pci config space information (physical
address respectively a dataspace to it) directly in Seoul/Vancouver via
the pci_session.

Then you can pass this information as parameter (so, either the physical
address or better the dataspace capability) to the Irq::connection
request and Core can establish a valid memory mapping for issuing later
on the assign_gsi syscall.

> However, my current implementation hangs when I try to get the first
> device from a Pci::Connection in Irq_proxy_component.

You try effectively to call from Core (where Irq_proxy is running in) an
outer great great child (pci server). Probably somewhere in the routing
request resolving you block/deadlock, since Core never/has no way to use
services of children.


Alexander Boettcher.

More information about the users mailing list