[libvirt PATCH v3 3/6] qemu: remove use of (+|-)name syntax for -cpu featres

Daniel P. Berrangé posted 6 patches 1 month, 2 weeks ago

[libvirt PATCH v3 3/6] qemu: remove use of (+|-)name syntax for -cpu featres

Posted by Daniel P. Berrangé 1 month, 2 weeks ago
The -cpu arg gained support for feature=on|off syntax for the x86
emulator in 2.4.0

  commit 38e5c119c2925812bd441450ab9e5e00fc79e662
  Author: Eduardo Habkost <ehabkost@redhat.com>
  Date:   Mon Mar 23 17:29:32 2015 -0300

    target-i386: Register QOM properties for feature flags

Most other targets gained this syntax even earlier in 1.4.1

  commit 1590bbcb02921dfe8e3cf66e3a3aafd31193babf
  Author: Andreas Färber <afaerber@suse.de>
  Date:   Mon Mar 3 23:33:51 2014 +0100

    cpu: Implement CPUClass::parse_features() for the rest of CPUs

    CPUs who do not provide their own implementation of feature parsing
    will treat each option as a QOM property and set it to the supplied
    value.

There appears no reason to keep supporting "+|-feature" syntax,
given the current minimum QEMU version.

Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
 src/qemu/qemu_command.c                                   | 5 +----
 tests/qemuxml2argvdata/cpu-Haswell2.args                  | 2 +-
 tests/qemuxml2argvdata/cpu-Haswell3.args                  | 2 +-
 tests/qemuxml2argvdata/cpu-cache-disable3.args            | 2 +-
 tests/qemuxml2argvdata/cpu-check-default-partial.args     | 2 +-
 tests/qemuxml2argvdata/cpu-eoi-disabled.args              | 2 +-
 tests/qemuxml2argvdata/cpu-eoi-enabled.args               | 2 +-
 tests/qemuxml2argvdata/cpu-exact1.args                    | 2 +-
 tests/qemuxml2argvdata/cpu-exact2-nofallback.args         | 2 +-
 tests/qemuxml2argvdata/cpu-exact2.args                    | 2 +-
 tests/qemuxml2argvdata/cpu-fallback.args                  | 2 +-
 tests/qemuxml2argvdata/cpu-host-kvmclock.args             | 2 +-
 tests/qemuxml2argvdata/cpu-host-model-cmt.args            | 2 +-
 tests/qemuxml2argvdata/cpu-host-model-fallback.args       | 2 +-
 tests/qemuxml2argvdata/cpu-host-model-vendor.args         | 2 +-
 tests/qemuxml2argvdata/cpu-host-model.args                | 2 +-
 tests/qemuxml2argvdata/cpu-host-passthrough-features.args | 2 +-
 tests/qemuxml2argvdata/cpu-kvmclock.args                  | 2 +-
 tests/qemuxml2argvdata/cpu-minimum1.args                  | 2 +-
 tests/qemuxml2argvdata/cpu-minimum2.args                  | 2 +-
 tests/qemuxml2argvdata/cpu-strict1.args                   | 2 +-
 tests/qemuxml2argvdata/cpu-tsc-frequency.args             | 2 +-
 tests/qemuxml2argvdata/graphics-spice-timeout.args        | 2 +-
 tests/qemuxml2argvdata/kvmclock.args                      | 2 +-
 tests/qemuxml2argvdata/pci-bridge-many-disks.args         | 2 +-
 25 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 3b82c64e72..92125dbc85 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6300,10 +6300,7 @@ qemuBuildCpuFeature(virQEMUCaps *qemuCaps,
 {
     name = virQEMUCapsCPUFeatureToQEMU(qemuCaps, name);
 
-    if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QUERY_CPU_MODEL_EXPANSION))
-        virBufferAsprintf(buf, ",%s=%s", name, state ? "on" : "off");
-    else
-        virBufferAsprintf(buf, ",%c%s", state ? '+' : '-', name);
+    virBufferAsprintf(buf, ",%s=%s", name, state ? "on" : "off");
 }
 
 
