From: Jake Oshins <jakeo@xxxxxxxxxxxxx> This patch series updates the one sent on Sept. 10, mostly by rebasing on Mark Zyngier's changes around IRQ domains and the OF tree. First, export functions that allow correlating Hyper-V virtual processors and Linux cpus, along with the means for invoking a hypercall that targets interrupts at chosen vectors on specfic cpus. Second, mark various parts of IRQ domain related code as exported, so that this PCI front-end can implement an IRQ domain as part of a module. (The alternative would be to pull all this into the kernel, which would pull in a lot of other Hyper-V related code, as this IRQ domain depends on hv_vmbus.ko.) Third, modify PCI so that new root PCI buses can be marked with an associated fwnode_handle, and so that root PCI buses can look up their associated IRQ domain by that handle. Fourth, introduce a new driver, hv_pcifront, which eposes root PCI buses in a Hyper-V VM. These root PCI buses expose real PCIe devices, or PCI Virtual Functions. Jake Oshins (7): drivers:hv: Export a function that maps Linux CPU num onto Hyper-V proc num drivers:hv: Export hv_do_hypercall() PCI: Make it possible to implement a PCI MSI IRQ Domain in a module. PCI: Record an fwnode associated with root PCI buses, optionally PCI: irqdomain: Look up IRQ domain by fwnode_handle drivers:hv: Define the channel type for Hyper-V PCI Express pass-through PCI: hv: New paravirtual PCI front-end for Hyper-V VMs MAINTAINERS | 1 + arch/sparc/kernel/pci.c | 2 +- arch/x86/include/asm/msi.h | 4 + arch/x86/kernel/apic/msi.c | 5 +- arch/x86/kernel/apic/vector.c | 2 + drivers/acpi/pci_root.c | 2 +- drivers/hv/hv.c | 20 +- drivers/hv/hyperv_vmbus.h | 2 +- drivers/hv/vmbus_drv.c | 17 + drivers/parisc/lba_pci.c | 2 +- drivers/pci/Kconfig | 7 + drivers/pci/host/Makefile | 1 + drivers/pci/host/hv_pcifront.c | 2262 ++++++++++++++++++++++++++++++++++++++++ drivers/pci/host/pci-xgene.c | 2 +- drivers/pci/host/pcie-iproc.c | 3 +- drivers/pci/msi.c | 4 + drivers/pci/probe.c | 21 +- include/linux/hyperv.h | 14 + include/linux/pci.h | 4 +- kernel/irq/chip.c | 1 + kernel/irq/irqdomain.c | 2 + 21 files changed, 2356 insertions(+), 22 deletions(-) create mode 100644 drivers/pci/host/hv_pcifront.c -- 1.9.1 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel