On Sun, Jun 29, 2025 at 11:19:30PM -0400, Collin Walling wrote:
From: Boris Fiuczynski <fiuczy(a)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(a)linux.ibm.com>
Signed-off-by: Collin Walling <walling(a)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 :|