[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] RFC: [PATCH 1/3] Enhance platform support for PCI

Hi Ian,

On 26/02/15 11:12, Ian Campbell wrote:
>> I have few queries
>> 1) If Dom0 has 'n' ITS nodes, then how does Xen know which virtual ITS
>> command Q is
>>     mapped to which Physical ITS command Q.
>>     In case of linux, the ITS node is added as msi chip to pci using
>> of_pci_msi_chip_add()
>>     and from pci_dev structure we can know which ITS to use.
>>     But in case of Xen, when ITS command is trapped we have only
>> dev_id info from ITS command.
> With the proper PCI infrastructure in place we can map the vdev_id to a
> pdev_id, and from there to our own struct pci_dev 
> The mapping from pdev_id to pci_dev is based on the
> PHYSDEVOP_pci_host_bridge_add and PHYSDEVOP_pci_device_add calls I
> described just now in my mail to Manish in this thread (specifically
> pci_device_add creates and registers struct pci_dev I think).

We may need an hypercall to map the dev_id to a vdev_id.

IIRC, Vijay and Manish was already planned to add one.

>> 2) If DomU is always given one virtual ITS node. If DomU is assinged
>> with two different
>>     PCI devices connected to different physical ITS, then Xen vITS
>> driver should know how to map
>>     PCI device to physical ITS
> Correct, I think that all falls out from the proper tracking of the
> vdev_id to pdev_id and from vits to pits for a given domain and the
> management/tracking of the struct pci_dev.

I think this is the right way to go. Though I haven't read the ITS spec


Julien Grall

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.