qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Andreas Hartmann <andihartmann@01019freenet.de>
To: Alex Williamson <alex.williamson@redhat.com>
Cc: Andreas Hartmann <andihartmann@01019freenet.de>,
	kvm@vger.kernel.org, aik@ozlabs.ru,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Anthony Liguori <aliguori@us.ibm.com>,
	qemu-devel@nongnu.org, Blue Swirl <blauwirbel@gmail.com>,
	Avi Kivity <avi@redhat.com>
Subject: Re: [Qemu-devel] [PATCH 0/3] VFIO-based PCI device assignment for QEMU 1.2
Date: Mon, 13 Aug 2012 18:36:13 +0200	[thread overview]
Message-ID: <50292CFD.1080903@01019freenet.de> (raw)
In-Reply-To: <1344874489.4683.27.camel@ul30vt.home>

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 <alex.williamson@redhat.com> 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 <andihartmann@01019freenet.de>
>> 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.

> 
>> <domain type='kvm'>
>>   <name>VM</name>
>>   <uuid>44444444-4444-2222-7777-111111111111</uuid>
>>   <memory>1048576</memory>
>>   <currentMemory>262144</currentMemory>
>>   <vcpu>1</vcpu>
>>   <os>
>>     <type arch='x86_64' machine='pc-0.14'>hvm</type>
>>     <boot dev='hd'/>
>>   </os>
>>   <features>
>>     <acpi/>
>>     <pae/>
>>   </features>
>>   <clock offset='utc'/>
>>   <on_poweroff>destroy</on_poweroff>
>>   <on_reboot>restart</on_reboot>
>>   <on_crash>destroy</on_crash>
>>   <devices>
>>     <emulator>/usr/local/bin/qemu-system-x86_64</emulator>
>>
>>     <hostdev mode='subsystem' type='pci' managed='yes'>
>>       <source>
>>         <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
>>       </source>
>>     </hostdev>
>>
>>     <disk type='file' device='disk'>
>>       <source file='/hds/vm.qed' type='aio'/>
>>       <target dev='vda' bus='virtio'/>
>>       <driver name='qemu' type='qed' cache='none'/>
>>     </disk>
>>
>>     <input type='mouse' bus='ps2'/>
>>     <graphics type='vnc' autoport='yes'/>
>>     <video>
>>       <model type='cirrus' vram='9216' heads='1'/>
>>     </video>
>>   </devices>
>> </domain>
>>
>>
>> Maybe, this is fixed in a newer version of qemu for vfio?

Kind regards,
Andreas

  reply	other threads:[~2012-08-13 16:36 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-01  5:18 [Qemu-devel] [PATCH 0/3] VFIO-based PCI device assignment for QEMU 1.2 Alex Williamson
2012-08-01  5:18 ` [Qemu-devel] [PATCH 1/3] vfio: Import vfio kernel header Alex Williamson
2012-08-01  7:13   ` Jan Kiszka
2012-08-01 18:09     ` Alex Williamson
2012-08-02  9:02       ` Jan Kiszka
2012-08-02 16:37         ` Alex Williamson
2012-08-02 16:45           ` Jan Kiszka
2012-08-01  5:18 ` [Qemu-devel] [PATCH 2/3] vfio: vfio-pci device assignment driver Alex Williamson
2012-08-13 22:18   ` Anthony Liguori
2012-08-14  5:25     ` Alex Williamson
2012-08-14  7:12   ` Stefan Hajnoczi
2012-08-14 13:51     ` Alex Williamson
2012-08-14 15:53   ` Avi Kivity
2012-08-14 17:23     ` Alex Williamson
2012-08-15  8:56       ` Avi Kivity
2012-08-01  5:18 ` [Qemu-devel] [PATCH 3/3] vfio: Enable vfio-pci and mark supported Alex Williamson
2012-08-01  7:15   ` Jan Kiszka
2012-08-01 18:14     ` Alex Williamson
2012-08-01 19:40       ` Alex Williamson
2012-08-02  9:03         ` Jan Kiszka
2012-08-13 22:19     ` Anthony Liguori
2012-08-14  5:27       ` Alex Williamson
2012-08-14 14:35         ` Avi Kivity
2012-08-13 13:27 ` [Qemu-devel] [PATCH 0/3] VFIO-based PCI device assignment for QEMU 1.2 Anthony Liguori
2012-08-13 13:58   ` Avi Kivity
2012-08-13 14:04     ` Jan Kiszka
2012-08-13 19:31       ` Anthony Liguori
2012-08-14  7:19         ` Jan Kiszka
2012-08-14 14:42         ` Avi Kivity
2012-08-14 14:53         ` Cole Robinson
2012-08-14 15:04           ` Jan Kiszka
2012-08-14 15:28             ` Cole Robinson
2012-08-13 14:23   ` Alex Williamson
2012-08-13 15:48     ` Andreas Hartmann
2012-08-13 16:14       ` Alex Williamson
2012-08-13 16:36         ` Andreas Hartmann [this message]
2012-08-13 16:57           ` Alex Williamson
2012-08-13 18:32             ` Andreas Hartmann
2012-08-13 19:33     ` Anthony Liguori
2012-08-13 20:48       ` Blue Swirl
2012-08-13 20:56         ` Alex Williamson
2012-08-13 20:55       ` [Qemu-devel] VFIO: Call for reviewers (was Re: [PATCH 0/3] VFIO-based PCI device assignment for QEMU 1.2) Alex Williamson

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=50292CFD.1080903@01019freenet.de \
    --to=andihartmann@01019freenet.de \
    --cc=aik@ozlabs.ru \
    --cc=alex.williamson@redhat.com \
    --cc=aliguori@us.ibm.com \
    --cc=avi@redhat.com \
    --cc=blauwirbel@gmail.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.org \
    --cc=qemu-devel@nongnu.org \
    /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).