Jump to content
carlosparamio

XML error: Attempted double use of PCI Address 0000:00:02.0

3 posts in this topic Last Reply

Recommended Posts

Hi there,

 

I'm running my Unraid server on an Intel Xeon® E-2146G CPU with Intel HD Graphics P630 integrated in the CPU. I also have an Nvidia Geforce 1050 TI, but I wired this one to Plex for transcoding purposes using an Unraid Nvidia kernel. My intention now is to execute a VM with Ubuntu that uses the Intel HD Graphics P630 output. However, when I configure it at the VM settings, and attempt to save, it always fails with error "XML error: Attempted double use of PCI Address 0000:00:02.0".

 

I have no other VM configured, neither I am using this graphics card as far as I know (before I had Plex using it for transcoding via kernel module i915 and dri, but I removed these from the go file and rebooted, and also removed it from the Plex container; in any case, the VM fails to boot even with all Docker containers stopped, so seems unrelated).

 

My original XML file (using VNC):

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>Ubuntu</name>
  <uuid>64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Ubuntu" icon="ubuntu.png" os="ubuntu"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>6</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='7'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='9'/>
    <vcpupin vcpu='4' cpuset='5'/>
    <vcpupin vcpu='5' cpuset='11'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='3' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Ubuntu/vdisk1.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/ubuntu-20.04-desktop-amd64.iso'/>
      <target dev='hda' bus='sata'/>
      <readonly/>
      <boot order='2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:3a:de:05'/>
      <source bridge='virbr0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='2'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='es'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x046d'/>
        <product id='0xc52b'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
</domain>

Some relevant entries at lspci:

 

00:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics P630 [8086:3e96]
	DeviceName: Onboard - Video
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
	Kernel modules: i91500:02.0 VGA compatible controller [0300]: Intel Corporation HD Graphics P630 [8086:3e96]
	DeviceName: Onboard - Video
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
	Kernel modules: i915

 

syslog:

 

Jul 31 16:34:10 odisea kernel: pci 0000:00:02.0: [8086:3e96] type 00 class 0x030000
Jul 31 16:34:10 odisea kernel: pci 0000:00:02.0: reg 0x10: [mem 0x64000000-0x64ffffff 64bit]
Jul 31 16:34:10 odisea kernel: pci 0000:00:02.0: reg 0x18: [mem 0x40000000-0x4fffffff 64bit pref]
Jul 31 16:34:10 odisea kernel: pci 0000:00:02.0: reg 0x20: [io  0x6000-0x603f]
Jul 31 16:34:10 odisea kernel: pci 0000:00:02.0: BAR 2: assigned to efifb

 

libvirt:

 

2020-07-31 14:35:48.390+0000: 11697: info : libvirt version: 5.10.0
2020-07-31 14:35:48.390+0000: 11697: info : hostname: odisea
2020-07-31 14:35:48.390+0000: 11697: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0
2020-07-31 14:36:39.836+0000: 11697: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0
2020-07-31 14:36:44.792+0000: 11697: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0
2020-07-31 14:36:48.271+0000: 11697: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0
2020-07-31 14:37:20.103+0000: 11703: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0
2020-07-31 14:37:38.526+0000: 11700: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0
2020-07-31 14:38:08.980+0000: 11704: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0
2020-07-31 14:43:17.497+0000: 11696: warning : qemuDomainObjTaint:9301 : Domain id=1 name='Ubuntu' uuid=64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c is tainted: high-privileges
2020-07-31 14:43:17.497+0000: 11696: warning : qemuDomainObjTaint:9301 : Domain id=1 name='Ubuntu' uuid=64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c is tainted: host-cpu
2020-07-31 14:44:31.150+0000: 11694: error : qemuMonitorIO:619 : internal error: End of file from qemu monitor
2020-07-31 14:44:54.110+0000: 11699: warning : qemuDomainObjTaint:9301 : Domain id=2 name='Ubuntu' uuid=64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c is tainted: high-privileges
2020-07-31 14:44:54.110+0000: 11699: warning : qemuDomainObjTaint:9301 : Domain id=2 name='Ubuntu' uuid=64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c is tainted: host-cpu
2020-07-31 15:00:00.766+0000: 11694: error : qemuMonitorIO:619 : internal error: End of file from qemu monitor
2020-07-31 15:13:29.160+0000: 11697: warning : qemuDomainObjTaint:9301 : Domain id=3 name='Ubuntu' uuid=64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c is tainted: high-privileges
2020-07-31 15:13:29.160+0000: 11697: warning : qemuDomainObjTaint:9301 : Domain id=3 name='Ubuntu' uuid=64ff73d5-e876-b4f7-fe4b-7e6ff6e6ab2c is tainted: host-cpu
2020-07-31 15:13:42.080+0000: 11694: error : qemuMonitorIO:619 : internal error: End of file from qemu monitor
2020-07-31 15:13:59.932+0000: 11696: error : virDomainPCIAddressReserveAddrInternal:853 : XML error: Attempted double use of PCI Address 0000:00:02.0

iommu_groups:

 

/sys/kernel/iommu_groups/0/devices/0000:00:00.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.0
/sys/kernel/iommu_groups/1/devices/0000:00:01.1
/sys/kernel/iommu_groups/1/devices/0000:02:00.0
/sys/kernel/iommu_groups/1/devices/0000:02:00.1
/sys/kernel/iommu_groups/2/devices/0000:00:02.0
/sys/kernel/iommu_groups/3/devices/0000:00:12.0
/sys/kernel/iommu_groups/4/devices/0000:00:14.0
/sys/kernel/iommu_groups/4/devices/0000:00:14.2
/sys/kernel/iommu_groups/5/devices/0000:00:16.0
/sys/kernel/iommu_groups/6/devices/0000:00:17.0
/sys/kernel/iommu_groups/7/devices/0000:00:1b.0
/sys/kernel/iommu_groups/8/devices/0000:00:1b.4
/sys/kernel/iommu_groups/9/devices/0000:00:1c.0
/sys/kernel/iommu_groups/10/devices/0000:00:1c.2
/sys/kernel/iommu_groups/11/devices/0000:00:1c.3
/sys/kernel/iommu_groups/12/devices/0000:00:1d.0
/sys/kernel/iommu_groups/13/devices/0000:00:1d.2
/sys/kernel/iommu_groups/14/devices/0000:00:1f.0
/sys/kernel/iommu_groups/14/devices/0000:00:1f.3
/sys/kernel/iommu_groups/14/devices/0000:00:1f.4
/sys/kernel/iommu_groups/14/devices/0000:00:1f.5
/sys/kernel/iommu_groups/14/devices/0000:00:1f.6
/sys/kernel/iommu_groups/15/devices/0000:04:00.0
/sys/kernel/iommu_groups/16/devices/0000:06:00.0
/sys/kernel/iommu_groups/17/devices/0000:07:00.0
/sys/kernel/iommu_groups/18/devices/0000:09:00.0
/sys/kernel/iommu_groups/19/devices/0000:0a:00.0

 

Share this post


Link to post

I thought that IGD graphics perhaps are not supported at qemu, so I configured it in reverse: IGD graphics for Plex transcoding, VM with dedicated Nvidia. This way, the VM works fine, although currently it's not outputting anything via DisplayPort...

Share this post


Link to post

I dumped the rom via /sys from command line, and even tried with a TechPowerUp rom patched via hex editor, but still no signal through either display port or hdmi at the card with any of the dumps configured.

Edited by carlosparamio

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.