
On Sun, Jun 29, 2025 at 11:19:30PM -0400, Collin Walling wrote:
From: Boris Fiuczynski <fiuczy@linux.ibm.com>
Allow to define the default for deprecated_features when the attribute is not set in the cpu defintion of a domain XML. If these features are still desired, they may be reenabled via the deprecated_features='on' attribute.
Some existing tests utilize this updated behavior, so update the CPU features on the corresponding args files.
Signed-off-by: Boris Fiuczynski <fiuczy@linux.ibm.com> Signed-off-by: Collin Walling <walling@linux.ibm.com> --- src/qemu/libvirtd_qemu.aug | 3 ++ src/qemu/qemu.conf.in | 14 ++++++++ src/qemu/qemu_conf.c | 33 +++++++++++++++++++ src/qemu/qemu_conf.h | 12 +++++++ src/qemu/qemu_process.c | 26 ++++++++++++++- src/qemu/test_libvirtd_qemu.aug.in | 1 + ...deprecated-features-none.s390x-latest.args | 2 +- ...default-video-type-s390x.s390x-latest.args | 2 +- ...vfio-zpci-ccw-memballoon.s390x-latest.args | 2 +- .../launch-security-s390-pv.s390x-latest.args | 2 +- ...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 2 +- .../s390-defaultconsole.s390x-latest.args | 2 +- .../s390-panic.s390x-latest.args | 2 +- 13 files changed, 95 insertions(+), 8 deletions(-)
diff --git a/src/qemu/libvirtd_qemu.aug b/src/qemu/libvirtd_qemu.aug index e1e479d72c..2b674d258d 100644 --- a/src/qemu/libvirtd_qemu.aug +++ b/src/qemu/libvirtd_qemu.aug @@ -160,6 +160,8 @@ module Libvirtd_qemu =
let filesystem_entry = str_array_entry "shared_filesystems"
+ let default_cpu_deprecated_features = str_entry "default_cpu_deprecated_features" + (* Entries that used to exist in the config which are now * deleted. We keep on parsing them so we don't break * ability to parse old configs after upgrade @@ -192,6 +194,7 @@ module Libvirtd_qemu = | capability_filters_entry | storage_entry | filesystem_entry + | default_cpu_deprecated_features | obsolete_entry
let comment = [ label "#comment" . del /#[ \t]*/ "# " . store /([^ \t\n][^\n]*)?/ . del /\n/ "\n" ] diff --git a/src/qemu/qemu.conf.in b/src/qemu/qemu.conf.in index 221bfa8095..368d929f78 100644 --- a/src/qemu/qemu.conf.in +++ b/src/qemu/qemu.conf.in @@ -1100,3 +1100,17 @@ # "/path/to/nvram", # "/path/to/swtpm" #] + +# If QEMU provides a list of deprecated CPU features it is possible to use +# this list for removal of deprecated CPU features during CPU model expansion. +# The deprecated_features XML attribute on the XML CPU element in the domain +# XML can be used to turn deprecated CPU features 'off' or 'on'. Using the +# option default_cpu_deprecated_features allows to define the default behavior +# when the attribute deprecated_features is not provided in the domain XML. +# +# Possible options are: +# "off" - (default) deprecated features are removed during CPU model expansion +# "on" - deprecated features remain required in the expanded CPU model +# "none" - no deprecated_features attribute is added to expanded CPU model +# +#default_cpu_deprecated_features = "off"
Having a host level config parameter change the guest ABI seems like a bad idea to me. IMHO mgmt apps should be updated to use the XML to request deprecated features are turned off by default. 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 :|