diff --git a/tests/qemuxml2argvdata/cpu-Haswell2.args b/tests/qemuxml2argvdata/cpu-Haswell2.args
index ed08de0d72..2d23840418 100644
--- a/tests/qemuxml2argvdata/cpu-Haswell2.args
+++ b/tests/qemuxml2argvdata/cpu-Haswell2.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu Haswell,-hle,-rtm \
+-cpu Haswell,hle=off,rtm=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-Haswell3.args b/tests/qemuxml2argvdata/cpu-Haswell3.args
index 110017cf0e..4bc2e0bc00 100644
--- a/tests/qemuxml2argvdata/cpu-Haswell3.args
+++ b/tests/qemuxml2argvdata/cpu-Haswell3.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu Haswell,+rtm,+hle \
+-cpu Haswell,rtm=on,hle=on \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-cache-disable3.args b/tests/qemuxml2argvdata/cpu-cache-disable3.args
index 4b47ccc0f8..8d0b0f323d 100644
--- a/tests/qemuxml2argvdata/cpu-cache-disable3.args
+++ b/tests/qemuxml2argvdata/cpu-cache-disable3.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-foo/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds-cpl,+vmx,+est,+tm2,+cx16,+xtpr,+lahf-lm,l3-cache=off \
+-cpu core2duo,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on,l3-cache=off \
 -m 214 \
 -realtime mlock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-check-default-partial.args b/tests/qemuxml2argvdata/cpu-check-default-partial.args
index 9dde8e9690..06290c546c 100644
--- a/tests/qemuxml2argvdata/cpu-check-default-partial.args
+++ b/tests/qemuxml2argvdata/cpu-check-default-partial.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds-cpl,+vmx,+est,+tm2,+cx16,+xtpr,+lahf-lm \
+-cpu core2duo,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-eoi-disabled.args b/tests/qemuxml2argvdata/cpu-eoi-disabled.args
index 93b5e68a21..face42ae73 100644
--- a/tests/qemuxml2argvdata/cpu-eoi-disabled.args
+++ b/tests/qemuxml2argvdata/cpu-eoi-disabled.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=tcg,usb=off,dump-guest-core=off \
--cpu qemu32,-kvm-pv-eoi \
+-cpu qemu32,kvm-pv-eoi=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-eoi-enabled.args b/tests/qemuxml2argvdata/cpu-eoi-enabled.args
index 1eda43f328..11c8cf8e42 100644
--- a/tests/qemuxml2argvdata/cpu-eoi-enabled.args
+++ b/tests/qemuxml2argvdata/cpu-eoi-enabled.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=tcg,usb=off,dump-guest-core=off \
--cpu qemu32,+kvm-pv-eoi \
+-cpu qemu32,kvm-pv-eoi=on \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-exact1.args b/tests/qemuxml2argvdata/cpu-exact1.args
index f0498090ed..b764431173 100644
--- a/tests/qemuxml2argvdata/cpu-exact1.args
+++ b/tests/qemuxml2argvdata/cpu-exact1.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu qemu64,-mca,-pse36,-clflush,-syscall,-nx,-lm,-svm \
+-cpu qemu64,mca=off,pse36=off,clflush=off,syscall=off,nx=off,lm=off,svm=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-exact2-nofallback.args b/tests/qemuxml2argvdata/cpu-exact2-nofallback.args
index 372d2c0d55..d768f0e0ea 100644
--- a/tests/qemuxml2argvdata/cpu-exact2-nofallback.args
+++ b/tests/qemuxml2argvdata/cpu-exact2-nofallback.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+ht,+tm,+ds-cpl,+xtpr,+3dnowext,+lahf-lm,-nx,-cx16,-tm2,-pbe,-ss,-sse4a,-wdt \
+-cpu core2duo,ds=on,ht=on,tm=on,ds-cpl=on,xtpr=on,3dnowext=on,lahf-lm=on,nx=off,cx16=off,tm2=off,pbe=off,ss=off,sse4a=off,wdt=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-exact2.args b/tests/qemuxml2argvdata/cpu-exact2.args
index 372d2c0d55..d768f0e0ea 100644
--- a/tests/qemuxml2argvdata/cpu-exact2.args
+++ b/tests/qemuxml2argvdata/cpu-exact2.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+ht,+tm,+ds-cpl,+xtpr,+3dnowext,+lahf-lm,-nx,-cx16,-tm2,-pbe,-ss,-sse4a,-wdt \
+-cpu core2duo,ds=on,ht=on,tm=on,ds-cpl=on,xtpr=on,3dnowext=on,lahf-lm=on,nx=off,cx16=off,tm2=off,pbe=off,ss=off,sse4a=off,wdt=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-fallback.args b/tests/qemuxml2argvdata/cpu-fallback.args
index 0dbe3bf366..5a51295c74 100644
--- a/tests/qemuxml2argvdata/cpu-fallback.args
+++ b/tests/qemuxml2argvdata/cpu-fallback.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu Penryn,-sse4.1,-sse4.2,-popcnt,-aes \
+-cpu Penryn,sse4.1=off,sse4.2=off,popcnt=off,aes=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-kvmclock.args b/tests/qemuxml2argvdata/cpu-host-kvmclock.args
index 63bd54c1b2..0a62f64747 100644
--- a/tests/qemuxml2argvdata/cpu-host-kvmclock.args
+++ b/tests/qemuxml2argvdata/cpu-host-kvmclock.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu host,-kvmclock \
+-cpu host,kvmclock=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-cmt.args b/tests/qemuxml2argvdata/cpu-host-model-cmt.args
index 403dd15701..3f17100e5f 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-cmt.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-cmt.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=tcg,usb=off,dump-guest-core=off \
--cpu Haswell,+vme,+ds,+acpi,+ss,+ht,+tm,+pbe,+dtes64,+monitor,+ds-cpl,+vmx,+smx,+est,+tm2,+xtpr,+pdcm,+f16c,+rdrand,+pdpe1gb,+abm,+lahf-lm \
+-cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-fallback.args b/tests/qemuxml2argvdata/cpu-host-model-fallback.args
index 5363cac30d..4c2ad4b819 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-fallback.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-fallback.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=tcg,usb=off,dump-guest-core=off \
--cpu Penryn,+vme,+ds,+acpi,+ss,+ht,+tm,+pbe,+monitor,+ds-cpl,+vmx,+est,+tm2,+xtpr,-sse4.1,+cx16,+lahf-lm \
+-cpu Penryn,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,monitor=on,ds-cpl=on,vmx=on,est=on,tm2=on,xtpr=on,sse4.1=off,cx16=on,lahf-lm=on \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model-vendor.args b/tests/qemuxml2argvdata/cpu-host-model-vendor.args
index 7df4ae99bf..a0dcfc452a 100644
--- a/tests/qemuxml2argvdata/cpu-host-model-vendor.args
+++ b/tests/qemuxml2argvdata/cpu-host-model-vendor.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=tcg,usb=off,dump-guest-core=off \
--cpu 'core2duo,vendor=Libvirt QEMU,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds-cpl,+vmx,+est,+tm2,+cx16,+xtpr,+lahf-lm' \
+-cpu 'core2duo,vendor=Libvirt QEMU,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on' \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-model.args b/tests/qemuxml2argvdata/cpu-host-model.args
index 9d3ff66628..39d194a4c1 100644
--- a/tests/qemuxml2argvdata/cpu-host-model.args
+++ b/tests/qemuxml2argvdata/cpu-host-model.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine q35,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds-cpl,+vmx,+est,+tm2,+cx16,+xtpr,+lahf-lm \
+-cpu core2duo,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on \
 -m 214 \
 -realtime mlock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-host-passthrough-features.args b/tests/qemuxml2argvdata/cpu-host-passthrough-features.args
