qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@web.de>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: Xen Devel <xen-devel@lists.xensource.com>,
	Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	QEMU-devel <qemu-devel@nongnu.org>,
	Alex Williamson <alex.williamson@redhat.com>,
	Avi Kivity <avi@redhat.com>,
	Anthony PERARD <anthony.perard@citrix.com>
Subject: Re: [Qemu-devel] [Xen-devel] [PATCH RFC V1 00/11] Xen PCI Passthrough
Date: Tue, 04 Oct 2011 19:21:41 +0200	[thread overview]
Message-ID: <4E8B40A5.2070501@web.de> (raw)
In-Reply-To: <4E8B1FBC.2080904@codemonkey.ws>

[-- Attachment #1: Type: text/plain, Size: 2436 bytes --]

On 2011-10-04 17:01, Anthony Liguori wrote:
> On 10/04/2011 09:58 AM, Avi Kivity wrote:
>> On 10/04/2011 04:51 PM, Anthony PERARD wrote:
>>> Hi all,
>>>
>>> This patch series introduce the PCI passthrough for Xen.
>>>
>>> First, we have HostPCIDevice that help to access one PCI device of
>>> the host.
>>>
>>> Then, there are several additions in the QEMU code. One is
>>> qemu_run_one_timer
>>> to run a specific timer. It is used by PCI passthrough to run a timer
>>> about
>>> power management. Another is pci_check_bar_overlap.
>>>
>>> There are also several change in pci_ids and pci_regs.
>>>
>>> Last part, but not least, the PCI passthrough device himself. Cut in
>>> 3 parts
>>> (or file), there is one to take care of the initialisation of a
>>> passthrough
>>> device. The second one handle everything about the config address
>>> space, there
>>> are specifics functions for every config register. The third one is
>>> to handle
>>> MSI.
>>>
>>> I'm still working on setting a PCI passthrough device through QMP
>>> from libxl
>>> (xen tool stack). It is just a call to device_add, with the driver
>>> parametter
>>> hostaddr="0000:00:1b.0".
>>>
>>> There is some minor things missing:
>>> - copyright header
>>> - PCI IO space multiplexer
>>>
>>>
>>
>> We also have pci passthrough in qemu-kvm (I think based on the same
>> Neocleus
>> code). Rather than having two pci assignment implementations, I think
>> we should
>> have just one, with the differences (programming the hypervisor)
>> abstracted at
>> that level.
> 
> I agree in principle but how close is qemu-kvm pci passthrough to a
> mergable state?  Would it make sense to merge the Xen code first and
> then abstract it?

What is missing to get qemu-kvm device assignment ready:
 - MSI/MSI-X refactoring in QEMU (specifically config notifiers, also
   relevant for virtio)
 - switch device assignment to generic MSI/MSI-X
 - get in-kernel irqchip support upstream
 - minor code cleanups

I was hoping to complete this for 1.0, but it looks unrealistic now.
Maybe I'll find the time for the MSI stuff at least.

From a first glance at these patches, I think there are already some
synergies in the host-pci access layer. And I bet the Xen bits could
also make use of our MSI/MSI-X code once it's generalized. But that will
be a bit work for them (based on my experience with qemu-kvm).

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 262 bytes --]

      parent reply	other threads:[~2011-10-04 17:21 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-10-04 14:51 [Qemu-devel] [PATCH RFC V1 00/11] Xen PCI Passthrough Anthony PERARD
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 01/11] Introduce HostPCIDevice to access a pci device on the host Anthony PERARD
2011-10-04 18:21   ` Jan Kiszka
2011-10-12 16:56     ` Anthony PERARD
2011-10-04 18:36   ` Stefano Stabellini
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 02/11] qemu-timer: Introduce qemu_run_one_timer Anthony PERARD
2011-10-04 17:27   ` Jan Kiszka
2011-10-04 17:52     ` Stefano Stabellini
2011-10-04 18:20     ` Anthony Liguori
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 03/11] pci_ids: Add INTEL_82599_VF id Anthony PERARD
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 04/11] pci_regs: Fix value of PCI_EXP_TYPE_RC_EC Anthony PERARD
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 05/11] pci_regs: Add PCI_EXP_TYPE_PCIE_BRIDGE Anthony PERARD
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 06/11] pci.c: Add pci_check_bar_overlap Anthony PERARD
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 07/11] host-pci-device: Add host_pci_find_ext_cap_offset Anthony PERARD
2011-10-05 11:07   ` Stefano Stabellini
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 08/11] Introduce Xen PCI Passthrough, qdevice (1/3) Anthony PERARD
2011-10-05 11:51   ` Stefano Stabellini
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 09/11] Introduce Xen PCI Passthrough, PCI config space helpers (2/3) Anthony PERARD
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 10/11] Introduce Xen PCI Passthrough, MSI (3/3) Anthony PERARD
2011-10-05 11:51   ` Stefano Stabellini
2011-10-04 14:51 ` [Qemu-devel] [PATCH RFC V1 11/11] config/make: Introduce --enable-xen-pci-passthrough, built it Anthony PERARD
2011-10-05 11:55   ` Stefano Stabellini
2011-10-04 14:58 ` [Qemu-devel] [Xen-devel] [PATCH RFC V1 00/11] Xen PCI Passthrough Avi Kivity
2011-10-04 15:01   ` Anthony Liguori
2011-10-04 15:05     ` Stefano Stabellini
2011-10-04 16:33       ` Alex Williamson
2011-10-04 16:56         ` Stefano Stabellini
2011-10-04 17:01         ` Avi Kivity
2011-10-04 17:41           ` Jan Kiszka
2011-10-04 17:03     ` Avi Kivity
2011-10-04 18:19       ` Stefano Stabellini
2011-10-04 18:24         ` Avi Kivity
2011-10-04 17:21     ` Jan Kiszka [this message]

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=4E8B40A5.2070501@web.de \
    --to=jan.kiszka@web.de \
    --cc=alex.williamson@redhat.com \
    --cc=anthony.perard@citrix.com \
    --cc=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=stefano.stabellini@eu.citrix.com \
    --cc=xen-devel@lists.xensource.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).