From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?ISO-8859-1?Q?Andr=E9_Weidemann?= Subject: Re: Graphics card pass-through working with two pass pci-initialization Date: Fri, 27 May 2011 21:40:14 +0200 Message-ID: <4DDFFE1E.1060900@web.de> References: <1306227933-4880-1-git-send-email-kraxel@redhat.com> <1306227933-4880-2-git-send-email-kraxel@redhat.com> <20110525023406.GG8517@valinux.co.jp> <20110525043353.GH8517@valinux.co.jp> <4DDCC7A5.60706@redhat.com> <4DDCF9ED.5050208@redhat.com> <4DDDDA8D.6080807@web.de> <4DDDF62C.2010603@redhat.com> <4DDF3768.5010002@web.de> <4DDF867A.9040700@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Gerd Hoffmann , seabios@seabios.org, kvm@vger.kernel.org, Alex Williamson To: Jan Kiszka Return-path: Received: from fmmailgate01.web.de ([217.72.192.221]:59220 "EHLO fmmailgate01.web.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756470Ab1E0Tk0 (ORCPT ); Fri, 27 May 2011 15:40:26 -0400 In-Reply-To: <4DDF867A.9040700@siemens.com> Sender: kvm-owner@vger.kernel.org List-ID: Hi, On 27.05.2011 13:09, Jan Kiszka wrote: > On 2011-05-27 07:32, Andr=E9 Weidemann wrote: >> Here is my setup: >> Intel DX58SO >> Core i7 920 >> Radeon HD 6950 >> Kernel 2.6.35.7 >> qemu-kvm git pull from May 26th >> One thing that is not working is the pass-through of a second device= , a >> sound card in my case. As soon as I pass 2 devices to the VM, Window= s >> does not boot anymore. >> If I continue and remove the second device from the command line the= VM >> does not boot anymore with the passed through gfx card. The graphics >> card drivers crashes Windows, with the error message of not being ab= le >> to reset the graphics card. A reboot of the host cures this problem. > > Does it make a difference when you preserve the function address by > specifying -device pci-assign,host=3D03:00.0,addr=3DXX.0 and -device > pci-assign,host=3D03:00.1,addr=3DXX.1 (where XX is some free slot num= ber in > the guest)? I did some further testing in assigning both the VGA and the sound card= =2E If I pass the devices to the VM like this: -device pci-assign,host=3D03:00.0,addr=3D0x4 \ #VGA -device pci-assign,host=3D00:1b.0,addr=3D0x5 \ #Sound Windows boots up, but the sound card is not visible as a device inside=20 the VM. Running "info pci" in the monitor shows this: Bus 0, device 4, function 0: VGA controller: PCI device 1002:6719 IRQ 11. BAR0: 32 bit prefetchable memory at 0xe0000000 [0xefffffff]. BAR2: 32 bit memory at 0xfeba0000 [0xfebbffff]. BAR4: I/O at 0xc000 [0xc0ff]. BAR6: 32 bit memory at 0xffffffffffffffff [0x0001fffe]. id "" Bus 0, device 5, function 0: Audio controller: PCI device 8086:3a3e IRQ 10. BAR0: 32 bit memory at 0xffffffffffffffff [0x00003ffe]. id "" If I switch the order of the two devices to this: -device pci-assign,host=3D00:1b.0,addr=3D0x4 \ #Sound -device pci-assign,host=3D03:00.0,addr=3D0x5 \ #VGA I get the following error and kvm crashes: http://pastebin.com/KmKEqhWK It looks like the free PCI memory was not enough to assign the graphics= =20 card after assigning the sound card. If I only assign the sound card, then "info pci" in the monitor looks=20 like this: Bus 0, device 4, function 0: Audio controller: PCI device 8086:3a3e IRQ 10. BAR0: 32 bit memory at 0xfebf0000 [0xfebf3fff]. id "" The device is then visible inside the VM and working. If I am not mistaken then the graphics card needs 2 bars, one with 256M= B=20 and one with 128K. The sound card then needs 1 bar with 16K of PCI memo= ry. How big is the PCI memory with seabios? Is there really not enough space to "squeeze" in those extra 16K? Regards Andr=E9