index 8c03bd1171..468088f0b2 100644
--- a/tests/qemuxml2argvdata/cpu-host-passthrough-features.args
+++ b/tests/qemuxml2argvdata/cpu-host-passthrough-features.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu host,+abm,+ds,-invtsc \
+-cpu host,abm=on,ds=on,invtsc=off \
 -m 214 \
 -realtime mlock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-kvmclock.args b/tests/qemuxml2argvdata/cpu-kvmclock.args
index e12fbbb503..9bd3748f04 100644
--- a/tests/qemuxml2argvdata/cpu-kvmclock.args
+++ b/tests/qemuxml2argvdata/cpu-kvmclock.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,-kvmclock \
+-cpu core2duo,kvmclock=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-minimum1.args b/tests/qemuxml2argvdata/cpu-minimum1.args
index 7bdd8bb5f1..d288635804 100644
--- a/tests/qemuxml2argvdata/cpu-minimum1.args
+++ b/tests/qemuxml2argvdata/cpu-minimum1.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds-cpl,+vmx,+est,+tm2,+cx16,+xtpr,+lahf-lm \
+-cpu core2duo,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-minimum2.args b/tests/qemuxml2argvdata/cpu-minimum2.args
index d0c49d668c..d4b54b7c79 100644
--- a/tests/qemuxml2argvdata/cpu-minimum2.args
+++ b/tests/qemuxml2argvdata/cpu-minimum2.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds-cpl,+vmx,+est,+tm2,+cx16,+xtpr,+lahf-lm,-syscall,-nx,-lm,-svm \
+-cpu core2duo,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on,syscall=off,nx=off,lm=off,svm=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-strict1.args b/tests/qemuxml2argvdata/cpu-strict1.args
index 5d225b297e..b00d7237b0 100644
--- a/tests/qemuxml2argvdata/cpu-strict1.args
+++ b/tests/qemuxml2argvdata/cpu-strict1.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+acpi,+ht,+tm,+ds-cpl,+vmx,+est,+xtpr,+3dnowext,+lahf-lm,-nx,-cx16,-tm2,-pbe,-ss,-sse4a,-wdt \
+-cpu core2duo,ds=on,acpi=on,ht=on,tm=on,ds-cpl=on,vmx=on,est=on,xtpr=on,3dnowext=on,lahf-lm=on,nx=off,cx16=off,tm2=off,pbe=off,ss=off,sse4a=off,wdt=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/cpu-tsc-frequency.args b/tests/qemuxml2argvdata/cpu-tsc-frequency.args
index c348dbccaa..c6d917f0f4 100644
--- a/tests/qemuxml2argvdata/cpu-tsc-frequency.args
+++ b/tests/qemuxml2argvdata/cpu-tsc-frequency.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu Haswell,+vme,+ds,+acpi,+ss,+ht,+tm,+pbe,+dtes64,+monitor,+ds-cpl,+vmx,+smx,+est,+tm2,+xtpr,+pdcm,+f16c,+rdrand,+pdpe1gb,+abm,+lahf-lm,+invtsc,tsc-frequency=4567890000 \
+-cpu Haswell,vme=on,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,dtes64=on,monitor=on,ds-cpl=on,vmx=on,smx=on,est=on,tm2=on,xtpr=on,pdcm=on,f16c=on,rdrand=on,pdpe1gb=on,abm=on,lahf-lm=on,invtsc=on,tsc-frequency=4567890000 \
 -m 214 \
 -realtime mlock=off \
 -smp 1,sockets=1,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/graphics-spice-timeout.args b/tests/qemuxml2argvdata/graphics-spice-timeout.args
