Red Hat Bugzilla – Bug 1489800
q35/ovmf: Machine type compat vs OVMF vs windows
Last modified: 2018-04-10 20:33:01 EDT
Description of problem: 2.10 changed the acpi FADT rev (77af8a2), this broke various windows versions booting. bz 3a3fcc fixed up the upstream i440fx to disable it conditionally, it didn't disable it for q35. We should disable it in the rhev-7.x x<5 machine types to keep compatibility Version-Release number of selected component (if applicable): 7.5 How reproducible: Steps to Reproduce: 1. 2. 3. Actual results: Expected results: Additional info: https://bugs.launchpad.net/qemu/+bug/1714331 https://bugs.launchpad.net/qemu/+bug/1715700
At the same time fix another windows vs OVMF vs machine type bug; lp 1715700, 'make pc.rom readonly when machine has pci enabled' 208fa0e43645 we need to tie that to old machine types only and make sure we have the fix in OVMF. QA: Test for this one is booting a Windows 7 guest with OVMF (and make sure it can migrate from 7.4->7.5 and do a reboot)
confirmed that applying these fixes on our downstream 2.10 tree gets win7+old ovmf to boot.
also confirmed that win10+old ovmf to boot
acpi: Force rev1 FADT on old q35 machine types pc: make pc_rom RO only on new machine types
Fix included in qemu-kvm-rhev-2.10.0-3.el7
Hi David Failed when QE verifying the bz. Migrated failed and the error message of destination ((qemu) qemu-kvm: Machine type received is 'pc-q35-rhel7.4.0' and local is 'pc-q35-rhel7.5.0' qemu-kvm: load of migration failed: Invalid argument) detailed steps: 1. Boot guest in src 7.4 host [1] 2. migrate to the destination 7.5 host Actual Result: migrate failed (qemu) qemu-kvm: Machine type received is 'pc-q35-rhel7.4.0' and local is 'pc-q35-rhel7.5.0' qemu-kvm: load of migration failed: Invalid argument 7.4 host info: [root@localhost test]# rpm -qa |grep qemu-kvm-rhev qemu-kvm-rhev-2.9.0-16.el7_4.10.x86_64 qemu-kvm-rhev-debuginfo-2.9.0-16.el7_4.10.x86_64 [root@localhost test]# rpm -qa |grep OVMF OVMF-20170228-5.gitc325e41585e3.el7.noarc 7.5 host info: [root@localhost test]# uname -r 3.10.0-773.el7.x86_64 [root@localhost test]# rpm -qa |grep qemu-kvm-rhev qemu-kvm-rhev-2.10.0-4.el7.x86_64 qemu-kvm-rhev-debuginfo-2.10.0-4.el7.x86_64 [root@localhost test]# rpm -qa |grep OVMF OVMF-20171011-1.git92d07e48907f.el7.noarch qemu command line[1] /usr/libexec/qemu-kvm \ -M q35,accel=kvm,kernel-irqchip=split \ -device intel-iommu,intremap=on \ -cpu Haswell-noTSX \ -nodefaults -rtc base=utc \ -m 4G \ -smp 4,sockets=4,cores=1,threads=1 \ -enable-kvm \ -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \ -k en-us \ -nodefaults \ -drive file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0,readonly=on \ -drive file=/home/test/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \ -serial unix:/tmp/serial0,server,nowait \ -debugcon file:/home/test/ovmf.log \ -global isa-debugcon.iobase=0x402 \ -boot menu=on \ -qmp tcp:0:6667,server,nowait \ -usb \ -device usb-tablet \ -vga qxl \ -global driver=cfi.pflash01,property=secure,value=on \ -drive file=/mnt/test/win7-ovmf.qcow2,if=none,id=drive-virtio-disk0,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0 \ -device pcie-root-port,bus=pcie.0,id=root0,multifunction=on,chassis=1,addr=0xa.0 \ -device virtio-net-pci,netdev=tap10,mac=9a:6a:6b:6c:6d:6e,bus=root0 -netdev tap,id=tap10 \ -device pcie-root-port,bus=pcie.0,id=root1,chassis=11,addr=0xa.1 \ -device e1000e,netdev=tap11,mac=9a:6a:6b:6c:6d:6a,bus=root1 -netdev tap,id=tap11 \ -device pcie-root-port,bus=pcie.0,id=root2,chassis=12,addr=0xa.2 \ -drive file=/mnt/test/block1.qcow2,if=none,id=drive-virtio-disk1,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,drive=drive-virtio-disk1,id=virtio-disk1,bus=root2 \ -device pcie-root-port,bus=pcie.0,id=root3,chassis=13,addr=0xa.3 \ -device x3130-upstream,bus=root3,id=upstream1 \ -device xio3130-downstream,bus=upstream1,id=downstream1,chassis=2 \ -device pcie-root-port,bus=pcie.0,id=root6,chassis=14,addr=0xa.4 \ -device pcie-root-port,bus=pcie.0,id=root4,chassis=3 \ -device virtio-scsi-pci,id=scsi0,bus=root4 \ -drive file=/mnt/test/block2.raw,if=none,format=raw,id=drive-virtio-scsi \ -device scsi-disk,drive=drive-virtio-scsi,id=virtio-scsi,bus=scsi0.0 \ -device ahci,id=ahci0 \ -drive file=/usr/share/virtio-win/virtio-win-1.9.3.iso,if=none,id=drive-virtio-disk2,format=raw \ -device ide-cd,drive=drive-virtio-disk2,id=virtio-disk2,bus=ahci0.0 \ -device e1000e,netdev=tap12,mac=9a:6a:6b:6c:6d:6b -netdev tap,id=tap12 \ -device pcie-root-port,bus=pcie.0,id=root5,chassis=4 \ -device x3130-upstream,bus=root5,id=upstream2 \ -device xio3130-downstream,bus=upstream2,id=downstream2,chassis=5 \ -device xio3130-downstream,bus=upstream2,id=downstream3,chassis=6 \ -device x3130-upstream,bus=downstream3,id=upstream3 \ -device xio3130-downstream,bus=upstream3,id=downstream4,chassis=7 \ -drive file=/mnt/test/block5.qcow2,if=none,id=drive-virtio-disk5,format=qcow2,cache=none,werror=stop,rerror=stop \ -device virtio-blk-pci,drive=drive-virtio-disk5,id=virtio-disk5,bus=downstream4 \ -device pcie-root-port,bus=pcie.0,id=root7,chassis=8 \ -monitor stdio \ -vnc :1 \ Could you help to confirm it ? Thanks Jing
(In reply to jingzhao from comment #10) > Hi David > > Failed when QE verifying the bz. > > Migrated failed and the error message of destination > ((qemu) qemu-kvm: Machine type received is 'pc-q35-rhel7.4.0' and local is > 'pc-q35-rhel7.5.0' qemu-kvm: load of migration failed: Invalid argument) > > detailed steps: > > 1. Boot guest in src 7.4 host [1] > > 2. migrate to the destination 7.5 host > > > Actual Result: > > migrate failed > > (qemu) qemu-kvm: Machine type received is 'pc-q35-rhel7.4.0' and local is > 'pc-q35-rhel7.5.0' > qemu-kvm: load of migration failed: Invalid argument > > > 7.4 host info: > [root@localhost test]# rpm -qa |grep qemu-kvm-rhev > qemu-kvm-rhev-2.9.0-16.el7_4.10.x86_64 > qemu-kvm-rhev-debuginfo-2.9.0-16.el7_4.10.x86_64 > [root@localhost test]# rpm -qa |grep OVMF > OVMF-20170228-5.gitc325e41585e3.el7.noarc > > 7.5 host info: > [root@localhost test]# uname -r > 3.10.0-773.el7.x86_64 > [root@localhost test]# rpm -qa |grep qemu-kvm-rhev > qemu-kvm-rhev-2.10.0-4.el7.x86_64 > qemu-kvm-rhev-debuginfo-2.10.0-4.el7.x86_64 > [root@localhost test]# rpm -qa |grep OVMF > OVMF-20171011-1.git92d07e48907f.el7.noarch > > > qemu command line[1] > /usr/libexec/qemu-kvm \ > -M q35,accel=kvm,kernel-irqchip=split \ > -device intel-iommu,intremap=on \ > -cpu Haswell-noTSX \ > -nodefaults -rtc base=utc \ > -m 4G \ > -smp 4,sockets=4,cores=1,threads=1 \ > -enable-kvm \ > -uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \ > -k en-us \ > -nodefaults \ > -drive > file=/usr/share/OVMF/OVMF_CODE.secboot.fd,if=pflash,format=raw,unit=0, > readonly=on \ > -drive file=/home/test/OVMF_VARS.fd,if=pflash,format=raw,unit=1 \ > -serial unix:/tmp/serial0,server,nowait \ > -debugcon file:/home/test/ovmf.log \ > -global isa-debugcon.iobase=0x402 \ > -boot menu=on \ > -qmp tcp:0:6667,server,nowait \ > -usb \ > -device usb-tablet \ > -vga qxl \ > -global driver=cfi.pflash01,property=secure,value=on \ > -drive > file=/mnt/test/win7-ovmf.qcow2,if=none,id=drive-virtio-disk0,format=qcow2, > cache=none,werror=stop,rerror=stop \ > -device virtio-blk-pci,drive=drive-virtio-disk0,id=virtio-disk0 \ > -device > pcie-root-port,bus=pcie.0,id=root0,multifunction=on,chassis=1,addr=0xa.0 \ > -device virtio-net-pci,netdev=tap10,mac=9a:6a:6b:6c:6d:6e,bus=root0 -netdev > tap,id=tap10 \ > -device pcie-root-port,bus=pcie.0,id=root1,chassis=11,addr=0xa.1 \ > -device e1000e,netdev=tap11,mac=9a:6a:6b:6c:6d:6a,bus=root1 -netdev > tap,id=tap11 \ > -device pcie-root-port,bus=pcie.0,id=root2,chassis=12,addr=0xa.2 \ > -drive > file=/mnt/test/block1.qcow2,if=none,id=drive-virtio-disk1,format=qcow2, > cache=none,werror=stop,rerror=stop \ > -device virtio-blk-pci,drive=drive-virtio-disk1,id=virtio-disk1,bus=root2 \ > -device pcie-root-port,bus=pcie.0,id=root3,chassis=13,addr=0xa.3 \ > -device x3130-upstream,bus=root3,id=upstream1 \ > -device xio3130-downstream,bus=upstream1,id=downstream1,chassis=2 \ > -device pcie-root-port,bus=pcie.0,id=root6,chassis=14,addr=0xa.4 \ > -device pcie-root-port,bus=pcie.0,id=root4,chassis=3 \ > -device virtio-scsi-pci,id=scsi0,bus=root4 \ > -drive file=/mnt/test/block2.raw,if=none,format=raw,id=drive-virtio-scsi \ > -device scsi-disk,drive=drive-virtio-scsi,id=virtio-scsi,bus=scsi0.0 \ > -device ahci,id=ahci0 \ > -drive > file=/usr/share/virtio-win/virtio-win-1.9.3.iso,if=none,id=drive-virtio- > disk2,format=raw \ > -device ide-cd,drive=drive-virtio-disk2,id=virtio-disk2,bus=ahci0.0 \ > -device e1000e,netdev=tap12,mac=9a:6a:6b:6c:6d:6b -netdev tap,id=tap12 \ > -device pcie-root-port,bus=pcie.0,id=root5,chassis=4 \ > -device x3130-upstream,bus=root5,id=upstream2 \ > -device xio3130-downstream,bus=upstream2,id=downstream2,chassis=5 \ > -device xio3130-downstream,bus=upstream2,id=downstream3,chassis=6 \ > -device x3130-upstream,bus=downstream3,id=upstream3 \ > -device xio3130-downstream,bus=upstream3,id=downstream4,chassis=7 \ > -drive > file=/mnt/test/block5.qcow2,if=none,id=drive-virtio-disk5,format=qcow2, > cache=none,werror=stop,rerror=stop \ > -device > virtio-blk-pci,drive=drive-virtio-disk5,id=virtio-disk5,bus=downstream4 \ > -device pcie-root-port,bus=pcie.0,id=root7,chassis=8 \ > -monitor stdio \ > -vnc :1 \ > > > Could you help to confirm it ? > > Thanks > Jing Changed to the same machine type and hit the issue (qemu) red_dispatcher_loadvm_commands: qemu-kvm: Missing section footer for 0000:00:0a.0/pcie-root-port Please check the bz1511312
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2018:1104