[Bug 1181777] Re: kvm: freeze a guest with a NIC PCI passthrough

Nigel Jones os at nigelj.com
Wed Sep 18 11:54:50 UTC 2013


After getting the bug mail for this bug and reading it with interest, I
happened to run into this issue today myself and did some investigation
at a seabios level.

My original hit of the issue was with RHEL, but I reproduced it with the
same card (Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express
Gigabit Ethernet Controller  (PCI ID 10ec:8168)) on Ubuntu saucy.

The logs in QEMU logs list however the follow:

2013-09-18 11:09:37.307+0000: starting up
LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/bin:/usr/sbin:/sbin:/bin QEMU_AUDIO_DRV=none /usr/bin/kvm-spice -name test -S -machine pc-i440fx-1.5,accel=kvm,usb=off -m 1024 -realtime mlock=off -smp 1,sockets=1,cores=1,threads=1 -uuid e2481510-dcb8-8bc3-8cc5-dfd51f5d73d7 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/test.monitor,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -device piix3-usb-uhci,id=usb,bus=pci.0,addr=0x1.0x2 -drive file=/var/lib/libvirt/images/test.img,if=none,id=drive-ide0-0-0,format=raw -device ide-hd,bus=ide.0,unit=0,drive=drive-ide0-0-0,id=ide0-0-0,bootindex=1 -drive file=/home/njones/pfSense-LiveCD-2.1-RELEASE-amd64.iso,if=none,id=drive-ide0-1-0,readonly=on,format=raw -device ide-cd,bus=ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -vnc 127.0.0.1:0 -vga cirrus -device intel-hda,id=sound0,bus=pci.0,addr=0x3 -device hda-duplex,id=sound0-codec0,bus=sound0.0,cad=0 -device pci-assign,configfd=24,host=06:00.0,id=hostdev0,bus=pci.0,addr=0x5 -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x4
W: kvm binary is deprecated, please use qemu-system-x86_64 instead
char device redirected to /dev/pts/0 (label charserial0)
qemu-system-x86_64: -device pci-assign,configfd=24,host=06:00.0,id=hostdev0,bus=pci.0,addr=0x5: pci-assign: Cannot read from host /sys/bus/pci/devices/0000:06:00.0/rom
Device option ROM contents are probably invalid (check dmesg).
Skip option ROM probe with rombar=0, or load from file with romfile=
[after virsh destroy]
qemu: terminating on signal 15 from pid 1143
2013-09-18 11:13:54.183+0000: shutting down

At the same time, dmesg reports:

[  412.463287] pci-stub 0000:06:00.0: claimed by stub
[  413.177444] type=1400 audit(1379502837.636:78): apparmor="STATUS" operation="profile_load" parent=2874 profile="unconfined" name="libvirt-e2481510-dcb8-8bc3-8cc5-dfd51f5d73d7" pid=2875 comm="apparmor_parser"
[  413.178897] type=1400 audit(1379502837.636:79): apparmor="DENIED" operation="capable" parent=1 profile="/usr/sbin/libvirtd" pid=1148 comm="libvirtd" pid=1148 comm="libvirtd" capability=29  capname="audit_write"
[  414.330150] assign device 0:6:0.0
[  414.330585] pci-stub 0000:06:00.0: Invalid ROM contents

virsh edit'ing the VM and adding "<rom bar='off'/>" to the <hostdev>
entry to read:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <source>
        <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
      </source>
      <rom bar='off'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>

caused the message to go away.

I applied the same element on the RHEL machine, which also seemed to
solve that problem, so it's possible that precise also needs this
option.

I'm suspecting what is happening is that the ROM on the network devices
is confusing seabios/coreboot but need to do some more digging first.

-- 
You received this bug notification because you are a member of Ubuntu
Server Team, which is subscribed to ipxe in Ubuntu.
https://bugs.launchpad.net/bugs/1181777

Title:
  kvm: freeze a guest with a NIC PCI passthrough

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ipxe/+bug/1181777/+subscriptions



More information about the Ubuntu-server-bugs mailing list