qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Fwd: [Qemu-discuss] pci-assign error


From: Alex Williamson
Subject: Re: [Qemu-devel] Fwd: [Qemu-discuss] pci-assign error
Date: Wed, 03 Apr 2013 12:16:24 -0600

On Wed, 2013-04-03 at 16:26 +0200, Jean Parpaillon wrote:
> 
> 
> -------- Message original --------
> Sujet: [Qemu-discuss] pci-assign error
> Date : Wed, 03 Apr 2013 12:12:15 +0200
> De : Jean Parpaillon <address@hidden>
> Pour : address@hidden
> 
> Dear all,
> I'm trying to assign a PCI graphic card to a qemu guest.

Hi,

A) Graphics assignment isn't supported and this likely won't be the only
problem you find, but if you want to experiment with VFIO-based VGA
support please try:

kernel:
git://github.com/awilliam/linux-vfio.git (branch next)
qemu:
git://github.com/awilliam/qemu-vfio.git (tag vfio-pci-for-qemu-20130401.0)

I sent a qemu pull request for the latter and the kernel updates should
be in 3.10.

B) Does assignment of anything work on your system or do you perhaps see
an error in dmesg like:

        No interrupt remapping support, disallowing device assignment.
        Re-enble with "allow_unsafe_assigned_interrupts=1" module
        option.

If so, try that.  Thanks,

Alex

