linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: jakeo@microsoft.com
To: gregkh@linuxfoundation.org, kys@microsoft.com,
	linux-kernel@vger.kernel.org, devel@linuxdriverproject.org,
	olaf@aepfle.de, apw@canonical.com, vkuznets@redhat.com,
	tglx@redhat.com, haiyangz@microsoft.com, marc.zyngier@arm.com,
	jiang.liu@linux.intel.com, bhelgaas@google.com,
	linux-pci@vger.kernel.org
Cc: Jake Oshins <jakeo@microsoft.com>
Subject: [PATCH v4 0/7] PCI: hv: New paravirtual PCI front-end for Hyper-V VMs
Date: Thu, 29 Oct 2015 23:46:09 +0000	[thread overview]
Message-ID: <1446162376-43419-1-git-send-email-jakeo@microsoft.com> (raw)

From: Jake Oshins <jakeo@microsoft.com>

This patch series incorporates feedback from Gerry Liu
(jiang.liu@linux.intel.com).

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: Add fwnode_handle to pci_sysdata
  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/x86/include/asm/msi.h     |    4 +
 arch/x86/include/asm/pci.h     |   11 +
 arch/x86/kernel/apic/msi.c     |    5 +-
 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 | 2267 ++++++++++++++++++++++++++++++++++++++++
 drivers/pci/msi.c              |    4 +
 drivers/pci/probe.c            |   13 +
 include/linux/hyperv.h         |   14 +
 kernel/irq/chip.c              |    1 +
 kernel/irq/irqdomain.c         |    2 +
 16 files changed, 2358 insertions(+), 13 deletions(-)
 create mode 100644 drivers/pci/host/hv_pcifront.c

-- 
1.9.1


             reply	other threads:[~2015-10-29 23:47 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-29 23:46 jakeo [this message]
2015-10-29 23:46 ` [PATCH v4 1/7] drivers:hv: Export a function that maps Linux CPU num onto Hyper-V proc num jakeo
2015-10-29 23:46 ` [PATCH v4 2/7] drivers:hv: Export hv_do_hypercall() jakeo
2015-10-29 23:46 ` [PATCH v4 3/7] PCI: Make it possible to implement a PCI MSI IRQ Domain in a module jakeo
2015-10-29 23:46 ` [PATCH v4 4/7] PCI: Add fwnode_handle to pci_sysdata jakeo
2015-10-30  1:55   ` Jiang Liu
2015-10-30 16:01     ` Jake Oshins
2015-10-29 23:46 ` [PATCH v4 5/7] PCI: irqdomain: Look up IRQ domain by fwnode_handle jakeo
2015-10-30  0:28   ` Andy Shevchenko
2015-10-30 15:58     ` Jake Oshins
2015-10-29 23:46 ` [PATCH v4 6/7] drivers:hv: Define the channel type for Hyper-V PCI Express pass-through jakeo
2015-10-30  0:44   ` Andy Shevchenko
2015-10-30 15:57     ` Jake Oshins
2015-10-30 16:52       ` Andy Shevchenko
2015-10-30 16:56         ` KY Srinivasan
2015-10-30 16:58           ` Andy Shevchenko
2015-10-30 17:30             ` KY Srinivasan
2015-10-29 23:46 ` [PATCH v4 7/7] PCI: hv: New paravirtual PCI front-end for Hyper-V VMs jakeo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1446162376-43419-1-git-send-email-jakeo@microsoft.com \
    --to=jakeo@microsoft.com \
    --cc=apw@canonical.com \
    --cc=bhelgaas@google.com \
    --cc=devel@linuxdriverproject.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=haiyangz@microsoft.com \
    --cc=jiang.liu@linux.intel.com \
    --cc=kys@microsoft.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=marc.zyngier@arm.com \
    --cc=olaf@aepfle.de \
    --cc=tglx@redhat.com \
    --cc=vkuznets@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).