All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH PV_OPS PCIFRONT]
@ 2009-11-05 21:33 Konrad Rzeszutek Wilk
  2009-11-05 21:33 ` [PATCH 01/31] [xen-core] Provide a variant of xen_poll_irq with timeout Konrad Rzeszutek Wilk
  2009-11-05 22:04 ` [PATCH PV_OPS PCIFRONT] Konrad Rzeszutek Wilk
  0 siblings, 2 replies; 38+ messages in thread
From: Konrad Rzeszutek Wilk @ 2009-11-05 21:33 UTC (permalink / raw)
  To: xen-devel; +Cc: Jeremy Fitzhardinge

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.

^ permalink raw reply	[flat|nested] 38+ messages in thread

end of thread, other threads:[~2009-11-06 22:33 UTC | newest]

Thread overview: 38+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-11-05 21:33 [PATCH PV_OPS PCIFRONT] Konrad Rzeszutek Wilk
2009-11-05 21:33 ` [PATCH 01/31] [xen-core] Provide a variant of xen_poll_irq with timeout Konrad Rzeszutek Wilk
2009-11-05 21:33   ` [PATCH 02/31] Enable Xen-SWIOTLB if running in [non-]privileged and disable the Xen-IOMMU if an IOMMU is detected Konrad Rzeszutek Wilk
2009-11-05 21:33     ` [PATCH 03/31] Initial copy from linux-2.6.18.hg of the pcifront driver Konrad Rzeszutek Wilk
2009-11-05 21:33       ` [PATCH 04/31] Fix include header name change Konrad Rzeszutek Wilk
2009-11-05 21:33         ` [PATCH 05/31] Fix compile warning: ignoring return value of 'pci_bus_add_device', declared with attribute warn_unused_result Konrad Rzeszutek Wilk
2009-11-05 21:33           ` [PATCH 06/31] Fix compile warning: passing argument 2 of 'pci_walk_bus' from incompatible pointer type Konrad Rzeszutek Wilk
2009-11-05 21:33             ` [PATCH 07/31] Fix compile error. The bind_to_irq_handler has different arguments Konrad Rzeszutek Wilk
2009-11-05 21:33               ` [PATCH 08/31] Fix compile error: implicit declaration of function 'virt_to_mfn' Konrad Rzeszutek Wilk
2009-11-05 21:33                 ` [PATCH 09/31] Fix compile error: implicit declaration of function 'clear_evtchn' Konrad Rzeszutek Wilk
2009-11-05 21:33                   ` [PATCH 10/31] Fix compile error: implicit declaration of function 'gnttab_end_foreign_access' Konrad Rzeszutek Wilk
2009-11-05 21:33                     ` [PATCH 11/31] Fix compile error: too few arguments to " Konrad Rzeszutek Wilk
2009-11-05 21:33                       ` [PATCH 12/31] Remove function declerations (CONFIG_PCI_DOMAIN) that exist in recent kernels Konrad Rzeszutek Wilk
2009-11-05 21:33                         ` [PATCH 13/31] Fix uage of INIT_WORK Konrad Rzeszutek Wilk
2009-11-05 21:33                           ` [PATCH 14/31] Add proper check to see if running under Xen Konrad Rzeszutek Wilk
2009-11-05 21:33                             ` [PATCH 15/31] Improper assumption that event channel == IRQ number Konrad Rzeszutek Wilk
2009-11-05 21:33                               ` [PATCH 16/31] Replace HYPERVISOR_poll with 'xen_poll_irq_timout' function Konrad Rzeszutek Wilk
2009-11-05 21:33                                 ` [PATCH 17/31] Coalesce pci.c functions in xenbus.c Konrad Rzeszutek Wilk
2009-11-05 21:33                                   ` [PATCH 18/31] Coalesce xen/pcifront.h in drivers/xen/pcifront/pcifront.h Konrad Rzeszutek Wilk
2009-11-05 21:33                                     ` [PATCH 19/31] Remove ia64 from pcifront.c support Konrad Rzeszutek Wilk
2009-11-05 21:33                                       ` [PATCH 20/31] Remove unused pci_bus_sem extern, as we don't use it Konrad Rzeszutek Wilk
2009-11-05 21:33                                         ` [PATCH 21/31] Coalesce pcifront.h in xenbus.c Konrad Rzeszutek Wilk
2009-11-05 21:33                                           ` [PATCH 22/31] Coalesce pci_op.c " Konrad Rzeszutek Wilk
2009-11-05 21:33                                             ` [PATCH 23/31] Remove unnecessary function declerations Konrad Rzeszutek Wilk
2009-11-05 21:33                                               ` [PATCH 24/31] Rename the drivers/xen/pcifront/* driver to drivers/pci/xen-pcifront.c Konrad Rzeszutek Wilk
2009-11-05 21:33                                                 ` [PATCH 25/31] Change the boot-order of initialising the PCI frontend Konrad Rzeszutek Wilk
2009-11-05 21:33                                                   ` [PATCH 26/31] Fix warnings/errors reported by checkpatch.pl on xen-pcifront.c Konrad Rzeszutek Wilk
2009-11-05 21:33                                                     ` [PATCH 27/31] Find an unbound irq number in reverse order (high to low) Konrad Rzeszutek Wilk
2009-11-05 21:33                                                       ` [PATCH 28/31] For non-privileged domains, implement a pcibios_enable_irq (xen_pcifront_enable_irq) function Konrad Rzeszutek Wilk
2009-11-05 21:33                                                         ` [PATCH 29/31] xen_destroy_irq + xen_allocate_pirq in PV non-priv mode should not make certain Xen-HYPERCALLs Konrad Rzeszutek Wilk
2009-11-05 21:33                                                           ` [PATCH 30/31] Add pci_frontend_[enable|disable]_[msi|msix] function decleration and EXPORT_SYMBOL_GPL Konrad Rzeszutek Wilk
2009-11-05 21:33                                                             ` [PATCH 31/31] To enable MSI devices in a non-privileged PV domain use pci_frontend_enable_msi Konrad Rzeszutek Wilk
2009-11-06 21:38                                                           ` [PATCH 29/31] xen_destroy_irq + xen_allocate_pirq in PV non-priv mode should not make certain Xen-HYPERCALLs Jeremy Fitzhardinge
2009-11-05 22:04 ` [PATCH PV_OPS PCIFRONT] Konrad Rzeszutek Wilk
2009-11-06 21:40   ` Jeremy Fitzhardinge
2009-11-06 21:50     ` Konrad Rzeszutek Wilk
2009-11-06 22:11       ` Konrad Rzeszutek Wilk
2009-11-06 22:33       ` Jeremy Fitzhardinge

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.