For me, I usually delete this line in <device> tags * <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>*
Don't delete the <address> tag inside the <source>. I usually delete this line, this line means the virtual address that pass-throughed device will set in VM. And it will not get error if you save XML file, it will generate automatically while VM started. So that u don't have to worry about virtual address conflicts. 2016-02-23 4:58 GMT+08:00 Eric Griffith <egriffit...@gmail.com>: > > On Thu, Jan 28, 2016 at 8:47 PM, Stewart Adam <maill...@diffingo.com> > wrote: > >> On 2016-01-21 12:32 PM, Eric Griffith wrote: >> >>> >>> On Jan 17, 2016 16:10, "Stewart Adam" <maill...@diffingo.com >>> <mailto:maill...@diffingo.com>> wrote: >>> > >>> > On 2016-01-17 1:27 PM, Eric Griffith wrote: >>> >> >>> >> On Jan 17, 2016 13:15, "Stewart Adam" <maill...@diffingo.com >>> <mailto:maill...@diffingo.com> >>> >> <mailto:maill...@diffingo.com <mailto:maill...@diffingo.com>>> >>> wrote: >>> >> > >>> >> > On 2016-01-07 11:30 AM, Eric Griffith wrote: >>> >> >> >>> >> >> My problem is.. The Win7 (and Win8.1) guests are perfectly fine >>> and >>> stable >>> >> >> until I try to install the amd crimson drivers. Then Windows >>> BSODs, >>> yelling >>> >> >> about an unhandled exception. If I unpack the install and >>> install things >>> >> >> piecemeal, then I can install the HDMI audio driver, and >>> everything else >>> >> >> okay...except for the display driver. Installing the display >>> driver >>> causes >>> >> >> the BSOD. >>> >> > >>> >> > How are you booting the guest (e.g. manually executing QEMU, or >>> manually >>> >> created libvirt XML or virt-manager+libvirt)? >>> >> > >>> >> >>> >> Virt-manager+libvirt >>> >> >>> >> > I had a very similar symptom on my guest, in the end it was the >>> guest's >>> >> machine flag "vmport=off" that virt-manager had added that resulted >>> in the >>> >> hang/BSOD upon installation of the driver. >>> >> >>> >> I tried removing the vmport=off flag but still BSOD'ed :( >>> >> >>> >> > After attempting a driver install, does the guest boot correctly >>> but hang >>> >> when attempting to show the login screen (i.e. when the 3D driver >>> initializes)? >>> >> >>> >> Sometimes yes, other times itd just do the boot as if I had never >>> tried to >>> >> install the driver. >>> > >>> > >>> > Sounds like the same issue I was experiencing... Have you also added a >>> ioh3420 device edited your configuration so that the GPU is attached to >>> it >>> instead the default PCI/PCIE buses? If you're not sure, please attach the >>> output of "virsh dumpxml your-vm-name". >>> >>> I did not do that, I just passed through the card and the card's audio. >>> Are >>> there any available instructions on how to do so? >>> >>> Also I appreciate the pointer, Stewart :) >>> >> Sorry for the delay - here are those instructions: >> >> You'll want to execute 'virsh edit domname' as root to edit your domain's >> config file, and then add this XML after the 'pci-bridge' controller block: >> >> <controller type='pci' index='3' model='pcie-root-port'> >> <model name='ioh3420'/> >> <target chassis='1' port='0x1'/> >> <alias name='pci.3'/> >> <address type='pci' domain='0x0000' bus='0x00' slot='0x1c' >> function='0x0' multifunction='on'/> >> </controller> >> >> Then scroll down to the <hostdev> block for your GPU, and alter it to use >> the controller (bus 3) we just created: >> >> <hostdev mode='subsystem' type='pci' managed='yes'> >> <driver name='vfio'/> >> <source> >> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> >> </source> >> <alias name='hostdev0'/> >> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' >> function='0x0' multifunction='on'/> >> </hostdev> >> >> Regards, >> Stewart >> > > Hey Stewart, long time no talk. Sorry about the delaying in getting back > to you on this topic, classes really kicking into high gear and life became > kind of crazy. > > Copy pasted below is the dumpxml of my Win8.1 VM. I tried to add in the > two code blocks that you linked above, but I got errors when I did so. I've > bolded and marked in red where I added the first code block, the pci > definition, and then did the same for the two devices that make up my GPU. > > Edit: just incase anyone's mail client doesn't like the bold / text color > change, I've also off-set the area by adding a blank line. > > XML WALL OF TEXT: > > <domain type='kvm'> > <name>win8.1</name> > <uuid>(UUID)</uuid> > <memory unit='KiB'>4194304</memory> > <currentMemory unit='KiB'>4194304</currentMemory> > <vcpu placement='static'>2</vcpu> > <os> > <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type> > <loader readonly='yes' > type='pflash'>/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> > <nvram>/var/lib/libvirt/qemu/nvram/win8.1_VARS.fd</nvram> > </os> > <features> > <acpi/> > <apic/> > <hyperv> > <relaxed state='on'/> > <vapic state='on'/> > <spinlocks state='on' retries='8191'/> > </hyperv> > </features> > <cpu mode='custom' match='exact'> > <model fallback='allow'>core2duo</model> > </cpu> > <clock offset='localtime'> > <timer name='rtc' tickpolicy='catchup'/> > <timer name='pit' tickpolicy='delay'/> > <timer name='hpet' present='no'/> > <timer name='hypervclock' present='yes'/> > </clock> > <on_poweroff>destroy</on_poweroff> > <on_reboot>restart</on_reboot> > <on_crash>restart</on_crash> > <pm> > <suspend-to-mem enabled='no'/> > <suspend-to-disk enabled='no'/> > </pm> > <devices> > <emulator>/usr/bin/qemu-kvm</emulator> > <disk type='file' device='cdrom'> > <driver name='qemu' type='raw'/> > <source file='/usr/share/virtio-win/virtio-win-0.1.102.iso'/> > <target dev='sda' bus='sata'/> > <readonly/> > <boot order='3'/> > <address type='drive' controller='0' bus='0' target='0' unit='0'/> > </disk> > <disk type='file' device='disk'> > <driver name='qemu' type='qcow2'/> > <source file='/var/lib/libvirt/images/win8.1.qcow2'/> > <target dev='sdb' bus='sata'/> > <boot order='1'/> > <address type='drive' controller='0' bus='0' target='0' unit='1'/> > </disk> > <disk type='file' device='cdrom'> > <driver name='qemu' type='raw'/> > <source file='/var/lib/libvirt/images/Win8.1_English_x64.iso'/> > <target dev='sdc' bus='sata'/> > <readonly/> > <boot order='2'/> > <address type='drive' controller='0' bus='0' target='0' unit='2'/> > </disk> > <controller type='usb' index='0' model='ich9-ehci1'> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' > function='0x7'/> > </controller> > <controller type='usb' index='0' model='ich9-uhci1'> > <master startport='0'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' > function='0x0' multifunction='on'/> > </controller> > <controller type='usb' index='0' model='ich9-uhci2'> > <master startport='2'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' > function='0x1'/> > </controller> > <controller type='usb' index='0' model='ich9-uhci3'> > <master startport='4'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x05' > function='0x2'/> > </controller> > > *<!-- ADDED PCI BLOCK HERE -->* > > <controller type='pci' index='0' model='pci-root'/> > <controller type='sata' index='0'> > <address type='pci' domain='0x0000' bus='0x00' slot='0x04' > function='0x0'/> > </controller> > <controller type='virtio-serial' index='0'> > <address type='pci' domain='0x0000' bus='0x00' slot='0x06' > function='0x0'/> > </controller> > <interface type='network'> > <mac address='52:54:00:7d:c6:85'/> > <source network='default'/> > <model type='virtio'/> > <address type='pci' domain='0x0000' bus='0x00' slot='0x02' > function='0x0'/> > </interface> > <serial type='pty'> > <target port='0'/> > </serial> > <console type='pty'> > <target type='serial' port='0'/> > </console> > <channel type='spicevmc'> > <target type='virtio' name='com.redhat.spice.0'/> > <address type='virtio-serial' controller='0' bus='0' port='1'/> > </channel> > <input type='tablet' bus='usb'/> > <sound model='ich9'> > <address type='pci' domain='0x0000' bus='0x00' slot='0x03' > function='0x0'/> > </sound> > > > > > > > > > > > > > > > *<hostdev mode='subsystem' type='pci' managed='yes'> <source> > <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> > </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' > function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' > managed='yes'> <source> <address domain='0x0000' bus='0x01' > slot='0x00' function='0x1'/> </source> <address type='pci' > domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev>* > <hostdev mode='subsystem' type='usb' managed='yes'> > <source> > <vendor id='0x24f0'/> > <product id='0x0140'/> > </source> > </hostdev> > <hostdev mode='subsystem' type='usb' managed='yes'> > <source> > <vendor id='0x046d'/> > <product id='0xc52b'/> > </source> > </hostdev> > <hostdev mode='subsystem' type='usb' managed='yes'> > <source> > <vendor id='0x0a5c'/> > <product id='0x21e8'/> > </source> > </hostdev> > <redirdev bus='usb' type='spicevmc'> > </redirdev> > <redirdev bus='usb' type='spicevmc'> > </redirdev> > <memballoon model='virtio'> > <address type='pci' domain='0x0000' bus='0x00' slot='0x09' > function='0x0'/> > </memballoon> > </devices> > </domain> > > > Adding them in was no problem in and of itself, it was saving it that > caused a problem. Virsh didn't like those two definitions. Editing the > "address type=pci" lines of both, and changing THOSE bus= definitions to > say 0x03, instead of 0x00 gives me this error: > > error: XML error: Invalid PCI address 0000:03:07.0. slot must be <= 0 > > > Editing the one above it, the "address domain=" line, and changing the bus > from 0x01 to 0x03 gives me this error: > > error: XML error: The device information for 0000:00:1c.0 has no PCI > connection types listed > > > Any thoughts? > > Half tempted to say 'screw it' and just hold off on doing a VFIO setup > until I snag an Nvidia Polaris card later this year >< > > _______________________________________________ > vfio-users mailing list > vfio-users@redhat.com > https://www.redhat.com/mailman/listinfo/vfio-users > >
_______________________________________________ vfio-users mailing list vfio-users@redhat.com https://www.redhat.com/mailman/listinfo/vfio-users