index ccf8d974c4..3bdba66427 100644
--- a/tests/qemuxml2argvdata/graphics-spice-timeout.args
+++ b/tests/qemuxml2argvdata/graphics-spice-timeout.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=spice \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-f14/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu core2duo,+ds,+acpi,+ss,+ht,+tm,+pbe,+ds-cpl,+vmx,+est,+tm2,+cx16,+xtpr,+lahf-lm \
+-cpu core2duo,ds=on,acpi=on,ss=on,ht=on,tm=on,pbe=on,ds-cpl=on,vmx=on,est=on,tm2=on,cx16=on,xtpr=on,lahf-lm=on \
 -m 1024 \
 -realtime mlock=off \
 -smp 2,sockets=1,cores=2,threads=1 \
diff --git a/tests/qemuxml2argvdata/kvmclock.args b/tests/qemuxml2argvdata/kvmclock.args
index 174cc7ad07..cce20dbfed 100644
--- a/tests/qemuxml2argvdata/kvmclock.args
+++ b/tests/qemuxml2argvdata/kvmclock.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-QEMUGuest1/master-key.aes \
 -machine pc,accel=kvm,usb=off,dump-guest-core=off \
--cpu qemu32,-kvmclock \
+-cpu qemu32,kvmclock=off \
 -m 214 \
 -realtime mlock=off \
 -smp 6,sockets=6,cores=1,threads=1 \
diff --git a/tests/qemuxml2argvdata/pci-bridge-many-disks.args b/tests/qemuxml2argvdata/pci-bridge-many-disks.args
index eec754d2ae..500b4d0e47 100644
--- a/tests/qemuxml2argvdata/pci-bridge-many-disks.args
+++ b/tests/qemuxml2argvdata/pci-bridge-many-disks.args
@@ -12,7 +12,7 @@ QEMU_AUDIO_DRV=none \
 -S \
 -object secret,id=masterKey0,format=raw,file=/tmp/lib/domain--1-lots-of-disks/master-key.aes \
 -machine pc-i440fx-1.4,accel=tcg,usb=off,dump-guest-core=off \
--cpu qemu64,-kvmclock \
+-cpu qemu64,kvmclock=off \
 -bios /usr/share/seabios/bios.bin \
 -m 3907 \
 -realtime mlock=off \
-- 
2.31.1

Re: [libvirt PATCH v3 3/6] qemu: remove use of (+|-)name syntax for -cpu featres

Posted by Jiri Denemark 1 month, 2 weeks ago
On Fri, Oct 08, 2021 at 10:01:42 +0100, Daniel P. Berrangé wrote:
> The -cpu arg gained support for feature=on|off syntax for the x86
> emulator in 2.4.0
> 
>   commit 38e5c119c2925812bd441450ab9e5e00fc79e662
>   Author: Eduardo Habkost <ehabkost@redhat.com>
>   Date:   Mon Mar 23 17:29:32 2015 -0300
> 
>     target-i386: Register QOM properties for feature flags
> 
> Most other targets gained this syntax even earlier in 1.4.1
> 
>   commit 1590bbcb02921dfe8e3cf66e3a3aafd31193babf
>   Author: Andreas Färber <afaerber@suse.de>
>   Date:   Mon Mar 3 23:33:51 2014 +0100
> 
>     cpu: Implement CPUClass::parse_features() for the rest of CPUs
> 
>     CPUs who do not provide their own implementation of feature parsing
>     will treat each option as a QOM property and set it to the supplied
>     value.
> 
> There appears no reason to keep supporting "+|-feature" syntax,
> given the current minimum QEMU version.
> 
> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>