RE: [PATCH v9 0/7] PCI: hv: New paravirtual PCI front-end for Hyper-V VMs

From: KY Srinivasan
Date: Tue Dec 15 2015 - 12:36:24 EST




> -----Original Message-----
> From: jakeo@xxxxxxxxxxxxx [mailto:jakeo@xxxxxxxxxxxxx]
> Sent: Wednesday, December 9, 2015 2:55 PM
> To: gregkh@xxxxxxxxxxxxxxxxxxx; KY Srinivasan <kys@xxxxxxxxxxxxx>; linux-
> kernel@xxxxxxxxxxxxxxx; devel@xxxxxxxxxxxxxxxxxxxxxx; olaf@xxxxxxxxx;
> apw@xxxxxxxxxxxxx; vkuznets@xxxxxxxxxx; tglx@xxxxxxxxxxxxx; Haiyang
> Zhang <haiyangz@xxxxxxxxxxxxx>; marc.zyngier@xxxxxxx;
> bhelgaas@xxxxxxxxxx; linux-pci@xxxxxxxxxxxxxxx
> Cc: Jake Oshins <jakeo@xxxxxxxxxxxxx>
> Subject: [PATCH v9 0/7] PCI: hv: New paravirtual PCI front-end for Hyper-V
> VMs
>
> From: Jake Oshins <jakeo@xxxxxxxxxxxxx>
>
> This version of the patch series removes warning when compiling x86
> 32-bit.
>
> 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 specific 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 tyhis into the kernel, which would pull
> in a lot of other Hyper-V related code, as this IRQ domain depends on
> 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 exposes root PCI buses in
> a Hyper-V VM. These root PCI buses expose real PCIe device, 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: Add fwnode_handle to pci_sysdata
> PCI: irqdomain: Look up IRQ domain by fwnode_handle
> drivers:hv: Define the channel type of Hyper-V PCI Express
> pass-through
> PCI: hv: New paravirtual PCI front-end for Hyper-V VMs
>
> MAINTAINERS | 1 +
> arch/x86/include/asm/msi.h | 6 +
> arch/x86/include/asm/pci.h | 15 +
> arch/x86/kernel/apic/msi.c | 8 +-
> arch/x86/kernel/apic/vector.c | 2 +
> drivers/hv/hv.c | 20 +-
> drivers/hv/hyperv_vmbus.h | 2 +-
> drivers/hv/vmbus_drv.c | 17 +
> drivers/pci/Kconfig | 7 +
> drivers/pci/host/Makefile | 1 +
> drivers/pci/host/hv_pcifront.c | 2250
> ++++++++++++++++++++++++++++++++++++++++
> drivers/pci/msi.c | 4 +
> drivers/pci/probe.c | 15 +
> include/linux/hyperv.h | 14 +
> include/linux/pci.h | 4 +
> kernel/irq/chip.c | 1 +
> kernel/irq/irqdomain.c | 4 +
> 17 files changed, 2357 insertions(+), 14 deletions(-)
> create mode 100644 drivers/pci/host/hv_pcifront.c
>
> --
> 1.9.1

Of these 7 patches, Greg has committed all of the VMBUS
related supporting patches (3 patches). Thomas, can you
take the IRQ related patches through your tree.

Regards,

K. Y

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/