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

Re: [libvirt-users] GPU passthrough failed to find romfile



On 02/07/2016 11:59 AM, David Hlacik wrote:

Hello guys,

this drives me insane. I am trying to pass romfile of my GPU for UEFI boot 

This is an error I am getting :

[root brutus-coreos opt]# virsh start winos1
error: Failed to start domain winos1
error: internal error: early end of file from monitor: possible problem:
2016-02-07T16:56:09.358285Z qemu-system-x86_64: -device vfio-pci,host=01:00.0,id=hostdev0,bus=pci.0,addr=0x6,romfile=/opt/MSI.R9380.4096.150713.rom: failed to find romfile "/opt/MSI.R9380.4096.150713.

Do you have selinux or apparmor enabled. If so maybe look in their audit logs to see if a violation was recorded (or temporarily disable them to see if the operation succeeds).

Also, (and this is even more of a long shot than the other suggestion) did you cut off the end of the error message? Or did it really not print out the "rom" at the end? Perhaps there is something strange with qemu's commandline parser for the romfile name? Try naming it something simple, like "xyzzy".



The file is there , even owned by qemu

[root brutus-coreos opt]# cd /opt
[root brutus-coreos opt]# ls -lsa
total 136
  4 drwxr-xr-x.  2 root root   4096 Feb  7 17:53 .
  4 dr-xr-xr-x. 18 root root   4096 Feb  4 18:58 ..
128 -rw-rw-r--.  1 qemu qemu 131072 Feb  7 17:53 MSI.R9380.4096.150713.rom

I have tried to put it into /var/lib/libvirt/images or /usr/share/qemu , but it ends with the same error.

This is my libvirt XML

[david brutus-coreos ~]$ sudo virsh dumpxml winos1
[sudo] password for david: 
<domain type='kvm'>
  <name>winos1</name>
  <uuid>64dfaf21-e556-4e0c-bfc9-676f5fcf3e06</uuid>
  <memory unit='KiB'>15360000</memory>
  <currentMemory unit='KiB'>15360000</currentMemory>
  <vcpu placement='static'>8</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.4'>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/winos1_VARS.fd</nvram>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
    </hyperv>
    <vmport state='off'/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='4' threads='2'/>
  </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='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/dev/ssd/winos1'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw'/>
      <source file='/dev/hdd/windata1'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0d' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='nec-xhci'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>
    </controller>
    <interface type='direct'>
      <mac address='52:54:00:31:bc:b8'/>
      <source dev='enp0s31f6' mode='bridge'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <rom file='/opt/MSI.R9380.4096.150713.rom'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' 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='0x07' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x00' slot='0x14' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0a' function='0x0'/>
    </memballoon>
    <rng model='virtio'>
      <backend model='random'>/dev/random</backend>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x0c' function='0x0'/>
    </rng>
    <panic>
      <address type='isa' iobase='0x505'/>
    </panic>
  </devices>
</domain>

Any help would be appreciated





David Hlacik
 
+420-777-307-745 | david hlacik cz

 View David Hlacik's profile on LinkedIn


_______________________________________________
libvirt-users mailing list
libvirt-users redhat com
https://www.redhat.com/mailman/listinfo/libvirt-users


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