Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1489800 - q35/ovmf: Machine type compat vs OVMF vs windows
q35/ovmf: Machine type compat vs OVMF vs windows
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: qemu-kvm-rhev (Show other bugs)
7.5
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Dr. David Alan Gilbert
jingzhao
:
Depends On:
Blocks: 1500181
  Show dependency treegraph
 
Reported: 2017-09-08 08:08 EDT by Dr. David Alan Gilbert
Modified: 2018-04-10 20:33 EDT (History)
10 users (show)

See Also:
Fixed In Version: qemu-kvm-rhev-2.10.0-3.el7
Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2018-04-10 20:33:01 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2018:1104 normal SHIPPED_LIVE Important: qemu-kvm-rhev security, bug fix, and enhancement update 2018-04-10 18:54:38 EDT

  None (edit)
Description Dr. David Alan Gilbert 2017-09-08 08:08:33 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
Comment 2 Dr. David Alan Gilbert 2017-09-20 08:21:21 EDT
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)
Comment 3 Dr. David Alan Gilbert 2017-10-06 13:21:04 EDT
confirmed that applying these fixes on our downstream 2.10 tree gets win7+old ovmf to boot.
Comment 4 Dr. David Alan Gilbert 2017-10-06 13:57:20 EDT
also confirmed that win10+old ovmf to boot
Comment 5 Dr. David Alan Gilbert 2017-10-10 07:04:52 EDT
acpi: Force rev1 FADT on old q35 machine types
pc: make pc_rom RO only on new machine types
Comment 8 Miroslav Rezanina 2017-10-20 05:33:32 EDT
Fix included in qemu-kvm-rhev-2.10.0-3.el7
Comment 10 jingzhao 2017-11-08 21:38:00 EST
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
Comment 11 jingzhao 2017-11-13 21:48:30 EST
(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
Comment 14 errata-xmlrpc 2018-04-10 20:33:01 EDT
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

Note You need to log in before you can comment on or make changes to this bug.