> When I start the guest with libvirt, I have the following error in
> /var/log/libvirt/qemu/sofa.log:
> LC_ALL=C
> PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
> HOME=/root USER=root LOGNAME=root QEMU_AUDIO_DRV=spice /usr/bin/kvm
> -name sofa -S -M pc-1.1 -m 1500 -smp 2,sockets=2,cores=1,threads=1 -uuid
> 1234beef -no-user-config -nodefaults -chardev
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/sofa.monitor,server,nowait
> -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc
> -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2
> -device virtio-serial-pci,id=virtio-serial0,bus=pci.0,addr=0x5 -drive
> file=/dev/vgsurcouf/sofa,if=none,id=drive-virtio-disk0,format=raw
> -device
> virtio-blk-pci,scsi=off,bus=pci.0,addr=0x6,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1
> -drive
> file=/var/lib/libvirt/images/iso/debian-testing-amd64-netinst.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw
> -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -netdev
> tap,fd=23,id=hostnet0,vhost=on,vhostfd=24 -device
> virtio-net-pci,netdev=hostnet0,id=net0,mac=...,bus=pci.0,addr=0x3
> -chardev pty,id=charserial0 -device
> isa-serial,chardev=charserial0,id=serial0 -chardev
> spicevmc,id=charchannel0,name=vdagent -device
> virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice.0
> -device usb-tablet,id=input0 -spice
> port=5900,addr=127.0.0.1,disable-ticketing,seamless-migration=on -vga
> qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864
> -device intel-hda,id=sound0,bus=pci.0,addr=0x4 -device
> hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device
> pci-assign,host=02:00.0,id=hostdev0,configfd=25,bus=pci.0,multifunction=on,addr=0x8
> -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x7
> W: kvm binary is deprecated, please use qemu-system-x86_64 instead
> char device redirected to /dev/pts/2 (label charserial0)
> qemu-system-x86_64: -device
> pci-assign,host=02:00.0,id=hostdev0,configfd=25,bus=pci.0,multifunction=on,addr=0x8:
> Failed to assign device "hostdev0" : Operation not permitted
> qemu-system-x86_64: -device
> pci-assign,host=02:00.0,id=hostdev0,configfd=25,bus=pci.0,multifunction=on,addr=0x8:
> Device 'kvm-pci-assign' could not be initialized
> 2013-04-03 09:44:35.398+0000: shutting down
> 
> 
> 
> My host setup: Debian Wheezy + qemu 1.4.0, libvirt 1.0.4, kernel 3.8.5
> My host gfx:
>  $ lspci|grep VGA
> 02:00.0 VGA compatible controller: NVIDIA Corporation GT218 [Quadro NVS
> 300] (rev a2)
> 
> I run the following to enable handle device with PCI stub, includind
> second function:
> echo "10de 10d8" > /sys/bus/pci/drivers/pci-stub/new_id
> echo "10de 0be3" > /sys/bus/pci/drivers/pci-stub/new_id
> echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
> echo 0000:02:00.1 > /sys/bus/pci/devices/0000:02:00.1/driver/unbind
> sleep 3
> echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
> echo 0000:02:00.1 > /sys/bus/pci/drivers/pci-stub/bind
> 
> Intel VT-d is enabled:
> $ dmesg |grep Directed
> [    1.167179] PCI-DMA: Intel(R) Virtualization Technology for Directed I/O
> 
> $ dmesg |grep IOMMU
> [    0.000000] Intel-IOMMU: enabled
> [    0.171520] dmar: IOMMU 0: reg_base_addr ebffe000 ver 1:0 cap
> c90780106f0462 ecap f020f6
> [    0.171529] dmar: IOMMU 1: reg_base_addr fedc0000 ver 1:0 cap
> c90780106f0462 ecap f020f6
> [    1.166855] IOMMU 0 0xebffe000: using Queued invalidation
> [    1.166861] IOMMU 1 0xfedc0000: using Queued invalidation
> [    1.166889] IOMMU: hardware identity mapping for device 0000:00:00.0
> [    1.166891] IOMMU: hardware identity mapping for device 0000:00:03.0
> [    1.166893] IOMMU: hardware identity mapping for device 0000:00:07.0
> [    1.166895] IOMMU: hardware identity mapping for device 0000:00:14.0
> [    1.166897] IOMMU: hardware identity mapping for device 0000:00:14.1
> [    1.166898] IOMMU: hardware identity mapping for device 0000:00:14.2
> [    1.166900] IOMMU: hardware identity mapping for device 0000:00:1a.0
> [    1.166902] IOMMU: hardware identity mapping for device 0000:00:1a.1
> [    1.166904] IOMMU: hardware identity mapping for device 0000:00:1a.7
> [    1.166906] IOMMU: hardware identity mapping for device 0000:00:1b.0
> [    1.166907] IOMMU: hardware identity mapping for device 0000:00:1c.0
> [    1.166909] IOMMU: hardware identity mapping for device 0000:00:1c.5
> [    1.166911] IOMMU: hardware identity mapping for device 0000:00:1d.0
> [    1.166913] IOMMU: hardware identity mapping for device 0000:00:1d.1
> [    1.166915] IOMMU: hardware identity mapping for device 0000:00:1d.2
> [    1.166916] IOMMU: hardware identity mapping for device 0000:00:1d.7
> [    1.166919] IOMMU: hardware identity mapping for device 0000:00:1f.0
> [    1.166920] IOMMU: hardware identity mapping for device 0000:00:1f.2
> [    1.166922] IOMMU: hardware identity mapping for device 0000:00:1f.3
> [    1.166930] IOMMU: hardware identity mapping for device 0000:02:00.0
> [    1.166932] IOMMU: hardware identity mapping for device 0000:02:00.1
> [    1.166940] IOMMU: hardware identity mapping for device 0000:03:00.0
> [    1.166948] IOMMU: hardware identity mapping for device 0000:04:00.0
> [    1.166957] IOMMU: hardware identity mapping for device 0000:20:01.0
> [    1.166958] IOMMU: hardware identity mapping for device 0000:20:03.0
> [    1.166960] IOMMU: hardware identity mapping for device 0000:20:05.0
> [    1.166962] IOMMU: hardware identity mapping for device 0000:20:07.0
> [    1.166970] IOMMU: hardware identity mapping for device 0000:20:14.0
> [    1.166972] IOMMU: hardware identity mapping for device 0000:20:14.1
> [    1.166974] IOMMU: hardware identity mapping for device 0000:20:14.2
> [    1.166982] IOMMU: hardware identity mapping for device 0000:23:00.0
> [    1.166991] IOMMU: hardware identity mapping for device 0000:3e:00.0
> [    1.166993] IOMMU: hardware identity mapping for device 0000:3e:00.1
> [    1.166995] IOMMU: hardware identity mapping for device 0000:3e:02.0
> [    1.166996] IOMMU: hardware identity mapping for device 0000:3e:02.1
> [    1.166998] IOMMU: hardware identity mapping for device 0000:3e:02.2
> [    1.167000] IOMMU: hardware identity mapping for device 0000:3e:02.3
> [    1.167002] IOMMU: hardware identity mapping for device 0000:3e:02.4
> [    1.167003] IOMMU: hardware identity mapping for device 0000:3e:02.5
> [    1.167005] IOMMU: hardware identity mapping for device 0000:3e:03.0
> [    1.167007] IOMMU: hardware identity mapping for device 0000:3e:03.1
> [    1.167009] IOMMU: hardware identity mapping for device 0000:3e:03.2
> [    1.167011] IOMMU: hardware identity mapping for device 0000:3e:03.4
> [    1.167012] IOMMU: hardware identity mapping for device 0000:3e:04.0
> [    1.167014] IOMMU: hardware identity mapping for device 0000:3e:04.1
> [    1.167016] IOMMU: hardware identity mapping for device 0000:3e:04.2
> [    1.167018] IOMMU: hardware identity mapping for device 0000:3e:04.3
> [    1.167020] IOMMU: hardware identity mapping for device 0000:3e:05.0
> [    1.167021] IOMMU: hardware identity mapping for device 0000:3e:05.1
> [    1.167023] IOMMU: hardware identity mapping for device 0000:3e:05.2
> [    1.167025] IOMMU: hardware identity mapping for device 0000:3e:05.3
> [    1.167027] IOMMU: hardware identity mapping for device 0000:3e:06.0
> [    1.167029] IOMMU: hardware identity mapping for device 0000:3e:06.1
> [    1.167031] IOMMU: hardware identity mapping for device 0000:3e:06.2
> [    1.167032] IOMMU: hardware identity mapping for device 0000:3e:06.3
> [    1.167041] IOMMU: hardware identity mapping for device 0000:3f:00.0
> [    1.167043] IOMMU: hardware identity mapping for device 0000:3f:00.1
> [    1.167044] IOMMU: hardware identity mapping for device 0000:3f:02.0
> [    1.167046] IOMMU: hardware identity mapping for device 0000:3f:02.1
> [    1.167049] IOMMU: hardware identity mapping for device 0000:3f:02.2
> [    1.167051] IOMMU: hardware identity mapping for device 0000:3f:02.3
> [    1.167053] IOMMU: hardware identity mapping for device 0000:3f:02.4
> [    1.167055] IOMMU: hardware identity mapping for device 0000:3f:02.5
> [    1.167057] IOMMU: hardware identity mapping for device 0000:3f:03.0
> [    1.167059] IOMMU: hardware identity mapping for device 0000:3f:03.1
> [    1.167061] IOMMU: hardware identity mapping for device 0000:3f:03.2
> [    1.167062] IOMMU: hardware identity mapping for device 0000:3f:03.4
> [    1.167064] IOMMU: hardware identity mapping for device 0000:3f:04.0
> [    1.167066] IOMMU: hardware identity mapping for device 0000:3f:04.1
> [    1.167068] IOMMU: hardware identity mapping for device 0000:3f:04.2
> [    1.167070] IOMMU: hardware identity mapping for device 0000:3f:04.3
> [    1.167071] IOMMU: hardware identity mapping for device 0000:3f:05.0
> [    1.167073] IOMMU: hardware identity mapping for device 0000:3f:05.1
> [    1.167075] IOMMU: hardware identity mapping for device 0000:3f:05.2
> [    1.167077] IOMMU: hardware identity mapping for device 0000:3f:05.3
> [    1.167079] IOMMU: hardware identity mapping for device 0000:3f:06.0
> [    1.167080] IOMMU: hardware identity mapping for device 0000:3f:06.1
> [    1.167082] IOMMU: hardware identity mapping for device 0000:3f:06.2
> [    1.167084] IOMMU: hardware identity mapping for device 0000:3f:06.3
> [    1.167085] IOMMU: Setting RMRR:
> [    1.167096] IOMMU: Prepare 0-16MiB unity mapping for LPC
> 
> I boot the kernel with intel_iommu=on iommu=pt
> 
> 
> Any idea ? Should I report to libvirt ?
> 
> Best regards,






reply via email to

[Prev in Thread] Current Thread [Next in Thread]