This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
Home Products Support Community News


[Xen-devel] [GIT PULL] pv/pcifront-2.6.32

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [GIT PULL] pv/pcifront-2.6.32
From: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx>
Date: Mon, 1 Mar 2010 22:12:17 -0500
Delivery-date: Mon, 01 Mar 2010 19:38:40 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.19 (2009-01-05)
Hey Jeremy,

Please pull from
git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen.git pv/pcifront-2.6.32

It is a back-port of the Xen PCI front driver (not the SR-IOV one, just
old plain one). It has been tested with a bare 2.6.32 tree
(pv/master.2.6.32) and with xen/next

The merge of this is a bit hairy, so I did my own which is available in
the pv/xen.next.merge (which is basically xen/next + pv/pcifront-2.6.32
+ pv/fbfbront + xen: Allow unprivileged Xen domains to create iomap

To make the PCI front driver work, another patch has to be put added in
the xen/next (or better yet in the swiotlb - but it really does not seem
to fit there), which is the "xen: Allow unprivileged Xen domains to
create iomap pages" (5a7357bdb10b40414d97d7582f5467e4a709bd07)

Alex Nixon (3):
      xen: Don't disable the I/O space
      x86/PCI: Clean up pci_cache_line_size
      x86/PCI: Enable scanning of all pci functions

Ian Campbell (1):
      xen: fix off-by-one error in find_unbound_irq

Jeremy Fitzhardinge (8):
      x86/pci: make sure _PAGE_IOMAP it set on pci mappings
      xen: define BIOVEC_PHYS_MERGEABLE()
      xen: implement pirq type event channels
      x86/io_apic: add get_nr_irqs_gsi()
      xen/apic: identity map gsi->irqs
      xen: dynamically allocate irq & event structures
      xen: statically initialize cpu_evtchn_mask_p
      xen/pci: clean up Kconfig a bit

Konrad Rzeszutek Wilk (50):
      xen: set pirq name to something useful.
      Xen/x86/PCI: Add support for the Xen PCI subsystem
      pci/xen: For non-privileged domains, implement a pcibios_enable_irq 
(xen_pcifront_enable_irq) function.
      pci: Export pci_walk_bus function.
      xen: Find an unbound irq number in reverse order (high to low).
      xen: Provide a variant of xen_poll_irq with timeout.
      xen: Export xen_clear_irq_pending and xen_poll_irq_timeout as the PCI 
front module utilizes them.
      xen/apic: fix shared irq device passthrough
      xen-pci: Take advantage of the shared IRQ flags.
      pci/xen: Provide a registration mechanism for the PCI frontend module 
      x86: Copy-n-paste arch_teardown_msi_irqs from msi.c to io_apic.c.
      pci-xen: Add two new functions to deal with MSI/MSI-X type interrupts.
      x86: In PV guest mode, initialize MSI/MSI-X via the pci-front driver.
      xen-pci: Add support for MSI destroying of IRQ.
      xenbus: Xen paravirtualised PCI hotplug.
      xenbus: Add new states to xenbus_strstate()
      xenbus: prevent warnings on unhandled enumeration values
      xen-pcifront: Initial copy from linux-2.6.18.hg of the pcifront driver.
      xen-pcifront: Including the pciif.h header file.
      xen-pcifront: Fix include header name change.
      xen-pcifront: Fix compile warning: ignoring return value of 
'pci_bus_add_device', declared with attribute warn_unused_result
      xen-pcifront: Fix compile warning: passing argument 2 of 'pci_walk_bus' 
from incompatible pointer type
      xen-pcifront: Fix compile error. The bind_to_irq_handler has different 
      xen-pcifront: Fix compile error: implicit declaration of function 
      xen-pcifront: Fix compile error: implicit declaration of function 
      xen-pcifront: Fix compile error: implicit declaration of function 
      xen-pcifront: Fix compile error: too few arguments to function 
      xen-pcifront: Remove function declerations (CONFIG_PCI_DOMAIN) that exist 
in recent kernels.
      xen-pcifront: Fix uage of INIT_WORK.
      xen-pcifront: Add proper check to see if running under Xen.
      xen-pcifront: Improper assumption that event channel == IRQ number.
      xen-pcifront: Replace HYPERVISOR_poll with 'xen_poll_irq_timout' function.
      xen-pcifront: Coalesce pci.c functions in xenbus.c.
      xen-pcifront: Coalesce xen/pcifront.h in drivers/xen/pcifront/pcifront.h
      xen-pcifront: Remove ia64 from pcifront.c support.
      xen-pcifront: Remove unused pci_bus_sem extern, as we don't use it.
      xen-pcifront: Coalesce pcifront.h in xenbus.c.
      xen-pcifront: Coalesce pci_op.c in xenbus.c.
      xen-pcifront: Remove unnecessary function declerations.
      xen-pcifront: Rename the drivers/xen/pcifront/* driver to 
      xen-pcifront: Change the boot-order of initialising the PCI frontend.
      xen-pcifront: Fix warnings/errors reported by checkpatch.pl
      xen-pcifront: In xen-pcifront.c updated printk(KERN_ERR ... to dev_err 
      xen-pcifront: Have pci_frontend_enable_[msi|msix] save PIRQ values in a 
int array.
      xen-pcifront: In pci_frontend_disable_msi do not alter the dev->irq.
      xen-pcifront: Check pci_claim_resource return value.
      xen-pcifront: remove driver_data direct access of struct device
      xen-pcifront: Register pci_frontend_[enable|disable]_[msi|msix] functions.
      xen-pcifront: Enable Xen PCI front to be compiled as module and also on 
      xen-pcifront: Make the driver build only under X86

-- diffstat:
 arch/x86/Kconfig                   |    4 +
 arch/x86/include/asm/io.h          |   13 +
 arch/x86/include/asm/io_apic.h     |    1 +
 arch/x86/include/asm/pci.h         |    8 +
 arch/x86/include/asm/pci_x86.h     |    2 +
 arch/x86/include/asm/xen/pci.h     |   55 ++
 arch/x86/kernel/apic/io_apic.c     |   34 +-
 arch/x86/pci/Makefile              |    1 +
 arch/x86/pci/common.c              |   18 +-
 arch/x86/pci/i386.c                |    3 +
 arch/x86/pci/init.c                |    6 +
 arch/x86/pci/xen.c                 |  147 +++++
 arch/x86/xen/Kconfig               |    8 +
 arch/x86/xen/setup.c               |    2 -
 drivers/block/xen-blkfront.c       |    2 +
 drivers/input/xen-kbdfront.c       |    2 +
 drivers/net/xen-netfront.c         |    2 +
 drivers/pci/Kconfig                |   10 +
 drivers/pci/Makefile               |    2 +
 drivers/pci/bus.c                  |    1 +
 drivers/pci/xen-pcifront.c         | 1156 ++++++++++++++++++++++++++++++++++++
 drivers/video/xen-fbfront.c        |    2 +
 drivers/xen/Kconfig                |    3 +-
 drivers/xen/Makefile               |    2 +-
 drivers/xen/biomerge.c             |   14 +
 drivers/xen/events.c               |  336 ++++++++++-
 drivers/xen/xenbus/xenbus_client.c |    2 +
 include/asm-generic/pci.h          |    2 +
 include/xen/events.h               |   18 +
 include/xen/interface/io/pciif.h   |  124 ++++
 include/xen/interface/io/xenbus.h  |    8 +-
 31 files changed, 1961 insertions(+), 27 deletions(-)

Xen-devel mailing list