Drivers: hv: vmbus: fix build warning Drivers: hv: util: Increase the timeout for util services Drivers: hv: utils: run polling callback always in interrupt context tools: hv: report ENOSPC errors in hv_fcopy_daemon tools: hv: remove repeated HV_FCOPY string Drivers: hv: util: catch allocation errors Drivers: hv: utils: use memdup_user in hvt_op_write drivers/hv: cleanup synic msrs if vmbus connect failed drivers:hv: Export a function that maps Linux CPU num onto Hyper-V proc num drivers:hv: Export the API to invoke a hypercall on Hyper-V drivers:hv: Define the channel type for Hyper-V PCI Express pass-through Drivers: hv: vss: run only on supported host versions Drivers: hv: vmbus: Use uuid_le type consistently Drivers: hv: vmbus: Use uuid_le_cmp() for comparing GUIDs Drivers: hv: vmbus: Get rid of the unused macro Drivers: hv: vmbus: Get rid of the unused irq variable Drivers: hv: vmbus: serialize process_chn_event() and vmbus_close_internal() Drivers: hv: vmbus: do sanity check of channel state in vmbus_close_internal() Drivers: hv: vmbus: fix rescind-offer handling for device without a driver Drivers: hv: vmbus: release relid on error in vmbus_process_offer() Drivers: hv: vmbus: channge vmbus_connection.channel_lock to mutex drivers:hv: Allow for MMIO claims that span ACPI _CRS records Drivers: hv: vmbus: Fix a Host signaling bug drivers/hv: correct tsc page sequence invalid value Drivers: hv: vmbus: Force all channel messages to be delivered on CPU 0 Drivers: hv: utils: Invoke the poll function after handshake tools: hv: vss: fix the write()'s argument: error -> vss_msg Drivers: hv: utils: fix memory leak on on_msg() failure Drivers: hv: utils: rename outmsg_lock Drivers: hv: utils: introduce HVUTIL_TRANSPORT_DESTROY mode Drivers: hv: utils: fix crash when device is removed from host side Drivers: hv: ring_buffer.c: fix comment style Drivers: hv: ring_buffer: remove stray smp_read_barrier_depends() Drivers: hv: ring_buffer: remove code duplication from hv_ringbuffer_peek/read() Drivers: hv: remove code duplication between vmbus_recvpacket()/vmbus_recvpacket_raw() Drivers: hv: ring_buffer: eliminate hv_ringbuffer_peek() drivers/hv: replace enum hv_message_type by u32 drivers/hv: Move HV_SYNIC_STIMER_COUNT into Hyper-V UAPI x86 header drivers/hv: Move struct hv_message into UAPI Hyper-V x86 header drivers/hv: Move struct hv_timer_message_payload into UAPI Hyper-V x86 header Drivers: hv: vmbus: fix the building warning with hyperv-keyboard Drivers: hv: utils: fix hvt_op_poll() return value on transport destroy Drivers: hv: vmbus: Treat Fibre Channel devices as performance critical genirq/msi: Export functions to allow MSI domains in modules x86/irq: Export functions to allow MSI domains in modules
** Also affects: linux (Ubuntu Xenial) Importance: Undecided Status: Confirmed ** Changed in: linux (Ubuntu Xenial) Status: Confirmed => Fix Committed ** Changed in: linux (Ubuntu Xenial) Assignee: (unassigned) => Tim Gardner (timg-tpi) -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1541120 Title: [Hyper-V] PCI Passthrough Status in linux package in Ubuntu: Fix Committed Status in linux source package in Xenial: Fix Committed Bug description: Jake Oshins (Microsoft) has submitted upstream the PCI Passthrough feature, and while it is not yet accepted upstream (because of the effect on multiple trees and affects PCI), Microsoft would like Canonical to consider its inclusion in Ubuntu 16.04 and beyond. The rounds of feedback on the patches are winding down, so it is a good time to consider them. All of the submitted files are in the attached thread, but not all are committed to Linus's tree as of 4.5-rc1. This feature is needed for supporting SR-IOV and GPU passthrough on Hyper-V. The 10th iteration of the upstream submission is available on lkml: https://lkml.org/lkml/2015/12/10/553 From jakeo@microsof ... Subject [PATCH v10 0/7] PCI: hv: New paravirtual PCI front-end for Hyper-V VMs Date Thu, 10 Dec 2015 17:52:56 +0000 From: Jake Oshins <ja...@microsoft.com> This version of the patch series removes warning when compiling x86 32-bit while still making it build cleanly for x64. 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 | 2249 ++++++++++++++++++++++++++++++++++++++++ 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, 2356 insertions(+), 14 deletions(-) create mode 100644 drivers/pci/host/hv_pcifront.c Accepted commits so far in 4.5-rc1: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a108393dbf764efb2405f21ca759806c65b8bc16 drivers:hv: Export the API to invoke a hypercall on Hyper-V https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=619848bd074343ff2bdeeafca0be39748f6da372 drivers:hv: Export a function that maps Linux CPU num onto Hyper-V proc num https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=3053c762444a83ec6a8777f9476668b23b8ab180 drivers:hv: Define the channel type for Hyper-V PCI Express pass-through https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=40f26f3168bf7a4da490db308dc0bd9f9923f41f drivers:hv: Allow for MMIO claims that span ACPI _CRS records https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=a4289dc2ec3a5821076a78ee9678909b4eff297e genirq/msi: Export functions to allow MSI domains in modules https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=c8f3e518d3444ee9200a4987421fcee60f768f11 x86/irq: Export functions to allow MSI domains in modules To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1541120/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp