[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH PV_OPS PCIFRONT]
The following patches provide pcifront support for the Linux pv-ops kernel. The first two lay some groundwork, neccessary for the driver to function in a PV non-privileged domain capacity: [PATCH 01/31] [xen-core] Provide a variant of xen_poll_irq with timeout. [PATCH 02/31] Enable Xen-SWIOTLB if running in [non-]privileged and disable the Xen-IOMMU if an IOMMU is detected. The next fourteen ones that follow it, are simple fixes to shape the driver into compiling on the kernel. [PATCH 03/31] Initial copy from linux-2.6.18.hg of the pcifront driver. [PATCH 04/31] Fix include header name change. [PATCH 05/31] Fix compile warning: ignoring return value of 'pci_bus_add_device', declared with attribute warn_unused_result [PATCH 06/31] Fix compile warning: passing argument 2 of 'pci_walk_bus' from incompatible pointer type [PATCH 07/31] Fix compile error. The bind_to_irq_handler has different arguments. [PATCH 08/31] Fix compile error: implicit declaration of function 'virt_to_mfn' [PATCH 09/31] Fix compile error: implicit declaration of function 'clear_evtchn' [PATCH 10/31] Fix compile error: implicit declaration of function 'gnttab_end_foreign_access' [PATCH 11/31] Fix compile error: too few arguments to function 'gnttab_end_foreign_access' [PATCH 12/31] Remove function declerations (CONFIG_PCI_DOMAIN) that exist in recent kernels. [PATCH 13/31] Fix uage of INIT_WORK. [PATCH 14/31] Add proper check to see if running under Xen. [PATCH 15/31] Improper assumption that event channel == IRQ number. [PATCH 16/31] Replace HYPERVISOR_poll with 'xen_poll_irq_timout' function. The next eight are to squish the driver from its set of various files, in a xen-pcifront.c driver. No new functionality is added - just squishing and removing pieces that don't make sense: [PATCH 17/31] Coalesce pci.c functions in xenbus.c. [PATCH 18/31] Coalesce xen/pcifront.h in drivers/xen/pcifront/pcifront.h [PATCH 19/31] Remove ia64 from pcifront.c support. [PATCH 20/31] Remove unused pci_bus_sem extern, as we don't use it. [PATCH 21/31] Coalesce pcifront.h in xenbus.c. [PATCH 22/31] Coalesce pci_op.c in xenbus.c. [PATCH 23/31] Remove unnecessary function declerations. [PATCH 24/31] Rename the drivers/xen/pcifront/* driver to drivers/pci/xen-pcifront.c. At this point, we have a driver that compiles, but does not actuall work. The next one makes it bootable: [PATCH 25/31] Change the boot-order of initialising the PCI frontend. And at this point, I've decided to clean up the driver. Running it through the checkpatch showed a wealth of warning which I've rolled up in one patch: [PATCH 26/31] Fix warnings/errors reported by checkpatch.pl on xen-pcifront.c The next five are neccessary to make the Xen core functionality provide an IRQ for the INTx and MSI devices: [PATCH 27/31] Find an unbound irq number in reverse order (high to low). [PATCH 28/31] For non-privileged domains, implement a pcibios_enable_irq (xen_pcifront_enable_irq) function. [PATCH 29/31] xen_destroy_irq + xen_allocate_pirq in PV non-priv mode should not make certain Xen-HYPERCALLs. [PATCH 30/31] Add pci_frontend_[enable|disable]_[msi|msix] function decleration and EXPORT_SYMBOL_GPL. [PATCH 31/31] To enable MSI devices in a non-privileged PV domain use pci_frontend_enable_msi. That is it for right now. The driver works with INTx and MSI cards. I've tested with USB and network (Broadcom) succesfully. There is still some more work to do: - MSI disable is not yet in, - no MSI-X enable/disable functionality. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |