On Tue, Jan 06, 2026 at 03:25:16PM +0100, Michal Privoznik via Devel wrote:
> From: Michal Privoznik <[email protected]>
> 
> There is an issue with synic and vpindex enlightenments (fixed in
> next commit) which manifests itself only on (some) i440fx machine
> types. Switch affected tests to q35.

It also affects q35 machine types at the same version number,
as both rely on the "pc_compat_3_0" array that defines the
compat properties for x86.

With upstream QEMU this change should not matter as we
require QEMU >= 5.2.0 and so can assume a bare 'pc' will
resolve to a new enough version, and 'q35' will do likewise.

With RHEL-9 downstream QEMU, a bare 'pc'  will resolve to
older affected version (rhel-7.6.0), but does that actually
affect the unit tests ?  IIUC, we should be using our mocked
capabilities and so not see a problem ?

> 
> Signed-off-by: Michal Privoznik <[email protected]>
> ---
>  .../hyperv-host-model.x86_64-latest.args      |  9 +++++--
>  .../hyperv-host-model.x86_64-latest.xml       | 24 ++++++++++++++++---
>  tests/qemuxmlconfdata/hyperv-host-model.xml   |  4 ++--
>  .../qemuxmlconfdata/hyperv.x86_64-latest.args |  9 +++++--
>  .../qemuxmlconfdata/hyperv.x86_64-latest.xml  | 24 ++++++++++++++++---
>  tests/qemuxmlconfdata/hyperv.xml              |  4 ++--
>  6 files changed, 60 insertions(+), 14 deletions(-)
> 
> diff --git a/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.args 
> b/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.args
> index 58502ff51e..d6682f002c 100644
> --- a/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.args
> +++ b/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.args
> @@ -10,7 +10,7 @@ 
> XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
>  -name guest=QEMUGuest1,debug-threads=on \
>  -S \
>  -object 
> '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}'
>  \
> --machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=on \
> +-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=on \
>  -accel tcg \
>  -cpu 
> 'qemu64,hv-time=on,hv-relaxed=on,hv-vapic=on,hv-spinlocks=0xfff,hv-vpindex=on,hv-runtime=on,hv-synic=on,hv-stimer=on,hv-stimer-direct=on,hv-reset=on,hv-vendor-id=Linux
>  KVM 
> Hv,hv-frequencies=on,hv-reenlightenment=on,hv-tlbflush=on,hv-tlbflush-direct=on,hv-tlbflush-ext=on,hv-ipi=on,hv-avic=on,hv-emsr-bitmap=on,hv-xmm-input=on'
>  \
>  -m size=219136k \
> @@ -26,7 +26,12 @@ 
> XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
>  -rtc base=utc \
>  -no-shutdown \
>  -boot strict=on \
> --device 
> '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
> +-device 
> '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}'
>  \
> +-device 
> '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
> +-device 
> '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}'
>  \
> +-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.2","addr":"0x1"}' \
>  -audiodev '{"id":"audio1","driver":"none"}' \
> +-global ICH9-LPC.noreboot=off \
> +-watchdog-action reset \
>  -sandbox 
> on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
>  -msg timestamp=on
> diff --git a/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.xml 
> b/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.xml
> index 453a43b3c9..537680817f 100644
> --- a/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.xml
> +++ b/tests/qemuxmlconfdata/hyperv-host-model.x86_64-latest.xml
> @@ -5,7 +5,7 @@
>    <currentMemory unit='KiB'>219100</currentMemory>
>    <vcpu placement='static'>6</vcpu>
>    <os>
> -    <type arch='x86_64' machine='pc'>hvm</type>
> +    <type arch='x86_64' machine='q35'>hvm</type>
>      <boot dev='network'/>
>    </os>
>    <features>
> @@ -22,12 +22,30 @@
>    <devices>
>      <emulator>/usr/bin/qemu-system-x86_64</emulator>
>      <controller type='usb' index='0' model='piix3-uhci'>
> -      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x2'/>
> +      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' 
> function='0x0'/>
> +    </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='0x8'/>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x0' multifunction='on'/>
> +    </controller>
> +    <controller type='pci' index='2' model='pcie-to-pci-bridge'>
> +      <model name='pcie-pci-bridge'/>
> +      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' 
> function='0x0'/>
> +    </controller>
> +    <controller type='pci' index='3' model='pcie-root-port'>
> +      <model name='pcie-root-port'/>
> +      <target chassis='3' port='0x9'/>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x1'/>
> +    </controller>
> +    <controller type='sata' index='0'>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' 
> function='0x2'/>
>      </controller>
> -    <controller type='pci' index='0' model='pci-root'/>
>      <input type='mouse' bus='ps2'/>
>      <input type='keyboard' bus='ps2'/>
>      <audio id='1' type='none'/>
> +    <watchdog model='itco' action='reset'/>
>      <memballoon model='none'/>
>    </devices>
>  </domain>
> diff --git a/tests/qemuxmlconfdata/hyperv-host-model.xml 
> b/tests/qemuxmlconfdata/hyperv-host-model.xml
> index fae00d86dd..6095ac6fd8 100644
> --- a/tests/qemuxmlconfdata/hyperv-host-model.xml
> +++ b/tests/qemuxmlconfdata/hyperv-host-model.xml
> @@ -5,7 +5,7 @@
>    <currentMemory unit='KiB'>219100</currentMemory>
>    <vcpu placement='static'>6</vcpu>
>    <os>
> -    <type arch='x86_64' machine='pc'>hvm</type>
> +    <type arch='x86_64' machine='q35'>hvm</type>
>      <boot dev='network'/>
>    </os>
>    <features>
> @@ -19,7 +19,7 @@
>    <devices>
>      <emulator>/usr/bin/qemu-system-x86_64</emulator>
>      <controller type='usb' index='0'/>
> -    <controller type='pci' index='0' model='pci-root'/>
> +    <controller type='pci' index='0' model='pcie-root'/>
>      <input type='mouse' bus='ps2'/>
>      <input type='keyboard' bus='ps2'/>
>      <memballoon model='none'/>
> diff --git a/tests/qemuxmlconfdata/hyperv.x86_64-latest.args 
> b/tests/qemuxmlconfdata/hyperv.x86_64-latest.args
> index ea4b77de74..2c9716ed93 100644
> --- a/tests/qemuxmlconfdata/hyperv.x86_64-latest.args
> +++ b/tests/qemuxmlconfdata/hyperv.x86_64-latest.args
> @@ -10,7 +10,7 @@ 
> XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
>  -name guest=QEMUGuest1,debug-threads=on \
>  -S \
>  -object 
> '{"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain--1-QEMUGuest1/master-key.aes"}'
>  \
> --machine pc,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=on \
> +-machine q35,usb=off,dump-guest-core=off,memory-backend=pc.ram,acpi=on \
>  -accel tcg \
>  -cpu 
> 'qemu64,hv-time=on,hv-relaxed=on,hv-vapic=on,hv-spinlocks=0x80000000,hv-vpindex=on,hv-runtime=on,hv-synic=on,hv-stimer=on,hv-reset=on,hv-vendor-id=KVM
>  
> Hv,hv-frequencies=on,hv-reenlightenment=on,hv-tlbflush=on,hv-tlbflush-direct=on,hv-tlbflush-ext=on,hv-ipi=on,hv-evmcs=on,hv-avic=on,hv-emsr-bitmap=on,hv-xmm-input=on'
>  \
>  -m size=219136k \
> @@ -26,7 +26,12 @@ 
> XDG_CONFIG_HOME=/var/lib/libvirt/qemu/domain--1-QEMUGuest1/.config \
>  -rtc base=utc \
>  -no-shutdown \
>  -boot strict=on \
> --device 
> '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.0","addr":"0x1.0x2"}' \
> +-device 
> '{"driver":"pcie-root-port","port":8,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x1"}'
>  \
> +-device 
> '{"driver":"pcie-pci-bridge","id":"pci.2","bus":"pci.1","addr":"0x0"}' \
> +-device 
> '{"driver":"pcie-root-port","port":9,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x1.0x1"}'
>  \
> +-device '{"driver":"piix3-usb-uhci","id":"usb","bus":"pci.2","addr":"0x1"}' \
>  -audiodev '{"id":"audio1","driver":"none"}' \
> +-global ICH9-LPC.noreboot=off \
> +-watchdog-action reset \
>  -sandbox 
> on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
>  -msg timestamp=on
> diff --git a/tests/qemuxmlconfdata/hyperv.x86_64-latest.xml 
> b/tests/qemuxmlconfdata/hyperv.x86_64-latest.xml
> index fdcab661a6..156bbfff21 100644
> --- a/tests/qemuxmlconfdata/hyperv.x86_64-latest.xml
> +++ b/tests/qemuxmlconfdata/hyperv.x86_64-latest.xml
> @@ -5,7 +5,7 @@
>    <currentMemory unit='KiB'>219100</currentMemory>
>    <vcpu placement='static'>6</vcpu>
>    <os>
> -    <type arch='x86_64' machine='pc'>hvm</type>
> +    <type arch='x86_64' machine='q35'>hvm</type>
>      <boot dev='network'/>
>    </os>
>    <features>
> @@ -45,12 +45,30 @@
>    <devices>
>      <emulator>/usr/bin/qemu-system-x86_64</emulator>
>      <controller type='usb' index='0' model='piix3-uhci'>
> -      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x2'/>
> +      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' 
> function='0x0'/>
> +    </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='0x8'/>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x0' multifunction='on'/>
> +    </controller>
> +    <controller type='pci' index='2' model='pcie-to-pci-bridge'>
> +      <model name='pcie-pci-bridge'/>
> +      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' 
> function='0x0'/>
> +    </controller>
> +    <controller type='pci' index='3' model='pcie-root-port'>
> +      <model name='pcie-root-port'/>
> +      <target chassis='3' port='0x9'/>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 
> function='0x1'/>
> +    </controller>
> +    <controller type='sata' index='0'>
> +      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' 
> function='0x2'/>
>      </controller>
> -    <controller type='pci' index='0' model='pci-root'/>
>      <input type='mouse' bus='ps2'/>
>      <input type='keyboard' bus='ps2'/>
>      <audio id='1' type='none'/>
> +    <watchdog model='itco' action='reset'/>
>      <memballoon model='none'/>
>    </devices>
>  </domain>
> diff --git a/tests/qemuxmlconfdata/hyperv.xml 
> b/tests/qemuxmlconfdata/hyperv.xml
> index 9a47dd0ec8..2a7d082153 100644
> --- a/tests/qemuxmlconfdata/hyperv.xml
> +++ b/tests/qemuxmlconfdata/hyperv.xml
> @@ -5,7 +5,7 @@
>    <currentMemory unit='KiB'>219100</currentMemory>
>    <vcpu placement='static'>6</vcpu>
>    <os>
> -    <type arch='x86_64' machine='pc'>hvm</type>
> +    <type arch='x86_64' machine='q35'>hvm</type>
>      <boot dev='network'/>
>    </os>
>    <features>
> @@ -42,7 +42,7 @@
>    <devices>
>      <emulator>/usr/bin/qemu-system-x86_64</emulator>
>      <controller type='usb' index='0'/>
> -    <controller type='pci' index='0' model='pci-root'/>
> +    <controller type='pci' index='0' model='pcie-root'/>
>      <input type='mouse' bus='ps2'/>
>      <input type='keyboard' bus='ps2'/>
>      <memballoon model='none'/>
> -- 
> 2.52.0
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

Reply via email to