On Tue, 7 Apr 2015, Jaggi, Manish wrote:
> Hi Julien,
> 
> 
> Following patch generated compiler error when HAS_PCI adn HAS_PASSTHROUGH 
> enabled.
> Please advice how to fix this issue, or you can revert this patch.
> Should I add a device structure in pci_dev or there is another way.

Hello Manish,

we have never really built Xen on ARM with HAS_PCI=y so it is normal
that it won't compile out of the box, it is not just a problem caused by
the commit below.  I imagine that you'll need to do more than setting
HAS_PCI to y in order to get PCI and PCI passthrough working properly
with Xen on ARM.  Feel free to go ahead and propose any changes
necessary.

Cheers,

Stefano


>     xen/arm: Introduce a generic way to describe device
>     
>     Currently, Xen is supporting PCI and Platform device (based on Device 
> Tree).
>    
>     While Xen only supports Platform device on ARM, Xen will gain support of
>     PCI soon.
>     
>     Some drivers, such as IOMMU drivers, may handle PCI and platform device in
>     the same way. Only few lines of code differs.
>     
>     Rather than requesting to provide 2 set of functions (one for PCI and
>     one for platform device), introduce a generic structure "device" which
>     is embedded in each specialized device.
>     
>     As x86 only supports PCI, introduce a new type device_t which will be an
>     alias to pci_dev for this architecture. It will avoid to add a new field
>     for this place.
>     
>     Signed-off-by: Julien Grall <julien.gr...@linaro.org>
>     Acked-by: Jan Beulich <jbeul...@suse.com>
>     Acked-by: Stefano Stabellini <stefano.stabell...@eu.citrix.com>
>     CC: Keir Fraser <k...@xen.org>
>     CC: Andrew Cooper <andrew.coop...@citrix.com>
> 
> ----
> 
> Compilation error
> pci.c: In function ‘iommu_add_device’:
> pci.c:1263:5: error: implicit declaration of function ‘pci_to_dev’ 
> [-Werror=implicit-function-declaration]
> pci.c:1263:5: error: nested extern declaration of ‘pci_to_dev’ 
> [-Werror=nested-externs]
> pci.c:1263:5: error: passing argument 2 of ‘hd->platform_ops->add_device’ 
> makes pointer from integer without a cast [-Werror]
> pci.c:1263:5: note: expected ‘struct device_t *’ but argument is of type ‘int’
> pci.c:1272:9: error: passing argument 2 of ‘hd->platform_ops->add_device’ 
> makes pointer from integer without a cast [-Werror]
> pci.c:1272:9: note: expected ‘struct device_t *’ but argument is of type ‘int’
> 
> 
> Regards,
> Manish Jaggi      
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to