From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:51697) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RB8gb-0008Dd-LB for qemu-devel@nongnu.org; Tue, 04 Oct 2011 13:21:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RB8ga-00051Z-E9 for qemu-devel@nongnu.org; Tue, 04 Oct 2011 13:21:45 -0400 Received: from fmmailgate03.web.de ([217.72.192.234]:43522) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RB8ga-00051U-3U for qemu-devel@nongnu.org; Tue, 04 Oct 2011 13:21:44 -0400 Message-ID: <4E8B40A5.2070501@web.de> Date: Tue, 04 Oct 2011 19:21:41 +0200 From: Jan Kiszka MIME-Version: 1.0 References: <1317739882-4809-1-git-send-email-anthony.perard@citrix.com> <4E8B1F0D.4080203@redhat.com> <4E8B1FBC.2080904@codemonkey.ws> In-Reply-To: <4E8B1FBC.2080904@codemonkey.ws> Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig76FDF5C09CE51A5D83B563C1" Sender: jan.kiszka@web.de Subject: Re: [Qemu-devel] [Xen-devel] [PATCH RFC V1 00/11] Xen PCI Passthrough List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Xen Devel , Stefano Stabellini , QEMU-devel , Alex Williamson , Avi Kivity , Anthony PERARD This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig76FDF5C09CE51A5D83B563C1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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=3D"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. >=20 > 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. =46rom 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 --------------enig76FDF5C09CE51A5D83B563C1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6LQKUACgkQitSsb3rl5xQ/hQCgxXVaWIeldXKc2stmhEJmPf1/ BtEAnApi/BX31131ieV22/ONSVBXg+9q =XnIm -----END PGP SIGNATURE----- --------------enig76FDF5C09CE51A5D83B563C1-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jan Kiszka Subject: Re: [Xen-devel] [PATCH RFC V1 00/11] Xen PCI Passthrough Date: Tue, 04 Oct 2011 19:21:41 +0200 Message-ID: <4E8B40A5.2070501@web.de> References: <1317739882-4809-1-git-send-email-anthony.perard@citrix.com> <4E8B1F0D.4080203@redhat.com> <4E8B1FBC.2080904@codemonkey.ws> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig76FDF5C09CE51A5D83B563C1" Return-path: In-Reply-To: <4E8B1FBC.2080904@codemonkey.ws> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org To: Anthony Liguori Cc: Xen Devel , Stefano Stabellini , QEMU-devel , Alex Williamson , Avi Kivity , Anthony PERARD List-Id: xen-devel@lists.xenproject.org This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig76FDF5C09CE51A5D83B563C1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable 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=3D"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. >=20 > 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. =46rom 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 --------------enig76FDF5C09CE51A5D83B563C1 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6LQKUACgkQitSsb3rl5xQ/hQCgxXVaWIeldXKc2stmhEJmPf1/ BtEAnApi/BX31131ieV22/ONSVBXg+9q =XnIm -----END PGP SIGNATURE----- --------------enig76FDF5C09CE51A5D83B563C1--