From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gordon Messmer Subject: Re: Device pass-through Date: Fri, 06 Jan 2012 18:07:32 -0800 Message-ID: <4F07A8E4.4020700@eburg.com> References: <4F02086A.6050607@eburg.com> <1325626484.4305.15.camel@bling.home> <4F039D66.103@eburg.com> <1325648683.4305.54.camel@bling.home> <4F05F4EE.3050003@eburg.com> <4F06A205.9080502@eburg.com> <4F06BF7F.4040704@web.de> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Alex Williamson , kvm@vger.kernel.org To: =?UTF-8?B?QW5kcsOpIFdlaWRlbWFubg==?= Return-path: Received: from home.dragonsdawn.net ([173.160.248.33]:57164 "EHLO ascension.private.dragonsdawn.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1759355Ab2AGCHc convert rfc822-to-8bit (ORCPT ); Fri, 6 Jan 2012 21:07:32 -0500 In-Reply-To: <4F06BF7F.4040704@web.de> Sender: kvm-owner@vger.kernel.org List-ID: On 01/06/2012 01:31 AM, Andr=C3=A9 Weidemann wrote: > On 06.01.2012 08:25, Gordon Messmer wrote: >> Well, I finally figured out that I have to enable the reading of rom= s >> from the device by writing "1" to the "rom" node in /sys/. Now the >> problem is that the rom is 64k, and only 32k are making it into the >> guest. I saw a reference to this problem here: > > Do you have the ROM as a file on your HDD perhaps? If so, you can try > the following: -device pci-assign,host=3D05:00.0,romfile=3D${ROMFILE}= =2E > This used to work fine for me even with ROM file of around 130k. I do, and I'm actually using that. I'm using a shell script wrapper to= =20 "fix" the argument for the PCI video card, since libvirt XML doesn't=20 seem to provide an option for rom files. The command that gets run is=20 included below. I've learned that I was actually incorrect about the problem. The card= =20 in the guest *does* have a 32K rom, but it's not a truncated version of= =20 the ATI rom. Instead, it's the "Plex86/Bochs VGABios (PCI)." I've=20 tried starting the guest with no graphics or video hardware specified i= n=20 the libvirt XML, but qemu-kvm just eats a bunch of CPU time. I don't=20 see any serial console output (I do see grub and kernel output on the=20 serial console when I have virtual video hardware specified), so I'm=20 pretty sure the guest isn't actually starting. /usr/libexec/qemu-kvm -S -M rhel6.2.0 -enable-kvm -m 4096 -smp=20 4,sockets=3D4,cores=3D1,threads=3D1 -name herald -uuid=20 556638be-ee50-e2f6-1d22-37b98b63b8d1 -nodefconfig -nodefaults -chardev=20 socket,id=3Dcharmonitor,path=3D/var/lib/libvirt/qemu/herald.monitor,ser= ver,nowait=20 -mon chardev=3Dcharmonitor,id=3Dmonitor,mode=3Dreadline -rtc base=3Dutc= -drive=20 file=3D/dev/mapper/VolGroup-lv_vm_herald,if=3Dnone,id=3Ddrive-virtio-di= sk0,format=3Draw,cache=3Dnone,aio=3Dnative=20 -device=20 virtio-blk-pci,bus=3Dpci.0,addr=3D0x4,drive=3Ddrive-virtio-disk0,id=3Dv= irtio-disk0,bootindex=3D1=20 -device=20 virtio-net-pci,vlan=3D0,id=3Dnet0,mac=3D52:54:00:21:e7:9e,bus=3Dpci.0,a= ddr=3D0x3=20 -net tap,fd=3D25,vlan=3D0,name=3Dhostnet0 -chardev pty,id=3Dcharserial0= -device=20 isa-serial,chardev=3Dcharserial0,id=3Dserial0 -usb -device=20 usb-tablet,id=3Dinput0 -vnc 127.0.0.1:0 -vga cirrus -device=20 pci-assign,host=3D00:14.2,id=3Dhostdev0,configfd=3D26,bus=3Dpci.0,addr=3D= 0x5=20 -device=20 pci-assign,host=3D05:00.0,id=3Dhostdev1,configfd=3D27,bus=3Dpci.0,addr=3D= 0x7,romfile=3D/var/lib/libvirt/images/Radeon3470.rom=20 -device usb-host,hostbus=3D5,hostaddr=3D3,id=3Dhostdev2 -device=20 usb-host,hostbus=3D7,hostaddr=3D3,id=3Dhostdev3 -device=20 virtio-balloon-pci,id=3Dballoon0,bus=3Dpci.0,addr=3D0x6