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