|
|
|
|
|
|
|
|
|
|
xen-devel
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread>
|
- [Xen-devel] [PATCH PV_OPS PCIFRONT],
Konrad Rzeszutek Wilk <=
|
|
|
|
|