From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:37629) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T0xcy-000252-WF for qemu-devel@nongnu.org; Mon, 13 Aug 2012 12:36:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T0xcx-0002YI-P0 for qemu-devel@nongnu.org; Mon, 13 Aug 2012 12:36:28 -0400 Received: from p4fde0cf5.dip0.t-ipconnect.de ([79.222.12.245]:49849 helo=mail.maya.org) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T0xcx-0002Xz-00 for qemu-devel@nongnu.org; Mon, 13 Aug 2012 12:36:27 -0400 Message-ID: <50292CFD.1080903@01019freenet.de> Date: Mon, 13 Aug 2012 18:36:13 +0200 From: Andreas Hartmann MIME-Version: 1.0 References: <20120801050241.22163.78549.stgit@bling.home> <87pq6uvs52.fsf@codemonkey.ws> <1344867810.4683.21.camel@ul30vt.home> <20120813174834.7f4346c7@dualc.maya.org> <1344874489.4683.27.camel@ul30vt.home> In-Reply-To: <1344874489.4683.27.camel@ul30vt.home> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 0/3] VFIO-based PCI device assignment for QEMU 1.2 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Alex Williamson Cc: Andreas Hartmann , kvm@vger.kernel.org, aik@ozlabs.ru, Jan Kiszka , Anthony Liguori , qemu-devel@nongnu.org, Blue Swirl , Avi Kivity Alex Williamson schrieb: > On Mon, 2012-08-13 at 17:48 +0200, Andreas Hartmann wrote: >> Alex Williamson wrote: >>> On Mon, 2012-08-13 at 08:27 -0500, Anthony Liguori wrote: >>>> Alex Williamson writes: >>>> >>>>> VFIO kernel support was just merged into Linux, so I'd like to >>>>> formally propose inclusion of the QEMU vfio-pci driver for >>>>> QEMU 1.2. Included here is support for x86 PCI device assignment. >>>>> PCI INTx is not yet enabled, but devices making use of either MSI >>>>> or MSI-X work. The level irqfd and eoifd support I've proposed >>>>> for KVM enable an accelerated patch for this through KVM. I'd >>>>> like to get this base driver in first and enable the remaining >>>>> support in-tree. >>>>> >>>>> I've split this version up a little from the RFC to make it a bit >>>>> easier to review. Review comments from Blue Swirl and Avi are >>>>> already incorporated, including Avi's requests to simplify both >>>>> the PCI BAR mapping and unmapping paths. >>>> >>>> Hi Alex, >>>> >>>> Thanks for pushing this forward! Hopefully this will finally kill >>>> off qemu-kvm.git for good. >>>> >>>> I think this series is going to have to wait for 1.3 to open up. We >>>> have a very short release window for this release and I'd feel a lot >>>> more comfortable having such a significant feature spend some time in >>>> the development cycle getting testing/review. >>>> >>>> I'd like to see a few Reviewed-by's too for this series before it >>>> goes in. I expect they won't be hard to get but I also expect it >>>> will take a few more revisions of this series to get there. >>> >>> That's disappointing, but I can understand your reluctance. Blue >>> Swirl reviewed the RFC and could perhaps add a Reviewed-by. Alexey >>> has been working on the POWER port and I'm sure could provide a >>> Reviewed-by. We also have a few early adopters that are already >>> making use of this code. >> >> I'm running qemu with vfio patch since Jun 05, 2012 >> (awilliam-qemu-vfio-v0.14.0-rc0-6402-g323cf9f.tar.gz). I didn't >> encounter any problem so far. >> >> If you like, I could compile a more actual version, too (if there have >> been any changes). > > The only change in the version proposed for qemu is that legacy > interrupt support has been removed until we can agree on interfaces in > kvm and plumb an EOI path through qemu. IIRC, the devices you're using > require legacy interrupt support. > >> To see more about my use case: >> http://permalink.gmane.org/gmane.linux.drivers.rt2x00.user/1051 >> >> You may add a Tested-by Andreas Hartmann >> if you like. >> >> Unfortunately, I'm only running the vfio VM (kvm) with this version of >> qemu, but I'm running parallel 4 other VM's with the unchanged version >> of qemu (kvm-0.15.0-123.2.x86_64), too. >> One of these 4 VM's uses PCIe passthrough. >> >> I now tried to run all VMs with the new version of qemu. At this point, >> I unfortunately run into a problem with the VM which passes through a >> PCIe device. The error message is (during start of VM): >> >> virsh start VM >> error: Failed to start domain VM >> error: internal error process exited while connecting to monitor: qemu-system-x86_64: -device pci-assign,host=04:00.0,id=hostdev0,bus=pci.0,addr=0x6: Parameter 'driver' expects device type >> >> The xml file for libvirt looks like this: > > libvirt doesn't yet support vfio-pci and current qemu.git doesn't yet > support pci-assign. To use libvirt for device assignment, your only > option right now is to use a qemu-kvm.git based version of qemu. If I'm using your qemu instead of qemu from kvm-0.15 (opensuse package), this error comes up when passing through a PCIe device, which works absolutely fine with kvm 0.15. I would have expected, that your qemu works with the legacy way of handling pcie passthrough, too (with pci-stub module). This would mean, that all users get errors if they use the traditional way. IOW: there are changes needed (which?) to move from kvm 0.15 to your qemu version. > >> >> VM >> 44444444-4444-2222-7777-111111111111 >> 1048576 >> 262144 >> 1 >> >> hvm >> >> >> >> >> >> >> >> destroy >> restart >> destroy >> >> /usr/local/bin/qemu-system-x86_64 >> >> >> >>
>> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> Maybe, this is fixed in a newer version of qemu for vfio? Kind regards, Andreas