WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

Re: [Xen-devel] [PATCH RFC V1 00/11] Xen PCI Passthrough

To: Anthony Liguori <anthony@xxxxxxxxxxxxx>
Subject: Re: [Xen-devel] [PATCH RFC V1 00/11] Xen PCI Passthrough
From: Jan Kiszka <jan.kiszka@xxxxxx>
Date: Tue, 04 Oct 2011 19:21:41 +0200
Cc: Xen Devel <xen-devel@xxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>, QEMU-devel <qemu-devel@xxxxxxxxxx>, Alex Williamson <alex.williamson@xxxxxxxxxx>, Avi Kivity <avi@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>
Delivery-date: Tue, 04 Oct 2011 10:23:46 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
In-reply-to: <4E8B1FBC.2080904@xxxxxxxxxxxxx>
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
References: <1317739882-4809-1-git-send-email-anthony.perard@xxxxxxxxxx> <4E8B1F0D.4080203@xxxxxxxxxx> <4E8B1FBC.2080904@xxxxxxxxxxxxx>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666
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: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel