Devel
Threads by month
- ----- 2026 -----
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2005 -----
- December
April 2021
- 54 participants
- 176 discussions
12 Apr '21
This patch series follows the previously-merged series which added support for
transient mediated devices. This series expands mdev support to include
persistent device definitions. Again, it relies on mdevctl as the backend.
It follows the common libvirt pattern of APIs by adding the following new APIs
for node devices:
- virNodeDeviceDefineXML() - defines a persistent device
- virNodeDeviceUndefine() - undefines a persistent device
- virNodeDeviceCreate() - starts a previously-defined device
It also adds virsh commands mapping to these new APIs: nodedev-define,
nodedev-undefine, and nodedev-start.
Since we rely on mdevctl for the definition of mediated devices, we need a way
to stay up-to-date with devices that are defined by mdevctl (outside of
libvirt). The method for staying up-to-date is currently a little bit crude
due to the fact that mdevctl does not emit any events when new devices are
added or removed. As a workaround, we create a file monitor for the mdevctl
config directory and re-query mdevctl when we detect changes within that
directory. In the future, mdevctl may introduce a more elegant solution.
Changes in v6:
- rebase to git master again
- remove typedefs for various *Ptr types, since they're now discouraged in
libvirt.
Changes in v5:
- Rebase to git master
- updated new API version info to 7.2.0
- capture and relay stderr message from mdevctl
- changed to using GHashTable functions directly instead of deprecated
virHash functions
- protected mdevctlMonitors with a mutex
- added a couple patches to fix the 5s delay when defining a new mdev. These
are currently separate patches added to the end of the series, but could be
squashed into the earlier commits if that's preferred.
- various other minor review fixes
Changes in v4:
- rebase to git master
- switch to throwaway thread for querying mdevctl
- fixed a bug when removing devices because I was accidentally using
virHashForEach() instead of virHashForeachSafe()
- use DEFINED/UNDEFINED events instead of STARTED/STOPPED events
- changes related to merging information about mdev devices from both udev a=
nd
mdevctl:
- Re-used the same function to copy extra data from mdevctl regardless of
whether we're processing a udev event or a mdevctl event (recommended by
Erik). This results in slightly more complex handling of the object
lifetimes (see patch 9), but it consolidates some code.
- nodeDeviceDefCopyFromMdevctl() previously only copied the data that was
unique to mdevctl and didn't exist in udev. It now copies additional data
(possibly overwriting some udev). This solves a problem where a device =
is
defined but not active (i.e. we have not gotten any data from udev), and
then changed (e.g. somebody calls 'mdevctl modify' to change the mdev
type), but libvirt was not updating to the new definition.
- fix a bug where we were mistakenly emitting 'update' events for devices th=
at
had not changed
- Added the ability to specify a uuid for an mdev via device XML.
- split some commits into multiple patches
- updated new API version info to 7.1.0
- Fixed a bug reported by Yan Fu which hangs the client when attempting to
destroy a nodedev that is in use by an active vm. See
https://www.redhat.com/archives/libvir-list/2021-February/msg00116.html for
solution suggested by Alex.
- numerous smaller fixes from review findings
changes in v3:
- streamlined tests -- removed some unnecessary duplication
- split out patch to factor out node device name generation function
- split nodeDeviceParseMdevctlChildDevice() into a separate function
- added follow-up patch to remove space-padded alignment in header
- refactored the mdevctl update handling significantly:
- no longer a separate persistent thread that gets signaled by a timer
- now piggybacks onto the existing udev thread and signals the thread in t=
he
same way that the udev event does.
- Daniel suggested spawning a throw-away thread to handle mdevctl updates,
but that introduces the complexity of possibly serializing multiple
throw-away threads (e.g. if we get an 'created' event followed immediate=
ly
by a 'deleted' event, two threads may be spawned and we'd need to ensure
they are properly ordered)
- added virNodeDeviceObjListForEach() and virNodeDeviceObjListRemoveLocked()
to simplify removing devices that are removed from mdevctl.
- coding style fixes
- NOTE: per Erik's request, I experimented with changing the way that mdevctl
commands were generated and tested (e.g. introducing something like
virMdevctlGetCommand(def, MDEVCTL_COMMAND_<SUBCOMMAND>, ...)), but it was
too invasive and awkward and didn't seem worthwhile
Changes in v2:
- rebase to latest git master
Jonathon Jongsma (30):
nodedev: capture and report stderror from mdevctl
tests: remove extra trailing semicolon
nodedev: introduce concept of 'active' node devices
nodedev: Add ability to filter by active state
nodedev: fix docs for virConnectListAllNodeDevices()
nodedev: expose internal helper for naming devices
nodedev: add ability to parse mdevs from mdevctl
nodedev: add ability to list defined mdevs
nodedev: add persistence to virNodeDeviceObj
nodedev: add DEFINED/UNDEFINED lifecycle events
nodedev: add mdevctl devices to node device list
nodedev: add helper functions to remove node devices
nodedev: handle mdevs that disappear from mdevctl
nodedev: Refresh mdev devices when changes are detected
nodedev: add function to generate mdevctl define command
api: add virNodeDeviceDefineXML()
virsh: Add --inactive, --all to nodedev-list
virsh: add nodedev-define command
nodedev: refactor tests to support mdev undefine
api: add virNodeDeviceUndefine()
virsh: Factor out function to find node device
virsh: add nodedev-undefine command
api: add virNodeDeviceCreate()
virsh: add "nodedev-start" command
nodedev: add <uuid> element to mdev caps
nodedev: add ability to specify UUID for new mdevs
nodedev: fix hang when destroying an mdev in use
nodedev: add docs about mdev attribute order
nodedev: factor out function to add mediated devices
nodedev: avoid delay when defining a new mdev
docs/formatnode.html.in | 5 +-
docs/schemas/nodedev.rng | 43 +-
examples/c/misc/event-test.c | 4 +
include/libvirt/libvirt-nodedev.h | 20 +-
src/access/viraccessperm.c | 2 +-
src/access/viraccessperm.h | 6 +
src/conf/node_device_conf.c | 14 +
src/conf/node_device_conf.h | 8 +
src/conf/virnodedeviceobj.c | 147 +++-
src/conf/virnodedeviceobj.h | 24 +
src/driver-nodedev.h | 14 +
src/libvirt-nodedev.c | 141 +++-
src/libvirt_private.syms | 6 +
src/libvirt_public.syms | 3 +
src/node_device/node_device_driver.c | 743 +++++++++++++++++-
src/node_device/node_device_driver.h | 50 +-
src/node_device/node_device_udev.c | 217 ++++-
src/remote/remote_driver.c | 3 +
src/remote/remote_protocol.x | 40 +-
src/remote_protocol-structs | 16 +
src/rpc/gendispatch.pl | 1 +
...19_36ea_4111_8f0a_8c9a70e21366-define.argv | 2 +
...19_36ea_4111_8f0a_8c9a70e21366-define.json | 1 +
...019_36ea_4111_8f0a_8c9a70e21366-start.argv | 3 +-
...39_495e_4243_ad9f_beb3f14c23d9-define.argv | 1 +
...39_495e_4243_ad9f_beb3f14c23d9-define.json | 1 +
...16_1ca8_49ac_b176_871d16c13076-define.argv | 1 +
...16_1ca8_49ac_b176_871d16c13076-define.json | 1 +
tests/nodedevmdevctldata/mdevctl-create.argv | 1 +
.../mdevctl-list-defined.argv | 1 +
.../mdevctl-list-multiple.json | 59 ++
.../mdevctl-list-multiple.out.xml | 43 +
.../nodedevmdevctldata/mdevctl-undefine.argv | 1 +
tests/nodedevmdevctltest.c | 232 +++++-
...v_d069d019_36ea_4111_8f0a_8c9a70e21366.xml | 1 +
tools/virsh-nodedev.c | 269 ++++++-
36 files changed, 1931 insertions(+), 193 deletions(-)
create mode 100644 tests/nodedevmdevctldata/mdev_d069d019_36ea_4111_8f0a_8c9=
a70e21366-define.argv
create mode 100644 tests/nodedevmdevctldata/mdev_d069d019_36ea_4111_8f0a_8c9=
a70e21366-define.json
create mode 100644 tests/nodedevmdevctldata/mdev_d2441d39_495e_4243_ad9f_beb=
3f14c23d9-define.argv
create mode 100644 tests/nodedevmdevctldata/mdev_d2441d39_495e_4243_ad9f_beb=
3f14c23d9-define.json
create mode 100644 tests/nodedevmdevctldata/mdev_fedc4916_1ca8_49ac_b176_871=
d16c13076-define.argv
create mode 100644 tests/nodedevmdevctldata/mdev_fedc4916_1ca8_49ac_b176_871=
d16c13076-define.json
create mode 100644 tests/nodedevmdevctldata/mdevctl-create.argv
create mode 100644 tests/nodedevmdevctldata/mdevctl-list-defined.argv
create mode 100644 tests/nodedevmdevctldata/mdevctl-list-multiple.json
create mode 100644 tests/nodedevmdevctldata/mdevctl-list-multiple.out.xml
create mode 100644 tests/nodedevmdevctldata/mdevctl-undefine.argv
--=20
2.26.3
5
62
Hi,
recently I've got very annoyed that we still have a very large amount of
tests in qemuxml2argvtest which use DO_TEST or some other fake-caps
test.
While I can see value of fake-caps test for negative cases (but I'd
prefer actually real-caps with capability masking) I don't think there's
much value in keeping the DO_TEST fake-caps stuff around.
Namely in most cases it doesn't test anything useful which could be
encountered in real world.
I propose that we convert all DO_TEST cases to:
- DO_TEST_CAPS_LATEST
- and possibly a amount of version-bound tests based on:
- oldest supported version?
- versions in popular distros?
- none?
- any ideas?
For the negative cases we can think of the caps masking or other
approach but getting rid of DO_TEST would IMO be a great step forward in
terms of usefullnes of our unit tests.
Any feedback is welcome
Peter
2
2
12 Apr '21
v2:
- rebased on current master
- added changes to nodedevmdevctltest
- reworked the token for virCommandSetDryRun to avoid macro
- truncated patch 17/25 to avoid getting stuck in list
For full version please fetch the changes from my repository:
git fetch https://gitlab.com/pipo.sk/libvirt.git test-wrap-3
Peter Krempa (25):
qemuxml2argvdata: Remove unused 'args' files
qemuxml2argvdata: Remove unused 'xml' files
qemuxml2xmloutdata: Remove unused output XML files
qemuxml2xmloutdata: Remove unused symlinks to test XML files
virCommandToString: Allow stripping command path
tests: storagepoolxml2argvtest: Use integrated command path stripping
virCommandSetDryRun: Rework resetting of the dry run data
virCommandSetDryRun: Add flags to linebreak and strip prefix from the
command buffer
networkxml2firewalltest: Strip path from test output via
virCommandSetDryRun
nwfilterxml2firewalltest: Strip path from test output via
virCommandSetDryRun
nwfilterebiptablestest: Strip path from test output via
virCommandSetDryRun
testutils: Remove unused virTestClearCommandPath
virTestCompareToFile: Add possibility to skip unwrapping of input file
virTestLoadFileJSON: Don't try to unwrap JSON documents
virCommandToStringFull: Improve linebreaking behaviour
syntax-check: Remove 90 char limit for 'argv' files
qemuxml2argvtest: Use internal wrapping of command line arguments
storage: Format mount options before positional arguments
storagepoolxml2argvtest: Use internal wrapping of command line
arguments
storagevolxml2argvtest: Use internal wrapping of command line
arguments
networkxml2firewalltest: Use internal wrapping of command line
arguments
nwfilterxml2firewalldata: Use internal wrapping to wrap output files
bhyvexml2argvtest: Use internal wrapping of command line arguments
nodedevmdevctltest: Use internal linewrapping and variable command
path stripping
Remove test 'args' file rewrapping infrastructure
build-aux/syntax-check.mk | 14 +-
scripts/meson.build | 1 -
scripts/test-wrap-argv.py | 168 -----
src/libvirt_private.syms | 3 +
src/storage/storage_util.c | 8 +-
src/util/vircommand.c | 129 +++-
src/util/vircommand.h | 4 +
src/util/vircommandpriv.h | 11 +-
.../bhyvexml2argv-acpiapic.args | 3 +-
.../bhyvexml2argv-acpiapic.ldargs | 3 +-
...ml2argv-addr-isa-controller-on-slot-1.args | 3 +-
...2argv-addr-isa-controller-on-slot-1.ldargs | 3 +-
...l2argv-addr-isa-controller-on-slot-31.args | 3 +-
...argv-addr-isa-controller-on-slot-31.ldargs | 3 +-
...xml2argv-addr-more-than-32-sata-disks.args | 18 +-
...l2argv-addr-more-than-32-sata-disks.ldargs | 3 +-
...hyvexml2argv-addr-multiple-sata-disks.args | 3 +-
...vexml2argv-addr-multiple-sata-disks.ldargs | 3 +-
...vexml2argv-addr-multiple-virtio-disks.args | 3 +-
...xml2argv-addr-multiple-virtio-disks.ldargs | 3 +-
...rgv-addr-no32devs-multiple-sata-disks.args | 3 +-
...v-addr-no32devs-multiple-sata-disks.ldargs | 3 +-
...l2argv-addr-no32devs-single-sata-disk.args | 3 +-
...argv-addr-no32devs-single-sata-disk.ldargs | 3 +-
...rgv-addr-non-isa-controller-on-slot-1.args | 3 +-
.../bhyvexml2argv-addr-single-sata-disk.args | 3 +-
...bhyvexml2argv-addr-single-sata-disk.ldargs | 3 +-
...bhyvexml2argv-addr-single-virtio-disk.args | 3 +-
...yvexml2argv-addr-single-virtio-disk.ldargs | 3 +-
.../bhyvexml2argvdata/bhyvexml2argv-base.args | 3 +-
.../bhyvexml2argv-base.ldargs | 3 +-
.../bhyvexml2argv-bhyveload-bootorder.args | 3 +-
.../bhyvexml2argv-bhyveload-bootorder.ldargs | 3 +-
.../bhyvexml2argv-bhyveload-bootorder1.args | 3 +-
.../bhyvexml2argv-bhyveload-bootorder1.ldargs | 3 +-
.../bhyvexml2argv-bhyveload-bootorder3.args | 3 +-
.../bhyvexml2argv-bhyveload-bootorder3.ldargs | 3 +-
.../bhyvexml2argv-bhyveload-explicitargs.args | 3 +-
.../bhyvexml2argv-commandline.args | 5 +-
.../bhyvexml2argv-commandline.ldargs | 3 +-
...gv-console-master-slave-not-specified.args | 3 +-
...-console-master-slave-not-specified.ldargs | 3 +-
.../bhyvexml2argv-console.args | 3 +-
.../bhyvexml2argv-console.ldargs | 3 +-
.../bhyvexml2argv-cputopology.args | 3 +-
.../bhyvexml2argv-cputopology.ldargs | 3 +-
.../bhyvexml2argv-custom-loader.args | 3 +-
.../bhyvexml2argv-disk-cdrom-grub.args | 3 +-
.../bhyvexml2argv-disk-cdrom-grub.ldargs | 3 +-
.../bhyvexml2argv-disk-cdrom.args | 3 +-
.../bhyvexml2argv-disk-cdrom.ldargs | 3 +-
.../bhyvexml2argv-disk-virtio.args | 3 +-
.../bhyvexml2argv-disk-virtio.ldargs | 3 +-
.../bhyvexml2argv-firmware-efi.args | 3 +-
.../bhyvexml2argv-fs-9p-readonly.args | 3 +-
.../bhyvexml2argv-fs-9p-readonly.ldargs | 3 +-
.../bhyvexml2argv-fs-9p.args | 3 +-
.../bhyvexml2argv-fs-9p.ldargs | 3 +-
.../bhyvexml2argv-grub-bootorder.args | 3 +-
.../bhyvexml2argv-grub-bootorder.ldargs | 3 +-
.../bhyvexml2argv-grub-bootorder2.args | 3 +-
.../bhyvexml2argv-grub-bootorder2.ldargs | 3 +-
.../bhyvexml2argv-grub-defaults.args | 3 +-
.../bhyvexml2argv-grub-defaults.ldargs | 3 +-
.../bhyvexml2argv-input-xhci-tablet.args | 3 +-
.../bhyvexml2argv-input-xhci-tablet.ldargs | 3 +-
.../bhyvexml2argv-isa-controller.args | 3 +-
.../bhyvexml2argv-isa-controller.ldargs | 3 +-
.../bhyvexml2argv-localtime.args | 3 +-
.../bhyvexml2argv-localtime.ldargs | 3 +-
.../bhyvexml2argv-macaddr.args | 3 +-
.../bhyvexml2argv-macaddr.ldargs | 3 +-
.../bhyvexml2argvdata/bhyvexml2argv-msrs.args | 3 +-
.../bhyvexml2argv-msrs.ldargs | 3 +-
.../bhyvexml2argv-net-e1000.args | 3 +-
.../bhyvexml2argv-net-e1000.ldargs | 3 +-
.../bhyvexml2argv-serial-grub-nocons.args | 3 +-
.../bhyvexml2argv-serial-grub-nocons.ldargs | 3 +-
.../bhyvexml2argv-serial-grub.args | 3 +-
.../bhyvexml2argv-serial-grub.ldargs | 3 +-
.../bhyvexml2argv-serial.args | 3 +-
.../bhyvexml2argv-serial.ldargs | 3 +-
.../bhyvexml2argv-sound.args | 3 +-
.../bhyvexml2argv-sound.ldargs | 3 +-
.../bhyvexml2argvdata/bhyvexml2argv-uefi.args | 3 +-
.../bhyvexml2argv-vnc-autoport.args | 3 +-
.../bhyvexml2argv-vnc-password.args | 3 +-
.../bhyvexml2argv-vnc-resolution.args | 3 +-
.../bhyvexml2argv-vnc-vgaconf-io.args | 3 +-
.../bhyvexml2argv-vnc-vgaconf-off.args | 3 +-
.../bhyvexml2argv-vnc-vgaconf-on.args | 3 +-
.../bhyvexml2argvdata/bhyvexml2argv-vnc.args | 3 +-
.../bhyvexml2argv-wired.args | 3 +-
.../bhyvexml2argv-wired.ldargs | 3 +-
tests/bhyvexml2argvtest.c | 8 +-
tests/commanddata/test26.log | 2 +-
tests/commandtest.c | 5 +-
tests/networkxml2firewalltest.c | 9 +-
...19_36ea_4111_8f0a_8c9a70e21366-define.argv | 5 +-
...019_36ea_4111_8f0a_8c9a70e21366-start.argv | 5 +-
...39_495e_4243_ad9f_beb3f14c23d9-define.argv | 5 +-
...d39_495e_4243_ad9f_beb3f14c23d9-start.argv | 5 +-
...16_1ca8_49ac_b176_871d16c13076-define.argv | 5 +-
...916_1ca8_49ac_b176_871d16c13076-start.argv | 5 +-
tests/nodedevmdevctldata/mdevctl-create.argv | 4 +-
.../mdevctl-list-defined.argv | 5 +-
tests/nodedevmdevctldata/mdevctl-stop.argv | 4 +-
.../nodedevmdevctldata/mdevctl-undefine.argv | 4 +-
tests/nodedevmdevctltest.c | 35 +-
tests/nwfilterebiptablestest.c | 35 +-
.../comment-linux.args | 9 +-
.../target-linux.args | 81 +--
tests/nwfilterxml2firewalltest.c | 151 +++--
.../aarch64-aavmf-virtio-mmio.args | 3 +-
tests/qemuxml2argvdata/aarch64-acpi-uefi.args | 9 +-
.../aarch64-cpu-passthrough.args | 3 +-
...fault-cpu-kvm-virt-4.2.aarch64-latest.args | 21 +-
...fault-cpu-tcg-virt-4.2.aarch64-latest.args | 21 +-
.../aarch64-features-sve.aarch64-latest.args | 9 +-
tests/qemuxml2argvdata/aarch64-gic-host.args | 3 +-
.../aarch64-gic-none-tcg.args | 3 +-
tests/qemuxml2argvdata/aarch64-gic-v2.args | 3 +-
tests/qemuxml2argvdata/aarch64-gic-v3.args | 3 +-
.../aarch64-kvm-32-on-64.args | 3 +-
.../aarch64-noacpi-nouefi.args | 3 +-
.../qemuxml2argvdata/aarch64-noacpi-uefi.args | 9 +-
...arch64-os-firmware-efi.aarch64-latest.args | 25 +-
.../qemuxml2argvdata/aarch64-pci-serial.args | 3 +-
.../aarch64-tpm.aarch64-latest.args | 9 +-
.../aarch64-traditional-pci.args | 6 +-
.../aarch64-usb-controller-nec-xhci.args | 3 +-
.../aarch64-usb-controller-qemu-xhci.args | 3 +-
.../aarch64-video-default.args | 3 +-
.../aarch64-video-virtio-gpu-pci.args | 12 +-
.../aarch64-virt-2.6-virtio-pci-default.args | 9 +-
.../aarch64-virt-default-nic.args | 3 +-
.../aarch64-virt-graphics.aarch64-latest.args | 43 +-
.../aarch64-virt-headless.aarch64-latest.args | 43 +-
.../qemuxml2argvdata/aarch64-virt-virtio.args | 3 +-
.../aarch64-virtio-pci-default.args | 12 +-
.../aarch64-virtio-pci-manual-addresses.args | 12 +-
tests/qemuxml2argvdata/acpi-table.args | 3 +-
.../arm-vexpressa9-basic.args | 6 +-
.../arm-vexpressa9-nodevs.args | 3 +-
.../arm-vexpressa9-virtio.args | 6 +-
tests/qemuxml2argvdata/arm-virt-virtio.args | 3 +-
tests/qemuxml2argvdata/audio-alsa-best.args | 3 +-
.../audio-alsa-best.x86_64-latest.args | 17 +-
tests/qemuxml2argvdata/audio-alsa-full.args | 29 -
.../audio-alsa-full.x86_64-latest.args | 18 +-
.../qemuxml2argvdata/audio-alsa-minimal.args | 3 +-
.../audio-alsa-minimal.x86_64-latest.args | 12 +-
.../audio-coreaudio-best.args | 3 +-
.../audio-coreaudio-best.x86_64-latest.args | 17 +-
.../audio-coreaudio-full.args | 29 -
.../audio-coreaudio-full.x86_64-latest.args | 18 +-
.../audio-coreaudio-minimal.args | 3 +-
...audio-coreaudio-minimal.x86_64-latest.args | 12 +-
.../audio-default-nographics.args | 3 +-
...udio-default-nographics.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/audio-default-sdl.args | 3 +-
.../audio-default-sdl.x86_64-latest.args | 12 +-
.../qemuxml2argvdata/audio-default-spice.args | 3 +-
.../audio-default-spice.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/audio-default-vnc.args | 3 +-
.../audio-default-vnc.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/audio-file-best.args | 3 +-
.../audio-file-best.x86_64-latest.args | 17 +-
tests/qemuxml2argvdata/audio-file-full.args | 29 -
.../audio-file-full.x86_64-latest.args | 18 +-
.../qemuxml2argvdata/audio-file-minimal.args | 3 +-
.../audio-file-minimal.x86_64-latest.args | 12 +-
.../audio-jack-full.x86_64-latest.args | 19 +-
.../audio-jack-minimal.x86_64-latest.args | 12 +-
.../audio-many-backends.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/audio-none-best.args | 3 +-
.../audio-none-best.x86_64-latest.args | 17 +-
tests/qemuxml2argvdata/audio-none-full.args | 29 -
.../audio-none-full.x86_64-latest.args | 17 +-
.../qemuxml2argvdata/audio-none-minimal.args | 3 +-
.../audio-none-minimal.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/audio-oss-best.args | 3 +-
.../audio-oss-best.x86_64-latest.args | 18 +-
tests/qemuxml2argvdata/audio-oss-full.args | 31 -
.../audio-oss-full.x86_64-latest.args | 19 +-
tests/qemuxml2argvdata/audio-oss-minimal.args | 3 +-
.../audio-oss-minimal.x86_64-latest.args | 12 +-
.../audio-pulseaudio-best.args | 3 +-
.../audio-pulseaudio-best.x86_64-latest.args | 18 +-
.../audio-pulseaudio-full.args | 29 -
.../audio-pulseaudio-full.x86_64-latest.args | 19 +-
.../audio-pulseaudio-minimal.args | 3 +-
...udio-pulseaudio-minimal.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/audio-sdl-best.args | 3 +-
.../audio-sdl-best.x86_64-latest.args | 17 +-
tests/qemuxml2argvdata/audio-sdl-full.args | 30 -
.../audio-sdl-full.x86_64-latest.args | 18 +-
tests/qemuxml2argvdata/audio-sdl-minimal.args | 3 +-
.../audio-sdl-minimal.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/audio-spice-best.args | 3 +-
.../audio-spice-best.x86_64-latest.args | 17 +-
tests/qemuxml2argvdata/audio-spice-full.args | 29 -
.../audio-spice-full.x86_64-latest.args | 17 +-
.../qemuxml2argvdata/audio-spice-minimal.args | 3 +-
.../audio-spice-minimal.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/autoindex.args | 15 +-
.../qemuxml2argvdata/balloon-ccw-deflate.args | 3 +-
.../qemuxml2argvdata/balloon-device-auto.args | 3 +-
.../balloon-device-deflate-off.args | 3 +-
.../balloon-device-deflate.args | 3 +-
.../balloon-device-period.args | 3 +-
tests/qemuxml2argvdata/balloon-device.args | 3 +-
.../balloon-mmio-deflate.args | 3 +-
tests/qemuxml2argvdata/bios-nvram-secure.args | 9 +-
tests/qemuxml2argvdata/bios-nvram.args | 6 +-
tests/qemuxml2argvdata/bios.args | 3 +-
.../blkdeviotune-group-num.x86_64-4.1.0.args | 24 +-
.../blkdeviotune-group-num.x86_64-latest.args | 28 +-
.../blkdeviotune-max-length.x86_64-4.1.0.args | 26 +-
...blkdeviotune-max-length.x86_64-latest.args | 28 +-
.../blkdeviotune-max.x86_64-4.1.0.args | 23 +-
.../blkdeviotune-max.x86_64-latest.args | 28 +-
tests/qemuxml2argvdata/blkiotune-device.args | 3 +-
tests/qemuxml2argvdata/blkiotune.args | 3 +-
tests/qemuxml2argvdata/boot-cdrom.args | 3 +-
tests/qemuxml2argvdata/boot-complex.args | 15 +-
tests/qemuxml2argvdata/boot-floppy-q35.args | 3 +-
tests/qemuxml2argvdata/boot-floppy.args | 3 +-
.../boot-menu-disable-drive.args | 3 +-
tests/qemuxml2argvdata/boot-menu-disable.args | 3 +-
.../boot-menu-enable-with-timeout.args | 3 +-
tests/qemuxml2argvdata/boot-menu-enable.args | 3 +-
tests/qemuxml2argvdata/boot-multi.args | 3 +-
tests/qemuxml2argvdata/boot-network.args | 3 +-
tests/qemuxml2argvdata/boot-order.args | 12 +-
tests/qemuxml2argvdata/boot-strict.args | 15 +-
tests/qemuxml2argvdata/channel-guestfwd.args | 3 +-
tests/qemuxml2argvdata/channel-spicevmc.args | 9 +-
.../channel-unix-guestfwd.x86_64-2.5.0.args | 6 +-
.../channel-unix-guestfwd.x86_64-latest.args | 6 +-
.../qemuxml2argvdata/channel-virtio-auto.args | 24 +-
.../channel-virtio-autoadd.args | 24 +-
.../channel-virtio-autoassign.args | 24 +-
.../channel-virtio-default.args | 9 +-
.../channel-virtio-state.args | 12 +-
.../qemuxml2argvdata/channel-virtio-unix.args | 28 +-
tests/qemuxml2argvdata/channel-virtio.args | 6 +-
tests/qemuxml2argvdata/chardev-reconnect.args | 9 +-
tests/qemuxml2argvdata/clock-catchup.args | 3 +-
tests/qemuxml2argvdata/clock-france.args | 3 +-
tests/qemuxml2argvdata/clock-hpet-off.args | 3 +-
.../clock-localtime-basis-localtime.args | 3 +-
tests/qemuxml2argvdata/clock-localtime.args | 3 +-
tests/qemuxml2argvdata/clock-realtime.args | 3 +-
.../clock-timer-armvtimer.aarch64-latest.args | 9 +-
.../clock-timer-hyperv-rtc.args | 3 +-
tests/qemuxml2argvdata/clock-utc.args | 3 +-
tests/qemuxml2argvdata/clock-variable.args | 3 +-
tests/qemuxml2argvdata/console-compat-2.xml | 103 ---
.../qemuxml2argvdata/console-compat-auto.args | 3 +-
.../console-compat-chardev.args | 3 +-
tests/qemuxml2argvdata/console-compat.args | 3 +-
tests/qemuxml2argvdata/console-sclp.args | 3 +-
.../qemuxml2argvdata/console-virtio-ccw.args | 6 +-
.../qemuxml2argvdata/console-virtio-many.args | 3 +-
.../qemuxml2argvdata/console-virtio-s390.args | 3 +-
.../console-virtio-unix.x86_64-2.5.0.args | 3 +-
.../console-virtio-unix.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/console-virtio.args | 3 +-
tests/qemuxml2argvdata/controller-order.args | 21 +-
.../controller-virtio-scsi.x86_64-latest.args | 51 +-
tests/qemuxml2argvdata/cpu-Haswell-noTSX.args | 3 +-
tests/qemuxml2argvdata/cpu-Haswell.args | 3 +-
tests/qemuxml2argvdata/cpu-Haswell2.args | 3 +-
tests/qemuxml2argvdata/cpu-Haswell3.args | 3 +-
...u-Icelake-Server-pconfig.x86_64-3.1.0.args | 6 +-
...-Icelake-Server-pconfig.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/cpu-cache-disable.args | 3 +-
.../qemuxml2argvdata/cpu-cache-disable2.args | 3 +-
.../qemuxml2argvdata/cpu-cache-disable3.args | 6 +-
.../cpu-cache-emulate-l3.args | 3 +-
.../cpu-cache-passthrough.args | 3 +-
.../cpu-cache-passthrough2.args | 3 +-
.../cpu-check-default-none.args | 3 +-
.../cpu-check-default-none2.args | 3 +-
.../cpu-check-default-partial.args | 6 +-
.../cpu-check-default-partial2.args | 3 +-
tests/qemuxml2argvdata/cpu-check-none.args | 3 +-
tests/qemuxml2argvdata/cpu-eoi-disabled.args | 3 +-
tests/qemuxml2argvdata/cpu-eoi-enabled.args | 3 +-
tests/qemuxml2argvdata/cpu-exact1.args | 3 +-
.../cpu-exact2-nofallback.args | 6 +-
tests/qemuxml2argvdata/cpu-exact2.args | 6 +-
tests/qemuxml2argvdata/cpu-fallback.args | 3 +-
tests/qemuxml2argvdata/cpu-host-kvmclock.args | 3 +-
.../qemuxml2argvdata/cpu-host-model-cmt.args | 6 +-
.../cpu-host-model-cmt.x86_64-4.0.0.args | 11 +-
.../cpu-host-model-fallback.args | 6 +-
.../cpu-host-model-vendor.args | 6 +-
tests/qemuxml2argvdata/cpu-host-model.args | 6 +-
.../cpu-host-passthrough-features.args | 3 +-
.../cpu-host-passthrough.args | 3 +-
.../qemuxml2argvdata/cpu-hotplug-startup.args | 3 +-
tests/qemuxml2argvdata/cpu-kvmclock.args | 3 +-
tests/qemuxml2argvdata/cpu-minimum1.args | 6 +-
tests/qemuxml2argvdata/cpu-minimum2.args | 6 +-
.../cpu-no-removed-features.args | 3 +-
tests/qemuxml2argvdata/cpu-numa-disjoint.args | 3 +-
.../qemuxml2argvdata/cpu-numa-memshared.args | 11 +-
.../cpu-numa-no-memory-element.args | 3 +-
tests/qemuxml2argvdata/cpu-numa1.args | 3 +-
tests/qemuxml2argvdata/cpu-numa2.args | 3 +-
tests/qemuxml2argvdata/cpu-s390-features.args | 3 +-
tests/qemuxml2argvdata/cpu-s390-zEC12.args | 3 +-
tests/qemuxml2argvdata/cpu-strict1.args | 6 +-
tests/qemuxml2argvdata/cpu-topology1.args | 3 +-
tests/qemuxml2argvdata/cpu-topology2.args | 3 +-
tests/qemuxml2argvdata/cpu-topology3.args | 3 +-
.../cpu-translation.x86_64-4.0.0.args | 10 +-
.../cpu-translation.x86_64-latest.args | 10 +-
tests/qemuxml2argvdata/cpu-tsc-frequency.args | 7 +-
.../cpu-tsc-frequency.x86_64-4.0.0.args | 10 +-
.../cpu-tsc-high-frequency.x86_64-latest.args | 11 +-
.../cputune-cpuset-big-id.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/cputune-numatune.args | 3 +-
.../qemuxml2argvdata/cputune-zero-shares.args | 3 +-
tests/qemuxml2argvdata/cputune.args | 3 +-
tests/qemuxml2argvdata/debug-threads.args | 3 +-
.../default-kvm-host-arch.args | 3 +-
.../default-qemu-host-arch.args | 3 +-
...ult-video-type-aarch64.aarch64-latest.args | 12 +-
...default-video-type-ppc64.ppc64-latest.args | 9 +-
...ult-video-type-riscv64.riscv64-latest.args | 9 +-
...default-video-type-s390x.s390x-latest.args | 16 +-
.../devices-acpi-index.x86_64-latest.args | 36 +-
.../disk-aio-io_uring.x86_64-latest.args | 16 +-
tests/qemuxml2argvdata/disk-aio.args | 9 +-
.../disk-aio.x86_64-2.12.0.args | 15 +-
.../disk-aio.x86_64-latest.args | 24 +-
.../disk-arm-virtio-sd.aarch64-4.0.0.args | 9 +-
.../disk-arm-virtio-sd.aarch64-latest.args | 18 +-
...-backing-chains-noindex.x86_64-2.12.0.args | 45 +-
...-backing-chains-noindex.x86_64-latest.args | 196 ++----
tests/qemuxml2argvdata/disk-blockio.args | 9 +-
tests/qemuxml2argvdata/disk-boot-cdrom.args | 6 +-
tests/qemuxml2argvdata/disk-boot-disk.args | 6 +-
.../disk-cache.x86_64-1.5.3.args | 24 +-
.../disk-cache.x86_64-2.12.0.args | 36 +-
.../disk-cache.x86_64-2.6.0.args | 27 +-
.../disk-cache.x86_64-2.7.0.args | 36 +-
.../disk-cache.x86_64-latest.args | 61 +-
.../disk-cdrom-bus-other.x86_64-latest.args | 15 +-
...m-empty-network-invalid.x86_64-latest.args | 6 +-
.../qemuxml2argvdata/disk-cdrom-network.args | 12 +-
.../disk-cdrom-network.x86_64-2.12.0.args | 15 +-
.../disk-cdrom-network.x86_64-latest.args | 25 +-
tests/qemuxml2argvdata/disk-cdrom-tray.args | 12 +-
.../disk-cdrom-tray.x86_64-2.12.0.args | 15 +-
.../disk-cdrom-tray.x86_64-latest.args | 28 +-
tests/qemuxml2argvdata/disk-cdrom.args | 3 +-
.../disk-cdrom.x86_64-2.12.0.args | 9 +-
.../disk-cdrom.x86_64-latest.args | 18 +-
tests/qemuxml2argvdata/disk-copy_on_read.args | 15 +-
.../disk-copy_on_read.x86_64-2.12.0.args | 18 +-
.../disk-copy_on_read.x86_64-latest.args | 28 +-
.../qemuxml2argvdata/disk-detect-zeroes.args | 36 -
.../disk-detect-zeroes.x86_64-2.12.0.args | 15 +-
.../disk-detect-zeroes.x86_64-latest.args | 22 +-
.../disk-discard.x86_64-4.1.0.args | 15 +-
.../disk-discard.x86_64-latest.args | 22 +-
.../disk-error-policy-s390x.s390x-2.12.0.args | 24 +-
.../disk-error-policy-s390x.s390x-latest.args | 42 +-
tests/qemuxml2argvdata/disk-error-policy.args | 12 +-
.../disk-error-policy.x86_64-2.12.0.args | 24 +-
.../disk-error-policy.x86_64-latest.args | 39 +-
.../disk-floppy-q35-2_11.x86_64-2.12.0.args | 9 +-
.../disk-floppy-q35-2_11.x86_64-latest.args | 24 +-
.../disk-floppy-q35-2_9.x86_64-2.12.0.args | 9 +-
.../disk-floppy-q35-2_9.x86_64-latest.args | 24 +-
tests/qemuxml2argvdata/disk-floppy-tray.args | 3 +-
tests/qemuxml2argvdata/disk-floppy.args | 3 +-
.../disk-floppy.x86_64-2.12.0.args | 6 +-
.../disk-floppy.x86_64-latest.args | 24 +-
tests/qemuxml2argvdata/disk-fmt-qcow.args | 6 +-
tests/qemuxml2argvdata/disk-geometry.args | 6 +-
tests/qemuxml2argvdata/disk-ide-split.args | 6 +-
tests/qemuxml2argvdata/disk-ide-wwn.args | 6 +-
tests/qemuxml2argvdata/disk-ioeventfd.args | 15 +-
tests/qemuxml2argvdata/disk-iscsi.args | 7 +-
.../disk-metadata-cache.x86_64-latest.args | 36 +-
.../disk-network-gluster.args | 24 +-
.../disk-network-gluster.x86_64-2.12.0.args | 27 +-
.../disk-network-gluster.x86_64-latest.args | 38 +-
.../disk-network-http.x86_64-latest.args | 55 +-
.../disk-network-iscsi-modern.args | 57 +-
.../qemuxml2argvdata/disk-network-iscsi.args | 35 +-
.../disk-network-iscsi.x86_64-2.12.0.args | 51 +-
.../disk-network-iscsi.x86_64-latest.args | 66 +-
tests/qemuxml2argvdata/disk-network-nbd.args | 24 +-
.../disk-network-nbd.x86_64-2.12.0.args | 27 +-
.../disk-network-nbd.x86_64-latest.args | 55 +-
.../disk-network-nfs.x86_64-latest.args | 36 +-
.../disk-network-rbd.x86_64-2.12.0.args | 51 +-
.../disk-network-rbd.x86_64-2.5.0.args | 44 +-
.../disk-network-rbd.x86_64-latest.args | 76 +--
.../disk-network-sheepdog.args | 9 +-
.../disk-network-sheepdog.x86_64-2.12.0.args | 12 +-
.../disk-network-sheepdog.x86_64-latest.args | 22 +-
.../disk-network-source-auth.args | 26 +-
...isk-network-source-auth.x86_64-2.12.0.args | 42 +-
...isk-network-source-auth.x86_64-latest.args | 55 +-
...isk-network-tlsx509-nbd.x86_64-2.12.0.args | 20 +-
...disk-network-tlsx509-nbd.x86_64-5.2.0.args | 29 +-
...isk-network-tlsx509-nbd.x86_64-latest.args | 26 +-
...sk-network-tlsx509-vxhs.x86_64-2.12.0.args | 44 +-
...isk-network-tlsx509-vxhs.x86_64-5.0.0.args | 61 +-
.../disk-network-tlsx509.x86_64-2.12.0.args | 71 --
tests/qemuxml2argvdata/disk-network-vxhs.args | 10 +-
tests/qemuxml2argvdata/disk-no-boot.args | 6 +-
.../disk-nvme.x86_64-latest.args | 49 +-
tests/qemuxml2argvdata/disk-order.args | 12 +-
.../qemuxml2argvdata/disk-readonly-disk.args | 3 +-
.../disk-readonly-disk.x86_64-2.12.0.args | 6 +-
.../disk-readonly-disk.x86_64-latest.args | 18 +-
.../disk-rotation.x86_64-latest.args | 35 +-
tests/qemuxml2argvdata/disk-sata-device.args | 3 +-
.../disk-scsi-device-auto.x86_64-1.5.3.args | 3 +-
.../disk-scsi-device-auto.x86_64-latest.args | 21 +-
.../disk-scsi-disk-split.args | 21 +-
.../qemuxml2argvdata/disk-scsi-disk-vpd.args | 15 +-
.../qemuxml2argvdata/disk-scsi-disk-wwn.args | 12 +-
.../disk-scsi-lun-passthrough.args | 9 +-
.../disk-scsi.x86_64-latest.args | 58 +-
tests/qemuxml2argvdata/disk-serial.args | 9 +-
.../disk-shared.x86_64-2.12.0.args | 21 +-
.../disk-shared.x86_64-latest.args | 46 +-
.../disk-slices.x86_64-latest.args | 81 +--
tests/qemuxml2argvdata/disk-snapshot.args | 12 +-
.../disk-source-pool-mode.args | 12 +-
tests/qemuxml2argvdata/disk-source-pool.args | 18 +-
.../disk-transient.x86_64-latest.args | 17 +-
.../disk-usb-device-removable.args | 6 +-
tests/qemuxml2argvdata/disk-usb-device.args | 3 +-
.../disk-vhostuser.x86_64-latest.args | 15 +-
.../disk-virtio-ccw-many.args | 15 +-
tests/qemuxml2argvdata/disk-virtio-ccw.args | 6 +-
.../qemuxml2argvdata/disk-virtio-queues.args | 6 +-
.../disk-virtio-s390-zpci.args | 6 +-
tests/qemuxml2argvdata/disk-virtio-s390.args | 3 +-
...irtio-scsi-reservations.x86_64-2.12.0.args | 24 +-
...virtio-scsi-reservations.x86_64-5.2.0.args | 35 +-
...irtio-scsi-reservations.x86_64-latest.args | 32 +-
tests/qemuxml2argvdata/disk-virtio.args | 12 +-
.../encrypted-disk-usage.args | 17 +-
tests/qemuxml2argvdata/encrypted-disk.args | 17 +-
.../eoi-disabled.x86_64-2.7.0.args | 6 +-
.../eoi-disabled.x86_64-4.0.0.args | 6 +-
.../eoi-disabled.x86_64-latest.args | 6 +-
.../eoi-enabled.x86_64-2.7.0.args | 6 +-
.../eoi-enabled.x86_64-4.0.0.args | 6 +-
.../eoi-enabled.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/event_idx.args | 15 +-
.../fd-memory-no-numa-topology.args | 3 +-
.../fd-memory-numa-topology.args | 7 +-
.../fd-memory-numa-topology2.args | 11 +-
.../fd-memory-numa-topology3.args | 15 +-
.../fips-enabled.x86_64-5.1.0.args | 12 +-
.../fips-enabled.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/floppy-drive-fat.args | 3 +-
.../floppy-drive-fat.x86_64-2.12.0.args | 6 +-
.../floppy-drive-fat.x86_64-latest.args | 12 +-
tests/qemuxml2argvdata/fs9p-ccw.args | 18 +-
.../fs9p-ccw.s390x-latest.args | 30 +-
tests/qemuxml2argvdata/fs9p.args | 15 +-
.../qemuxml2argvdata/fs9p.x86_64-latest.args | 18 +-
.../genid-auto.x86_64-latest.args | 6 +-
.../qemuxml2argvdata/genid.x86_64-latest.args | 6 +-
...egl-headless-rendernode.x86_64-latest.args | 12 +-
.../graphics-egl-headless.args | 3 +-
.../graphics-egl-headless.x86_64-latest.args | 12 +-
.../graphics-sdl-fullscreen.args | 3 +-
tests/qemuxml2argvdata/graphics-sdl.args | 3 +-
.../graphics-spice-agent-file-xfer.args | 7 +-
.../graphics-spice-agentmouse.args | 9 +-
.../graphics-spice-auto-socket-cfg.args | 6 +-
.../graphics-spice-auto-socket.args | 6 +-
.../graphics-spice-compression.args | 8 +-
.../graphics-spice-egl-headless.args | 3 +-
...pice-gl-auto-rendernode.x86_64-latest.args | 6 +-
.../graphics-spice-no-args.args | 3 +-
.../graphics-spice-qxl-vga.args | 6 +-
.../qemuxml2argvdata/graphics-spice-sasl.args | 6 +-
.../graphics-spice-socket.args | 3 +-
.../graphics-spice-timeout.args | 18 +-
.../graphics-spice-usb-redir.args | 12 +-
tests/qemuxml2argvdata/graphics-spice.args | 9 +-
.../graphics-vnc-auto-socket-cfg.args | 3 +-
.../graphics-vnc-auto-socket.args | 3 +-
.../graphics-vnc-egl-headless.args | 3 +-
.../graphics-vnc-no-listen-attr.args | 3 +-
tests/qemuxml2argvdata/graphics-vnc-none.args | 3 +-
.../qemuxml2argvdata/graphics-vnc-policy.args | 3 +-
.../graphics-vnc-power.x86_64-latest.args | 12 +-
.../graphics-vnc-remove-generated-socket.args | 3 +-
tests/qemuxml2argvdata/graphics-vnc-sasl.args | 3 +-
.../graphics-vnc-socket-new-cmdline.args | 3 +-
.../qemuxml2argvdata/graphics-vnc-socket.args | 3 +-
.../graphics-vnc-tls-secret.x86_64-5.2.0.args | 16 +-
...graphics-vnc-tls-secret.x86_64-latest.args | 14 +-
tests/qemuxml2argvdata/graphics-vnc-tls.args | 3 +-
.../graphics-vnc-tls.x86_64-2.4.0.args | 3 +-
.../graphics-vnc-tls.x86_64-latest.args | 9 +-
.../graphics-vnc-websocket.args | 3 +-
tests/qemuxml2argvdata/graphics-vnc.args | 3 +-
...tdev-mdev-display-ramfb.x86_64-latest.args | 13 +-
...play-spice-egl-headless.x86_64-latest.args | 13 +-
...ev-display-spice-opengl.x86_64-latest.args | 13 +-
...isplay-vnc-egl-headless.x86_64-latest.args | 13 +-
...ostdev-mdev-display-vnc.x86_64-latest.args | 13 +-
.../hostdev-mdev-precreated.args | 7 +-
.../hostdev-pci-address-device.args | 3 +-
.../hostdev-pci-address-unassigned.args | 3 +-
.../qemuxml2argvdata/hostdev-pci-address.args | 3 +-
.../hostdev-pci-multifunction.args | 3 +-
tests/qemuxml2argvdata/hostdev-scsi-boot.xml | 34 -
.../hostdev-scsi-lsi.x86_64-2.8.0.args | 18 +-
.../hostdev-scsi-lsi.x86_64-4.1.0.args | 32 +-
.../hostdev-scsi-lsi.x86_64-latest.args | 44 +-
.../hostdev-scsi-vhost-scsi-ccw.args | 9 +-
.../hostdev-scsi-vhost-scsi-pci.args | 6 +-
.../hostdev-scsi-vhost-scsi-pcie.args | 9 +-
...hostdev-scsi-virtio-scsi.x86_64-2.8.0.args | 43 +-
...hostdev-scsi-virtio-scsi.x86_64-4.1.0.args | 58 +-
...ostdev-scsi-virtio-scsi.x86_64-latest.args | 69 +-
...tdev-subsys-mdev-vfio-ap.s390x-latest.args | 12 +-
...ubsys-mdev-vfio-ccw-boot.s390x-latest.args | 13 +-
.../hostdev-subsys-mdev-vfio-ccw.args | 7 +-
.../hostdev-usb-address-device-boot.args | 6 +-
.../hostdev-usb-address-device.args | 3 +-
.../qemuxml2argvdata/hostdev-usb-address.args | 3 +-
.../hostdev-vfio-multidomain.args | 3 +-
.../hostdev-vfio-zpci-autogenerate-fids.args | 3 +-
.../hostdev-vfio-zpci-autogenerate-uids.args | 3 +-
.../hostdev-vfio-zpci-autogenerate.args | 3 +-
.../hostdev-vfio-zpci-boundaries.args | 3 +-
.../hostdev-vfio-zpci-ccw-memballoon.args | 3 +-
.../hostdev-vfio-zpci-multidomain-many.args | 3 +-
tests/qemuxml2argvdata/hostdev-vfio-zpci.args | 3 +-
tests/qemuxml2argvdata/hostdev-vfio.args | 3 +-
tests/qemuxml2argvdata/hotplug-base.args | 3 +-
.../hugepages-default-2M.args | 3 +-
.../hugepages-default-system-size.args | 3 +-
tests/qemuxml2argvdata/hugepages-default.args | 3 +-
.../qemuxml2argvdata/hugepages-memaccess.args | 23 +-
.../hugepages-memaccess2.args | 23 +-
.../hugepages-memaccess3.x86_64-latest.args | 18 +-
tests/qemuxml2argvdata/hugepages-nodeset.args | 3 +-
.../hugepages-numa-default-2M.args | 3 +-
.../hugepages-numa-default-dimm.args | 7 +-
.../hugepages-numa-default.args | 3 +-
.../hugepages-numa-nodeset-part.args | 7 +-
.../hugepages-numa-nodeset.args | 19 +-
.../hugepages-nvdimm.x86_64-latest.args | 13 +-
tests/qemuxml2argvdata/hugepages-shared.args | 19 +-
.../hyperv-off.x86_64-4.0.0.args | 6 +-
.../hyperv-off.x86_64-latest.args | 6 +-
.../hyperv-panic.x86_64-4.0.0.args | 6 +-
.../hyperv-panic.x86_64-latest.args | 6 +-
.../hyperv-stimer-direct.x86_64-latest.args | 6 +-
.../qemuxml2argvdata/hyperv.x86_64-4.0.0.args | 10 +-
.../hyperv.x86_64-latest.args | 10 +-
.../qemuxml2argvdata/input-usbmouse-addr.args | 3 +-
tests/qemuxml2argvdata/input-usbmouse.args | 3 +-
tests/qemuxml2argvdata/input-usbtablet.args | 3 +-
tests/qemuxml2argvdata/input-virtio-ccw.args | 6 +-
.../intel-iommu-aw-bits.x86_64-latest.args | 9 +-
...ntel-iommu-caching-mode.x86_64-latest.args | 9 +-
...ntel-iommu-device-iotlb.x86_64-latest.args | 9 +-
.../intel-iommu-eim.x86_64-latest.args | 9 +-
.../intel-iommu.x86_64-2.6.0.args | 6 +-
.../intel-iommu.x86_64-latest.args | 6 +-
.../iommu-smmuv3.aarch64-latest.args | 9 +-
.../iothreads-disk-virtio-ccw.args | 9 +-
tests/qemuxml2argvdata/iothreads-disk.args | 15 +-
.../iothreads-ids-partial.args | 3 +-
tests/qemuxml2argvdata/iothreads-ids.args | 3 +-
...othreads-virtio-scsi-ccw.s390x-latest.args | 27 +-
...othreads-virtio-scsi-pci.x86_64-5.2.0.args | 35 +-
...threads-virtio-scsi-pci.x86_64-latest.args | 32 +-
tests/qemuxml2argvdata/iothreads.args | 3 +-
tests/qemuxml2argvdata/kvm-features-off.args | 3 +-
tests/qemuxml2argvdata/kvm-features.args | 3 +-
tests/qemuxml2argvdata/kvm-pit-delay.args | 3 +-
tests/qemuxml2argvdata/kvm-pit-discard.args | 3 +-
.../kvmclock+eoi-disabled.x86_64-2.7.0.args | 6 +-
.../kvmclock+eoi-disabled.x86_64-4.0.0.args | 6 +-
.../kvmclock+eoi-disabled.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/kvmclock.args | 3 +-
...v-missing-platform-info.x86_64-2.12.0.args | 10 +-
.../launch-security-sev.x86_64-2.12.0.args | 10 +-
.../luks-disks-source-qcow2.args | 74 +-
.../luks-disks-source-qcow2.x86_64-5.2.0.args | 113 +---
...luks-disks-source-qcow2.x86_64-latest.args | 110 +--
tests/qemuxml2argvdata/luks-disks-source.args | 63 +-
tests/qemuxml2argvdata/luks-disks.args | 28 +-
.../mach-virt-console-virtio.args | 3 +-
.../mach-virt-serial-native.args | 3 +-
.../mach-virt-serial-pci.args | 3 +-
.../mach-virt-serial-usb.args | 6 +-
.../machine-aeskeywrap-off-cap.args | 9 +-
.../machine-aeskeywrap-off-caps.args | 9 +-
.../machine-aeskeywrap-on-cap.args | 6 +-
.../machine-aeskeywrap-on-caps.args | 6 +-
tests/qemuxml2argvdata/machine-aliases1.args | 3 +-
tests/qemuxml2argvdata/machine-aliases2.args | 3 +-
tests/qemuxml2argvdata/machine-core-off.args | 3 +-
tests/qemuxml2argvdata/machine-core-on.args | 3 +-
.../machine-deakeywrap-off-cap.args | 9 +-
.../machine-deakeywrap-off-caps.args | 9 +-
.../machine-deakeywrap-on-cap.args | 6 +-
.../machine-deakeywrap-on-caps.args | 6 +-
.../machine-keywrap-none-caps.args | 6 +-
.../machine-keywrap-none.args | 6 +-
...ine-loadparm-multiple-disks-nets-s390.args | 18 +-
.../machine-loadparm-net-s390.args | 6 +-
.../machine-loadparm-s390.args | 6 +-
tests/qemuxml2argvdata/machine-smm-opt.args | 6 +-
.../qemuxml2argvdata/machine-vmport-opt.args | 3 +-
tests/qemuxml2argvdata/master-key.args | 6 +-
...memory-default-hugepage.x86_64-latest.args | 10 +-
.../memfd-memory-numa.x86_64-latest.args | 10 +-
.../memory-hotplug-dimm-addr.args | 7 +-
.../qemuxml2argvdata/memory-hotplug-dimm.args | 7 +-
...y-hotplug-nvdimm-access.x86_64-latest.args | 15 +-
...ory-hotplug-nvdimm-align.x86_64-5.2.0.args | 15 +-
...ry-hotplug-nvdimm-align.x86_64-latest.args | 16 +-
...ory-hotplug-nvdimm-label.x86_64-5.2.0.args | 15 +-
...ry-hotplug-nvdimm-label.x86_64-latest.args | 15 +-
...mory-hotplug-nvdimm-pmem.x86_64-5.2.0.args | 15 +-
...ory-hotplug-nvdimm-pmem.x86_64-latest.args | 15 +-
...emory-hotplug-nvdimm-ppc64-abi-update.args | 9 +-
.../memory-hotplug-nvdimm-ppc64.args | 9 +-
...-hotplug-nvdimm-readonly.x86_64-5.2.0.args | 15 +-
...hotplug-nvdimm-readonly.x86_64-latest.args | 15 +-
.../memory-hotplug-nvdimm.x86_64-latest.args | 15 +-
...emory-hotplug-ppc64-nonuma-abi-update.args | 3 +-
.../memory-hotplug-ppc64-nonuma.args | 3 +-
...mory-hotplug-virtio-pmem.x86_64-5.2.0.args | 18 +-
...ory-hotplug-virtio-pmem.x86_64-latest.args | 18 +-
tests/qemuxml2argvdata/memory-hotplug.args | 3 +-
tests/qemuxml2argvdata/memtune-unlimited.args | 3 +-
tests/qemuxml2argvdata/memtune.args | 3 +-
.../migrate-numa-unaligned.args | 12 +-
tests/qemuxml2argvdata/migrate.args | 3 +-
.../minimal-msg-timestamp.args | 3 +-
tests/qemuxml2argvdata/minimal-sandbox.args | 6 +-
tests/qemuxml2argvdata/minimal.args | 3 +-
tests/qemuxml2argvdata/misc-acpi.args | 3 +-
tests/qemuxml2argvdata/misc-disable-s3.args | 3 +-
.../misc-disable-suspends.args | 3 +-
tests/qemuxml2argvdata/misc-enable-s4.args | 3 +-
tests/qemuxml2argvdata/misc-no-reboot.args | 3 +-
tests/qemuxml2argvdata/misc-uuid.args | 3 +-
.../mlock-off.x86_64-3.0.0.args | 6 +-
.../mlock-off.x86_64-latest.args | 6 +-
.../mlock-on.x86_64-3.0.0.args | 6 +-
.../mlock-on.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/monitor-json.args | 3 +-
.../multifunction-pci-device.args | 6 +-
tests/qemuxml2argvdata/name-escape.args | 23 +-
tests/qemuxml2argvdata/net-client.args | 6 +-
tests/qemuxml2argvdata/net-eth-hostip.args | 6 +-
tests/qemuxml2argvdata/net-eth-ifname.args | 6 +-
tests/qemuxml2argvdata/net-eth-names.args | 6 +-
.../net-eth-unmanaged-tap.args | 6 +-
tests/qemuxml2argvdata/net-eth.args | 6 +-
.../net-hostdev-bootorder.args | 3 +-
.../net-hostdev-multidomain.args | 3 +-
.../net-hostdev-vfio-multidomain.args | 3 +-
tests/qemuxml2argvdata/net-hostdev-vfio.args | 3 +-
tests/qemuxml2argvdata/net-hostdev.args | 3 +-
tests/qemuxml2argvdata/net-many-models.args | 18 +-
tests/qemuxml2argvdata/net-mcast.args | 6 +-
tests/qemuxml2argvdata/net-server.args | 6 +-
tests/qemuxml2argvdata/net-udp.args | 6 +-
tests/qemuxml2argvdata/net-user-addr.args | 9 +-
tests/qemuxml2argvdata/net-user.args | 6 +-
.../net-user.x86_64-4.0.0.args | 9 +-
.../net-vdpa.x86_64-latest.args | 9 +-
.../net-vhostuser-multiq.args | 18 +-
tests/qemuxml2argvdata/net-vhostuser.args | 9 +-
.../net-vhostuser.x86_64-2.5.0.args | 12 +-
.../net-vhostuser.x86_64-latest.args | 15 +-
tests/qemuxml2argvdata/net-virtio-ccw.args | 9 +-
tests/qemuxml2argvdata/net-virtio-device.args | 6 +-
.../net-virtio-disable-offloads.args | 8 +-
tests/qemuxml2argvdata/net-virtio-netdev.args | 6 +-
.../net-virtio-rxtxqueuesize.args | 6 +-
tests/qemuxml2argvdata/net-virtio-s390.args | 3 +-
.../net-virtio-teaming-hostdev.args | 15 +-
.../qemuxml2argvdata/net-virtio-teaming.args | 15 +-
tests/qemuxml2argvdata/net-virtio.args | 6 +-
tests/qemuxml2argvdata/nosharepages.args | 3 +-
.../numad-auto-memory-vcpu-cpuset.args | 3 +-
...o-memory-vcpu-no-cpuset-and-placement.args | 3 +-
.../numad-auto-vcpu-static-numatune.args | 3 +-
.../numad-static-memory-auto-vcpu.args | 3 +-
tests/qemuxml2argvdata/numad.args | 3 +-
.../numatune-auto-nodeset-invalid.args | 3 +-
.../numatune-auto-prefer.args | 3 +-
.../qemuxml2argvdata/numatune-distances.args | 3 +-
.../numatune-hmat.x86_64-latest.args | 18 +-
.../numatune-memnode-no-memory.args | 6 +-
tests/qemuxml2argvdata/numatune-memnode.args | 12 +-
.../numatune-memnode.x86_64-5.2.0.args | 15 +-
.../numatune-memnode.x86_64-latest.args | 15 +-
tests/qemuxml2argvdata/numatune-memory.args | 3 +-
tests/qemuxml2argvdata/numatune-no-vcpu.args | 3 +-
.../os-firmware-bios.x86_64-latest.args | 12 +-
...re-efi-no-enrolled-keys.x86_64-latest.args | 28 +-
...os-firmware-efi-secboot.x86_64-latest.args | 28 +-
.../os-firmware-efi.x86_64-latest.args | 28 +-
.../qemuxml2argvdata/pages-dimm-discard.args | 11 +-
.../pages-discard-hugepages.args | 3 +-
tests/qemuxml2argvdata/pages-discard.args | 3 +-
tests/qemuxml2argvdata/panic-double.args | 3 +-
tests/qemuxml2argvdata/panic-no-address.args | 3 +-
tests/qemuxml2argvdata/panic.args | 3 +-
.../parallel-parport-chardev.args | 3 +-
.../parallel-tcp-chardev.args | 3 +-
.../parallel-unix-chardev.x86_64-2.5.0.args | 3 +-
.../parallel-unix-chardev.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/pci-autoadd-addr.args | 6 +-
tests/qemuxml2argvdata/pci-autoadd-idx.args | 6 +-
tests/qemuxml2argvdata/pci-autofill-addr.args | 9 +-
.../pci-bridge-many-disks.args | 633 ++++++------------
tests/qemuxml2argvdata/pci-bridge.args | 75 +--
tests/qemuxml2argvdata/pci-expander-bus.args | 72 +-
tests/qemuxml2argvdata/pci-many.args | 174 ++---
tests/qemuxml2argvdata/pci-rom-disabled.args | 6 +-
tests/qemuxml2argvdata/pci-rom.args | 12 +-
.../pci-serial-dev-chardev.args | 3 +-
tests/qemuxml2argvdata/pcie-expander-bus.args | 84 +--
.../pcie-root-port-model-generic.args | 6 +-
.../pcie-root-port-model-ioh3420.args | 6 +-
...cie-root-port-nohotplug.x86_64-latest.args | 21 +-
tests/qemuxml2argvdata/pcie-root-port.args | 9 +-
tests/qemuxml2argvdata/pcie-root.args | 3 +-
.../pcie-switch-downstream-port.args | 6 +-
.../pcie-switch-upstream-port.args | 9 +-
tests/qemuxml2argvdata/pcihole64-q35.args | 6 +-
tests/qemuxml2argvdata/pcihole64.args | 3 +-
tests/qemuxml2argvdata/pmu-feature-off.args | 3 +-
tests/qemuxml2argvdata/pmu-feature.args | 3 +-
tests/qemuxml2argvdata/ppc-dtb.args | 3 +-
...ault-cpu-kvm-pseries-2.7.ppc64-latest.args | 18 +-
...ault-cpu-kvm-pseries-3.1.ppc64-latest.args | 18 +-
...ault-cpu-kvm-pseries-4.2.ppc64-latest.args | 18 +-
...ault-cpu-tcg-pseries-2.7.ppc64-latest.args | 18 +-
...ault-cpu-tcg-pseries-3.1.ppc64-latest.args | 18 +-
...ault-cpu-tcg-pseries-4.2.ppc64-latest.args | 18 +-
.../ppc64-pseries-graphics.ppc64-latest.args | 24 +-
.../ppc64-pseries-headless.ppc64-latest.args | 24 +-
.../ppc64-tpmproxy-single.ppc64-latest.args | 9 +-
.../ppc64-tpmproxy-with-tpm.ppc64-latest.args | 9 +-
.../ppc64-usb-controller-legacy.args | 3 +-
.../ppc64-usb-controller-qemu-xhci.args | 3 +-
.../ppc64-usb-controller.args | 3 +-
tests/qemuxml2argvdata/ppce500-serial.args | 3 +-
tests/qemuxml2argvdata/pseries-basic.args | 3 +-
.../pseries-console-virtio.args | 3 +-
.../pseries-cpu-compat-power9.args | 3 +-
.../qemuxml2argvdata/pseries-cpu-compat.args | 3 +-
tests/qemuxml2argvdata/pseries-cpu-exact.args | 3 +-
tests/qemuxml2argvdata/pseries-cpu-le.args | 3 +-
tests/qemuxml2argvdata/pseries-features.args | 7 +-
.../qemuxml2argvdata/pseries-hostdevs-1.args | 3 +-
.../qemuxml2argvdata/pseries-hostdevs-2.args | 3 +-
.../qemuxml2argvdata/pseries-hostdevs-3.args | 3 +-
.../pseries-machine-max-cpu-compat.args | 3 +-
.../pseries-many-buses-1.args | 3 +-
.../pseries-many-buses-2.args | 3 +-
.../pseries-many-devices.args | 3 +-
tests/qemuxml2argvdata/pseries-nvram.args | 3 +-
.../pseries-panic-missing.args | 3 +-
.../pseries-panic-no-address.args | 3 +-
.../pseries-phb-default-missing.args | 3 +-
.../pseries-phb-numa-node.args | 9 +-
.../qemuxml2argvdata/pseries-phb-simple.args | 3 +-
.../pseries-serial-native.args | 3 +-
.../qemuxml2argvdata/pseries-serial-pci.args | 3 +-
.../qemuxml2argvdata/pseries-serial-usb.args | 3 +-
.../qemuxml2argvdata/pseries-usb-default.args | 3 +-
tests/qemuxml2argvdata/pseries-usb-kbd.args | 3 +-
tests/qemuxml2argvdata/pseries-usb-multi.args | 3 +-
.../pseries-vio-user-assigned.args | 6 +-
tests/qemuxml2argvdata/pseries-vio.args | 6 +-
.../pv-spinlock-disabled.x86_64-2.7.0.args | 6 +-
.../pv-spinlock-disabled.x86_64-4.0.0.args | 6 +-
.../pv-spinlock-disabled.x86_64-latest.args | 6 +-
.../pv-spinlock-enabled.x86_64-2.7.0.args | 6 +-
.../pv-spinlock-enabled.x86_64-4.0.0.args | 6 +-
.../pv-spinlock-enabled.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/q35-acpi-nouefi.args | 3 +-
tests/qemuxml2argvdata/q35-acpi-uefi.args | 9 +-
.../q35-default-devices-only.args | 6 +-
tests/qemuxml2argvdata/q35-multifunction.args | 18 +-
tests/qemuxml2argvdata/q35-noacpi-nouefi.args | 3 +-
.../q35-pci-force-address.args | 6 +-
tests/qemuxml2argvdata/q35-pcie-autoadd.args | 27 +-
tests/qemuxml2argvdata/q35-pcie.args | 27 +-
.../q35-pm-disable-fallback.args | 3 +-
tests/qemuxml2argvdata/q35-pm-disable.args | 3 +-
tests/qemuxml2argvdata/q35-usb2-multi.args | 15 +-
tests/qemuxml2argvdata/q35-usb2-reorder.args | 15 +-
tests/qemuxml2argvdata/q35-usb2.args | 9 +-
.../q35-virt-manager-basic.args | 31 +-
tests/qemuxml2argvdata/q35-virtio-pci.args | 27 +-
tests/qemuxml2argvdata/q35.args | 9 +-
tests/qemuxml2argvdata/qemu-ns-alt.args | 3 +-
.../qemu-ns-commandline-ns0.args | 6 +-
.../qemu-ns-commandline-ns1.args | 6 +-
.../qemuxml2argvdata/qemu-ns-commandline.args | 6 +-
.../qemu-ns-domain-commandline-ns0.args | 6 +-
.../qemu-ns-domain-commandline.args | 6 +-
.../qemuxml2argvdata/qemu-ns-domain-ns0.args | 6 +-
tests/qemuxml2argvdata/qemu-ns-no-env.args | 3 +-
.../qemu-ns.x86_64-4.0.0.args | 12 +-
.../qemu-ns.x86_64-latest.args | 12 +-
.../reboot-timeout-disabled.args | 3 +-
.../reboot-timeout-enabled.args | 3 +-
tests/qemuxml2argvdata/restore-v2-fd.args | 3 +-
tests/qemuxml2argvdata/restore-v2.args | 3 +-
.../riscv64-virt-graphics.riscv64-latest.args | 24 +-
.../riscv64-virt-headless.riscv64-latest.args | 24 +-
tests/qemuxml2argvdata/riscv64-virt-pci.args | 9 +-
tests/qemuxml2argvdata/riscv64-virt.args | 6 +-
.../s390-allow-bogus-usb-controller.args | 3 +-
.../s390-allow-bogus-usb-none.args | 3 +-
...t-cpu-kvm-ccw-virtio-2.7.s390x-latest.args | 9 +-
...t-cpu-kvm-ccw-virtio-4.2.s390x-latest.args | 16 +-
...t-cpu-tcg-ccw-virtio-2.7.s390x-latest.args | 9 +-
...t-cpu-tcg-ccw-virtio-4.2.s390x-latest.args | 9 +-
.../qemuxml2argvdata/s390-panic-missing.args | 3 +-
.../s390-panic-no-address.args | 3 +-
tests/qemuxml2argvdata/s390-serial-2.args | 3 +-
.../qemuxml2argvdata/s390-serial-console.args | 3 +-
tests/qemuxml2argvdata/s390-serial.args | 3 +-
.../s390x-ccw-graphics.s390x-latest.args | 24 +-
.../s390x-ccw-headless.s390x-latest.args | 24 +-
tests/qemuxml2argvdata/seclabel-dac-none.args | 3 +-
.../seclabel-dynamic-baselabel.args | 3 +-
.../seclabel-dynamic-labelskip.args | 3 +-
.../seclabel-dynamic-override.args | 3 +-
.../seclabel-dynamic-relabel.args | 3 +-
tests/qemuxml2argvdata/seclabel-dynamic.args | 3 +-
tests/qemuxml2argvdata/seclabel-none.args | 3 +-
.../seclabel-static-labelskip.args | 3 +-
.../seclabel-static-relabel.args | 3 +-
tests/qemuxml2argvdata/seclabel-static.args | 3 +-
.../serial-dev-chardev-iobase.args | 3 +-
.../qemuxml2argvdata/serial-dev-chardev.args | 3 +-
.../qemuxml2argvdata/serial-file-chardev.args | 3 +-
tests/qemuxml2argvdata/serial-file-log.args | 6 +-
.../qemuxml2argvdata/serial-many-chardev.args | 3 +-
.../qemuxml2argvdata/serial-pty-chardev.args | 3 +-
.../serial-spiceport-nospice.args | 3 +-
tests/qemuxml2argvdata/serial-spiceport.args | 9 +-
.../qemuxml2argvdata/serial-tcp-chardev.args | 3 +-
.../serial-tcp-telnet-chardev.args | 6 +-
.../serial-tcp-tlsx509-chardev-notls.args | 6 +-
.../serial-tcp-tlsx509-chardev-verify.args | 12 +-
.../serial-tcp-tlsx509-chardev.args | 12 +-
.../serial-tcp-tlsx509-secret-chardev.args | 19 +-
.../qemuxml2argvdata/serial-udp-chardev.args | 6 +-
.../qemuxml2argvdata/serial-unix-chardev.args | 3 +-
.../serial-unix-chardev.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/serial-vc-chardev.args | 3 +-
.../shmem-plain-doorbell.args | 33 +-
tests/qemuxml2argvdata/shmem.args | 12 +-
.../smartcard-controller.args | 3 +-
.../smartcard-host-certificates-database.args | 6 +-
.../smartcard-host-certificates.args | 6 +-
tests/qemuxml2argvdata/smartcard-host.args | 3 +-
.../smartcard-passthrough-spicevmc.args | 3 +-
.../smartcard-passthrough-tcp.args | 3 +-
...artcard-passthrough-unix.x86_64-2.5.0.args | 3 +-
...rtcard-passthrough-unix.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/smbios-type-fwcfg.args | 10 +-
tests/qemuxml2argvdata/smbios.args | 16 +-
tests/qemuxml2argvdata/smp-dies.args | 3 +-
tests/qemuxml2argvdata/smp.args | 3 +-
tests/qemuxml2argvdata/sound-device.args | 3 +-
tests/qemuxml2argvdata/sound.args | 3 +-
tests/qemuxml2argvdata/sparc-minimal.args | 12 +-
.../tpm-emulator-spapr.ppc64-latest.args | 18 +-
.../tpm-emulator-tpm2-enc.x86_64-latest.args | 9 +-
...pm-emulator-tpm2-pstate.x86_64-latest.args | 9 +-
.../tpm-emulator-tpm2.x86_64-latest.args | 9 +-
.../tpm-emulator.x86_64-latest.args | 9 +-
.../tpm-passthrough-crb.x86_64-latest.args | 9 +-
.../tpm-passthrough.x86_64-latest.args | 9 +-
.../tseg-explicit-size.x86_64-latest.args | 12 +-
.../usb-controller-default-q35.args | 3 +-
.../usb-controller-explicit-q35.args | 3 +-
.../usb-controller-qemu-xhci.args | 3 +-
.../qemuxml2argvdata/usb-controller-xhci.args | 3 +-
tests/qemuxml2argvdata/usb-controller.args | 3 +-
.../usb-hub-autoadd-deluxe.args | 3 +-
tests/qemuxml2argvdata/usb-hub-autoadd.args | 3 +-
tests/qemuxml2argvdata/usb-hub.args | 3 +-
.../qemuxml2argvdata/usb-ich9-autoassign.args | 6 +-
.../qemuxml2argvdata/usb-ich9-companion.args | 6 +-
.../qemuxml2argvdata/usb-ich9-ehci-addr.args | 12 +-
.../qemuxml2argvdata/usb-long-port-path.args | 3 +-
tests/qemuxml2argvdata/usb-none.args | 3 +-
.../usb-piix3-controller.args | 3 +-
.../qemuxml2argvdata/usb-port-autoassign.args | 3 +-
tests/qemuxml2argvdata/usb-port-missing.args | 3 +-
tests/qemuxml2argvdata/usb-ports.args | 3 +-
tests/qemuxml2argvdata/usb-redir-boot.args | 6 +-
.../usb-redir-filter-version.args | 11 +-
tests/qemuxml2argvdata/usb-redir-filter.args | 12 +-
.../usb-redir-unix.x86_64-2.5.0.args | 6 +-
.../usb-redir-unix.x86_64-latest.args | 9 +-
tests/qemuxml2argvdata/usb-redir.args | 6 +-
.../qemuxml2argvdata/usb-xhci-autoassign.args | 3 +-
tests/qemuxml2argvdata/usb1-usb2.args | 9 +-
tests/qemuxml2argvdata/user-aliases-usb.args | 21 +-
tests/qemuxml2argvdata/user-aliases.args | 60 +-
.../vcpu-placement-static.args | 3 +-
...vhost-user-fs-fd-memory.x86_64-latest.args | 13 +-
...vhost-user-fs-hugepages.x86_64-latest.args | 25 +-
...host-user-gpu-secondary.x86_64-latest.args | 21 +-
.../vhost-user-vga.x86_64-latest.args | 18 +-
.../vhost-vsock-auto.x86_64-latest.args | 9 +-
.../vhost-vsock-ccw-auto.s390x-latest.args | 18 +-
.../vhost-vsock-ccw-iommu.s390x-latest.args | 21 +-
.../vhost-vsock-ccw.s390x-latest.args | 18 +-
.../vhost-vsock.x86_64-latest.args | 6 +-
...eo-bochs-display-device.x86_64-latest.args | 17 +-
.../video-device-pciaddr-default.args | 9 +-
tests/qemuxml2argvdata/video-invalid.xml | 30 -
tests/qemuxml2argvdata/video-none-device.args | 3 +-
.../video-qxl-device-vgamem.args | 9 +-
...video-qxl-device-vram64.x86_64-latest.args | 9 +-
tests/qemuxml2argvdata/video-qxl-device.args | 9 +-
tests/qemuxml2argvdata/video-qxl-heads.args | 12 +-
.../qemuxml2argvdata/video-qxl-nodevice.args | 6 +-
tests/qemuxml2argvdata/video-qxl-noheads.args | 6 +-
.../video-qxl-resolution.args | 6 +-
.../video-qxl-sec-device-vgamem.args | 12 +-
...o-qxl-sec-device-vram64.x86_64-latest.args | 12 +-
.../video-qxl-sec-device.args | 9 +-
...eo-ramfb-display-device.x86_64-latest.args | 17 +-
.../video-vga-device-vgamem.args | 6 +-
tests/qemuxml2argvdata/video-vga-device.args | 6 +-
.../qemuxml2argvdata/video-vga-nodevice.args | 6 +-
.../qemuxml2argvdata/video-vga-qxl-heads.args | 9 +-
.../video-virtio-gpu-ccw.args | 6 +-
.../video-virtio-gpu-device.args | 6 +-
.../video-virtio-gpu-sdl-gl.args | 6 +-
.../video-virtio-gpu-secondary.args | 3 +-
.../video-virtio-gpu-spice-gl.args | 6 +-
.../video-virtio-gpu-virgl.args | 6 +-
tests/qemuxml2argvdata/video-virtio-vga.args | 6 +-
.../virtio-9p-createmode.x86_64-latest.args | 9 +-
.../virtio-9p-multidevs.x86_64-latest.args | 15 +-
.../virtio-input-passthrough.args | 6 +-
tests/qemuxml2argvdata/virtio-input.args | 3 +-
tests/qemuxml2argvdata/virtio-lun.args | 12 +-
.../virtio-non-transitional.x86_64-3.1.0.args | 42 +-
...virtio-non-transitional.x86_64-latest.args | 39 +-
...-options-controller-ats.x86_64-latest.args | 6 +-
...ptions-controller-iommu.x86_64-latest.args | 12 +-
...tions-controller-packed.x86_64-latest.args | 6 +-
...virtio-options-disk-ats.x86_64-latest.args | 24 +-
...rtio-options-disk-iommu.x86_64-latest.args | 24 +-
...tio-options-disk-packed.x86_64-latest.args | 24 +-
.../virtio-options-fs-ats.x86_64-latest.args | 12 +-
...virtio-options-fs-iommu.x86_64-latest.args | 12 +-
...irtio-options-fs-packed.x86_64-latest.args | 12 +-
...irtio-options-input-ats.x86_64-latest.args | 6 +-
...tio-options-input-iommu.x86_64-latest.args | 6 +-
...io-options-input-packed.x86_64-latest.args | 6 +-
...-options-memballoon-ats.x86_64-latest.args | 6 +-
...loon-freepage-reporting.x86_64-latest.args | 9 +-
...ptions-memballoon-iommu.x86_64-latest.args | 6 +-
...tions-memballoon-packed.x86_64-latest.args | 6 +-
.../virtio-options-net-ats.x86_64-latest.args | 12 +-
...irtio-options-net-iommu.x86_64-latest.args | 12 +-
...rtio-options-net-packed.x86_64-latest.args | 12 +-
.../virtio-options-rng-ats.x86_64-latest.args | 6 +-
...irtio-options-rng-iommu.x86_64-latest.args | 12 +-
...rtio-options-rng-packed.x86_64-latest.args | 6 +-
...irtio-options-video-ats.x86_64-latest.args | 12 +-
...tio-options-video-iommu.x86_64-latest.args | 12 +-
...io-options-video-packed.x86_64-latest.args | 12 +-
.../virtio-options.x86_64-latest.args | 54 +-
.../virtio-rng-builtin.x86_64-5.2.0.args | 9 +-
.../virtio-rng-builtin.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/virtio-rng-ccw.args | 6 +-
.../qemuxml2argvdata/virtio-rng-default.args | 3 +-
.../virtio-rng-egd-unix.x86_64-2.5.0.args | 3 +-
.../virtio-rng-egd-unix.x86_64-5.2.0.args | 9 +-
.../virtio-rng-egd-unix.x86_64-latest.args | 6 +-
tests/qemuxml2argvdata/virtio-rng-egd.args | 3 +-
.../qemuxml2argvdata/virtio-rng-multiple.args | 3 +-
tests/qemuxml2argvdata/virtio-rng-random.args | 6 +-
.../virtio-transitional.x86_64-3.1.0.args | 39 +-
.../virtio-transitional.x86_64-latest.args | 33 +-
tests/qemuxml2argvdata/vmcoreinfo.args | 3 +-
tests/qemuxml2argvdata/watchdog-device.args | 3 +-
tests/qemuxml2argvdata/watchdog-diag288.args | 3 +-
tests/qemuxml2argvdata/watchdog-dump.args | 3 +-
.../qemuxml2argvdata/watchdog-injectnmi.args | 3 +-
tests/qemuxml2argvdata/watchdog.args | 3 +-
tests/qemuxml2argvdata/x86-kvm-32-on-64.args | 3 +-
...-default-cpu-kvm-pc-4.2.x86_64-latest.args | 18 +-
...default-cpu-kvm-q35-4.2.x86_64-latest.args | 21 +-
...-default-cpu-tcg-pc-4.2.x86_64-latest.args | 18 +-
...default-cpu-tcg-q35-4.2.x86_64-latest.args | 21 +-
.../x86_64-pc-graphics.x86_64-latest.args | 24 +-
.../x86_64-pc-headless.x86_64-latest.args | 21 +-
.../x86_64-q35-graphics.x86_64-latest.args | 27 +-
.../x86_64-q35-headless.x86_64-latest.args | 24 +-
tests/qemuxml2argvtest.c | 4 +-
.../audio-default-nographics.xml | 1 -
.../qemuxml2xmloutdata/audio-default-sdl.xml | 1 -
.../audio-default-spice.xml | 1 -
.../qemuxml2xmloutdata/audio-default-vnc.xml | 1 -
tests/qemuxml2xmloutdata/disk-fat.xml | 37 -
tests/qemuxml2xmloutdata/nographics-vga.xml | 34 -
tests/qemuxml2xmloutdata/parallel-tcp.xml | 39 --
tests/qemuxml2xmloutdata/serial-dev.xml | 42 --
tests/qemuxml2xmloutdata/serial-file.xml | 42 --
tests/qemuxml2xmloutdata/serial-many.xml | 44 --
tests/qemuxml2xmloutdata/serial-pty.xml | 40 --
.../qemuxml2xmloutdata/serial-tcp-telnet.xml | 44 --
tests/qemuxml2xmloutdata/serial-tcp.xml | 44 --
tests/qemuxml2xmloutdata/serial-udp.xml | 48 --
tests/qemuxml2xmloutdata/serial-unix.xml | 42 --
tests/qemuxml2xmloutdata/serial-vc.xml | 40 --
.../tseg-old-machine-type.xml | 44 --
tests/qemuxml2xmloutdata/tseg.xml | 44 --
...-options-memballoon-freepage-reporting.xml | 1 -
tests/qemuxml2xmloutdata/virtio-options.xml | 1 -
.../pool-fs-freebsd.argv | 6 +-
.../pool-fs-linux.argv | 6 +-
tests/storagepoolxml2argvdata/pool-fs.argv | 5 +-
.../pool-logical-create.argv | 3 +-
.../pool-logical-noname.argv | 3 +-
.../pool-logical-nopath.argv | 3 +-
.../storagepoolxml2argvdata/pool-logical.argv | 3 +-
.../pool-netfs-auto-freebsd.argv | 5 +-
.../pool-netfs-auto-linux.argv | 5 +-
.../pool-netfs-auto.argv | 4 +-
.../pool-netfs-cifs-freebsd.argv | 6 +-
.../pool-netfs-cifs-linux.argv | 6 +-
.../pool-netfs-cifs.argv | 6 +-
.../pool-netfs-freebsd.argv | 6 +-
.../pool-netfs-gluster-freebsd.argv | 7 +-
.../pool-netfs-gluster-linux.argv | 7 +-
.../pool-netfs-gluster.argv | 6 +-
.../pool-netfs-linux.argv | 6 +-
.../pool-netfs-ns-mountopts-freebsd.argv | 7 +-
.../pool-netfs-ns-mountopts-linux.argv | 7 +-
.../pool-netfs-ns-mountopts.argv | 6 +-
.../pool-netfs-protocol-ver-freebsd.argv | 6 +-
.../pool-netfs-protocol-ver-linux.argv | 7 +-
.../pool-netfs-protocol-ver.argv | 6 +-
tests/storagepoolxml2argvdata/pool-netfs.argv | 5 +-
tests/storagepoolxml2argvtest.c | 5 +-
tests/storagevolxml2argvdata/iso-input.argv | 4 +-
tests/storagevolxml2argvdata/iso.argv | 4 +-
.../logical-from-qcow2.argv | 4 +-
tests/storagevolxml2argvdata/luks-cipher.argv | 6 +-
.../luks-convert-encrypt.argv | 12 +-
.../luks-convert-encrypt2fileqcow2.argv | 12 +-
.../luks-convert-encrypt2fileraw.argv | 12 +-
.../luks-convert-qcow2.argv | 11 +-
.../storagevolxml2argvdata/luks-convert.argv | 10 +-
tests/storagevolxml2argvdata/luks.argv | 3 +-
tests/storagevolxml2argvdata/qcow2-1.1.argv | 4 +-
.../storagevolxml2argvdata/qcow2-compat.argv | 4 +-
.../qcow2-from-logical-compat.argv | 4 +-
tests/storagevolxml2argvdata/qcow2-lazy.argv | 5 +-
.../qcow2-luks-convert-encrypt.argv | 14 +-
.../qcow2-luks-convert-encrypt2fileqcow2.argv | 12 +-
.../qcow2-luks-convert-encrypt2fileraw.argv | 12 +-
tests/storagevolxml2argvdata/qcow2-luks.argv | 6 +-
...ow2-nobacking-convert-prealloc-compat.argv | 4 +-
.../qcow2-nobacking-prealloc-compat.argv | 5 +-
.../qcow2-nocapacity-convert-prealloc.argv | 4 +-
.../qcow2-nocapacity.argv | 3 +-
.../qcow2-nocow-compat.argv | 5 +-
.../qcow2-zerocapacity.argv | 4 +-
tests/storagevolxml2argvtest.c | 6 +-
tests/sysinfotest.c | 4 +-
tests/testutils.c | 114 +---
tests/testutils.h | 5 +-
tests/virfirewalltest.c | 40 +-
tests/viriscsitest.c | 12 +-
tests/virkmodtest.c | 8 +-
tests/virnetdevbandwidthtest.c | 4 +-
1105 files changed, 4246 insertions(+), 9341 deletions(-)
delete mode 100755 scripts/test-wrap-argv.py
delete mode 100644 tests/qemuxml2argvdata/audio-alsa-full.args
delete mode 100644 tests/qemuxml2argvdata/audio-coreaudio-full.args
delete mode 100644 tests/qemuxml2argvdata/audio-file-full.args
delete mode 100644 tests/qemuxml2argvdata/audio-none-full.args
delete mode 100644 tests/qemuxml2argvdata/audio-oss-full.args
delete mode 100644 tests/qemuxml2argvdata/audio-pulseaudio-full.args
delete mode 100644 tests/qemuxml2argvdata/audio-sdl-full.args
delete mode 100644 tests/qemuxml2argvdata/audio-spice-full.args
delete mode 100644 tests/qemuxml2argvdata/console-compat-2.xml
delete mode 100644 tests/qemuxml2argvdata/disk-detect-zeroes.args
delete mode 100644 tests/qemuxml2argvdata/disk-network-tlsx509.x86_64-2.12.0.args
delete mode 100644 tests/qemuxml2argvdata/hostdev-scsi-boot.xml
delete mode 100644 tests/qemuxml2argvdata/video-invalid.xml
delete mode 120000 tests/qemuxml2xmloutdata/audio-default-nographics.xml
delete mode 120000 tests/qemuxml2xmloutdata/audio-default-sdl.xml
delete mode 120000 tests/qemuxml2xmloutdata/audio-default-spice.xml
delete mode 120000 tests/qemuxml2xmloutdata/audio-default-vnc.xml
delete mode 100644 tests/qemuxml2xmloutdata/disk-fat.xml
delete mode 100644 tests/qemuxml2xmloutdata/nographics-vga.xml
delete mode 100644 tests/qemuxml2xmloutdata/parallel-tcp.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-dev.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-file.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-many.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-pty.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-tcp-telnet.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-tcp.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-udp.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-unix.xml
delete mode 100644 tests/qemuxml2xmloutdata/serial-vc.xml
delete mode 100644 tests/qemuxml2xmloutdata/tseg-old-machine-type.xml
delete mode 100644 tests/qemuxml2xmloutdata/tseg.xml
delete mode 120000 tests/qemuxml2xmloutdata/virtio-options-memballoon-freepage-reporting.xml
delete mode 120000 tests/qemuxml2xmloutdata/virtio-options.xml
--
2.30.2
3
31
12 Apr '21
The g_path_is_absolute() considers more situations
than just a simply "path[0] == '/'".
Related issue: https://gitlab.com/libvirt/libvirt/-/issues/12
Signed-off-by: Luke Yue <lukedyue(a)gmail.com>
---
src/util/virfile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/util/virfile.c b/src/util/virfile.c
index 93fac200cc..3311eaff3d 100644
--- a/src/util/virfile.c
+++ b/src/util/virfile.c
@@ -3153,7 +3153,7 @@ virFileOpenTty(int *ttyprimary G_GNUC_UNUSED,
int
virFileAbsPath(const char *path, char **abspath)
{
- if (path[0] == '/') {
+ if (g_path_is_absolute(path)) {
*abspath = g_strdup(path);
} else {
g_autofree char *buf = g_get_current_dir();
--
2.31.1
2
1
12 Apr '21
Before this patch set, numatune only has three memory modes:
static, interleave and prefered. These memory policies are
ultimately set by mbind() system call.
Memory policy could be 'hard coded' into the kernel, but none of
above policies fit our requirment under this case. mbind() support
default memory policy, but it requires a NULL nodemask. So obviously
setting allowed memory nodes is cgroups' mission under this case.
So we introduce a new option for mode in numatune named 'restrictive'.
<numatune>
<memory mode="restrictive" nodeset="1-4,^3"/>
<memnode cellid="0" mode="restrictive" nodeset="1"/>
<memnode cellid="2" mode="restrictive" nodeset="2"/>
</numatune>
The config above means we only use cgroups to restrict the allowed
memory nodes and not setting any specific memory policies explicitly.
RFC discussion:
https://www.redhat.com/archives/libvir-list/2020-November/msg01256.html
Regards,
Luyao
Luyao Zhong (3):
docs: add docs for 'restrictive' option for mode in numatune
schema: add 'restrictive' config option for mode in numatune
qemu: add parser and formatter for 'restrictive' mode in numatune
docs/formatdomain.rst | 7 +++-
docs/schemas/domaincommon.rng | 2 +
include/libvirt/libvirt-domain.h | 1 +
src/conf/numa_conf.c | 9 ++++
src/qemu/qemu_command.c | 6 ++-
src/qemu/qemu_process.c | 27 ++++++++++++
src/util/virnuma.c | 3 ++
.../numatune-memnode-invalid-mode.err | 1 +
.../numatune-memnode-invalid-mode.xml | 33 +++++++++++++++
...emnode-restrictive-mode.x86_64-latest.args | 40 ++++++++++++++++++
.../numatune-memnode-restrictive-mode.xml | 33 +++++++++++++++
tests/qemuxml2argvtest.c | 2 +
...memnode-restrictive-mode.x86_64-latest.xml | 41 +++++++++++++++++++
tests/qemuxml2xmltest.c | 1 +
14 files changed, 203 insertions(+), 3 deletions(-)
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-invalid-mode.err
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-invalid-mode.xml
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-restrictive-mode.x86_64-latest.args
create mode 100644 tests/qemuxml2argvdata/numatune-memnode-restrictive-mode.xml
create mode 100644 tests/qemuxml2xmloutdata/numatune-memnode-restrictive-mode.x86_64-latest.xml
--
2.25.4
4
18
From: Jiadong Zeng <zengjiadong(a)phytium.com.cn>
Reasons:
1.The Libvirt source code does not add information about Phytium's
machine,which is reflected in the fact that the Phytium's information
cannot be obtained when running the command "virsh capabilities".
2.Phytium identifies CPU chip information based on dmi information.This
is because Phytium's MIDR register cannot uniquely identify the CPU
chip.
Change:
For Phytium,obtain the information of CPU vendor and CPU model by
reading DMI.
Signed-off-by: Jiadong Zeng <zengjiadong(a)phytium.com.cn>
---
src/cpu/cpu_arm.c | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 145 insertions(+)
diff --git a/src/cpu/cpu_arm.c b/src/cpu/cpu_arm.c
index 65d69c0..c0d09f0 100644
--- a/src/cpu/cpu_arm.c
+++ b/src/cpu/cpu_arm.c
@@ -21,6 +21,14 @@
#include <config.h>
+#if defined(__aarch64__)
+#include <asm/hwcap.h>
+#include <sys/auxv.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#endif
+
#include "viralloc.h"
#include "cpu.h"
#include "virstring.h"
@@ -98,11 +106,148 @@ virCPUarmCompare(virCPUDefPtr host ATTRIBUTE_UNUSED,
return VIR_CPU_COMPARE_IDENTICAL;
}
+#if defined(__aarch64__)
+#define MAX_CPU_FLAGS 32
+#define BIT_SHIFTS(n) (1UL << (n))
+
+/* Generate human readable flag list according to the order of AT_HWCAP bit map */
+const char *aarch64_cpu_flags[MAX_CPU_FLAGS] = {
+ "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2",
+ "crc32", "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm",
+ "jscvt", "fcma", "lrcpc", "dcpop", "sha3", "sm3", "sm4",
+ "asimddp", "sha512", "sve", "asimdfhm", "dit", "uscat",
+ "ilrcpc", "flagm", "ssbs", "sb", "paca", "pacg"
+};
+
+static inline int dmi_read_data(int fd, char *buf, int count)
+{
+ int len = 0;
+
+ do {
+ len = read(fd, buf, count);
+ } while (len == -1 && errno == EINTR);
+
+ if (len < 0)
+ return -1;
+
+ return len;
+}
+
+static char *dmi_get_string(char *buf, uint8_t skip, int *len)
+{
+ char *bp = buf;
+
+ if (skip == 0)
+ return NULL;
+
+ while (skip > 1 && *bp) {
+ bp += strlen(bp);
+ bp++;
+ skip--;
+ }
+
+ if (!*bp)
+ return NULL;
+
+ *len = (int)strlen(bp);
+
+ return bp;
+}
+
+static int dmi_get_model_and_vendor(char **model, char **vendor)
+{
+ int fd;
+ int ret = 0, len = 0;
+ char buf[128], *bp = buf, *str = NULL;
+#define DMI_MFR_OFFSET 0x07
+#define DMI_VERSION_OFFSET 0x10
+
+ fd = open("/sys/firmware/dmi/entries/4-0/raw", O_RDONLY);
+ if (fd < 0)
+ return -1;
+
+ ret = dmi_read_data(fd, buf, 128);
+ if (ret < 0)
+ return -1;
+
+ close(fd);
+
+ /* skip dmi header and pointer to data */
+ bp += buf[1];
+
+ /* model info */
+ str = dmi_get_string(bp, buf[DMI_MFR_OFFSET], &len);
+ if (str)
+ *vendor = strndup(str, len);
+
+ /* vendor info */
+ str = dmi_get_string(bp, buf[DMI_VERSION_OFFSET], &len);
+ if (str)
+ *model = strndup(str, len);
+
+ if (*model == NULL || *vendor == NULL)
+ return -1;
+
+#undef DMI_MFR_OFFSET
+#undef DMI_VERSION_OFFSET
+
+ return 0;
+}
+
+static int virCPUarmGetHost(virCPUDefPtr cpu, virDomainCapsCPUModelsPtr models)
+{
+ unsigned long hwcaps;
+ int i, idx = 0;
+
+ /* unused */
+ (void)models;
+
+ if (dmi_get_model_and_vendor(&cpu->model, &cpu->vendor) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("DMI info failed"));
+ return -1;
+ }
+
+ if (!(getauxval(AT_HWCAP) & HWCAP_CPUID)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("CPUID registers unavailable"));
+ return -1;
+ }
+
+ hwcaps = getauxval(AT_HWCAP);
+ if (!hwcaps) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("AT_HWCAP is not found"));
+ return -1;
+ }
+
+ /* count total supported-features. */
+ for (i = 0; i < MAX_CPU_FLAGS; i++) {
+ if (hwcaps & BIT_SHIFTS(i))
+ cpu->nfeatures++;
+ }
+
+ if (VIR_ALLOC_N(cpu->features, cpu->nfeatures) < 0)
+ return -1;
+
+ /* match cpu feature */
+ for (i = 0; i < MAX_CPU_FLAGS; i++) {
+ if (hwcaps & BIT_SHIFTS(i)) {
+ cpu->features[idx].policy = VIR_CPU_FEATURE_REQUIRE;
+ cpu->features[idx].name = strdup(aarch64_cpu_flags[i]);
+ idx++;
+ }
+ }
+
+ return 0;
+}
+#endif
+
struct cpuArchDriver cpuDriverArm = {
.name = "arm",
.arch = archs,
.narch = ARRAY_CARDINALITY(archs),
.compare = virCPUarmCompare,
+#if defined(__aarch64__)
+ .getHost = virCPUarmGetHost,
+#endif
.decode = NULL,
.encode = NULL,
.baseline = virCPUarmBaseline,
--
1.8.3.1
1
0
[PATCH 1/1] Signed-off-by: Jiadong Zeng <zengjiadong@phytium.com.cn>
by 2860939690@qq.com 12 Apr '21
by 2860939690@qq.com 12 Apr '21
12 Apr '21
From: Jiadong Zeng <zengjiadong(a)phytium.com.cn>
Reasons:
1.The Libvirt source code does not add information about Phytium's
machine,which is reflected in the fact that the Phytium's information
cannot be obtained when running the command "virsh capabilities".
2.Phytium identifies CPU chip information based on dmi information.This
is because Phytium's MIDR register cannot uniquely identify the CPU
chip.
Change:
For Phytium,obtain the information of CPU vendor and CPU model by
reading DMI.
Signed-off-by: Jiadong Zeng <zengjiadong(a)phytium.com.cn>
---
src/cpu/cpu_arm.c | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 145 insertions(+)
diff --git a/src/cpu/cpu_arm.c b/src/cpu/cpu_arm.c
index 65d69c0..c0d09f0 100644
--- a/src/cpu/cpu_arm.c
+++ b/src/cpu/cpu_arm.c
@@ -21,6 +21,14 @@
#include <config.h>
+#if defined(__aarch64__)
+#include <asm/hwcap.h>
+#include <sys/auxv.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#endif
+
#include "viralloc.h"
#include "cpu.h"
#include "virstring.h"
@@ -98,11 +106,148 @@ virCPUarmCompare(virCPUDefPtr host ATTRIBUTE_UNUSED,
return VIR_CPU_COMPARE_IDENTICAL;
}
+#if defined(__aarch64__)
+#define MAX_CPU_FLAGS 32
+#define BIT_SHIFTS(n) (1UL << (n))
+
+/* Generate human readable flag list according to the order of AT_HWCAP bit map */
+const char *aarch64_cpu_flags[MAX_CPU_FLAGS] = {
+ "fp", "asimd", "evtstrm", "aes", "pmull", "sha1", "sha2",
+ "crc32", "atomics", "fphp", "asimdhp", "cpuid", "asimdrdm",
+ "jscvt", "fcma", "lrcpc", "dcpop", "sha3", "sm3", "sm4",
+ "asimddp", "sha512", "sve", "asimdfhm", "dit", "uscat",
+ "ilrcpc", "flagm", "ssbs", "sb", "paca", "pacg"
+};
+
+static inline int dmi_read_data(int fd, char *buf, int count)
+{
+ int len = 0;
+
+ do {
+ len = read(fd, buf, count);
+ } while (len == -1 && errno == EINTR);
+
+ if (len < 0)
+ return -1;
+
+ return len;
+}
+
+static char *dmi_get_string(char *buf, uint8_t skip, int *len)
+{
+ char *bp = buf;
+
+ if (skip == 0)
+ return NULL;
+
+ while (skip > 1 && *bp) {
+ bp += strlen(bp);
+ bp++;
+ skip--;
+ }
+
+ if (!*bp)
+ return NULL;
+
+ *len = (int)strlen(bp);
+
+ return bp;
+}
+
+static int dmi_get_model_and_vendor(char **model, char **vendor)
+{
+ int fd;
+ int ret = 0, len = 0;
+ char buf[128], *bp = buf, *str = NULL;
+#define DMI_MFR_OFFSET 0x07
+#define DMI_VERSION_OFFSET 0x10
+
+ fd = open("/sys/firmware/dmi/entries/4-0/raw", O_RDONLY);
+ if (fd < 0)
+ return -1;
+
+ ret = dmi_read_data(fd, buf, 128);
+ if (ret < 0)
+ return -1;
+
+ close(fd);
+
+ /* skip dmi header and pointer to data */
+ bp += buf[1];
+
+ /* model info */
+ str = dmi_get_string(bp, buf[DMI_MFR_OFFSET], &len);
+ if (str)
+ *vendor = strndup(str, len);
+
+ /* vendor info */
+ str = dmi_get_string(bp, buf[DMI_VERSION_OFFSET], &len);
+ if (str)
+ *model = strndup(str, len);
+
+ if (*model == NULL || *vendor == NULL)
+ return -1;
+
+#undef DMI_MFR_OFFSET
+#undef DMI_VERSION_OFFSET
+
+ return 0;
+}
+
+static int virCPUarmGetHost(virCPUDefPtr cpu, virDomainCapsCPUModelsPtr models)
+{
+ unsigned long hwcaps;
+ int i, idx = 0;
+
+ /* unused */
+ (void)models;
+
+ if (dmi_get_model_and_vendor(&cpu->model, &cpu->vendor) < 0) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("DMI info failed"));
+ return -1;
+ }
+
+ if (!(getauxval(AT_HWCAP) & HWCAP_CPUID)) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("CPUID registers unavailable"));
+ return -1;
+ }
+
+ hwcaps = getauxval(AT_HWCAP);
+ if (!hwcaps) {
+ virReportError(VIR_ERR_INTERNAL_ERROR, "%s", _("AT_HWCAP is not found"));
+ return -1;
+ }
+
+ /* count total supported-features. */
+ for (i = 0; i < MAX_CPU_FLAGS; i++) {
+ if (hwcaps & BIT_SHIFTS(i))
+ cpu->nfeatures++;
+ }
+
+ if (VIR_ALLOC_N(cpu->features, cpu->nfeatures) < 0)
+ return -1;
+
+ /* match cpu feature */
+ for (i = 0; i < MAX_CPU_FLAGS; i++) {
+ if (hwcaps & BIT_SHIFTS(i)) {
+ cpu->features[idx].policy = VIR_CPU_FEATURE_REQUIRE;
+ cpu->features[idx].name = strdup(aarch64_cpu_flags[i]);
+ idx++;
+ }
+ }
+
+ return 0;
+}
+#endif
+
struct cpuArchDriver cpuDriverArm = {
.name = "arm",
.arch = archs,
.narch = ARRAY_CARDINALITY(archs),
.compare = virCPUarmCompare,
+#if defined(__aarch64__)
+ .getHost = virCPUarmGetHost,
+#endif
.decode = NULL,
.encode = NULL,
.baseline = virCPUarmBaseline,
--
1.8.3.1
2
1
Hi Pavel, et al,
Running Fedora 33 KVM/QEMU on s390x, I recently noticed a couple
of oddities when shutting down my guests, which I bisected between
7.0.0 and 7.1.0 to your commit:
commit 184245f53b94fc84f727eb6e8a2aa52df02d69c0
Author: Pavel Hrdina <phrdina(a)redhat.com>
Date: Tue Feb 9 12:33:53 2021 +0100
vircgroup: introduce nested cgroup to properly work with systemd
The attached patch is based on some of the tweaks you did to use the
parent/nested pointers in a cgroup, rather than a cgroup itself.
It fixes both problems I'm encountering, but as this code is quite
unfamiliar to me, I might well be way off track and would appreciate
your feedback in the matter.
Apologies for hitting this on the same day as freeze; I had not
noticed the messages previously, and started digging yesterday when
I noted the number of file descriptors left open by libvirt.
Thanks,
Eric
Eric Farman (1):
vircgroup: Cleanup nested cgroups
src/util/vircgroup.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
--
2.25.1
2
10
A couple issues with the recently merged mdev patch series that were caught by
Daniel Berrange.
Jonathon Jongsma (2):
nodedev: fix release version in comments for new API
api: Add 'flags' param to virNodeDeviceCreate/Undefine()
include/libvirt/libvirt-nodedev.h | 6 ++++--
src/driver-nodedev.h | 6 ++++--
src/libvirt-nodedev.c | 16 ++++++++++------
src/node_device/node_device_driver.c | 10 ++++++++--
src/node_device/node_device_driver.h | 6 ++++--
src/node_device/node_device_udev.c | 6 +++---
src/remote/remote_driver.c | 6 +++---
src/remote/remote_protocol.x | 2 ++
src/remote_protocol-structs | 2 ++
tools/virsh-nodedev.c | 4 ++--
10 files changed, 42 insertions(+), 22 deletions(-)
--
2.26.3
2
4
It's spring, let's clean up some string cruft.
Peter Krempa (39):
qemuDomainStorageSourceValidateDepth: Define chain depth as macro
virStorageSourceGetMetadata: Use depth limit instead of unique path
checking
Remove virStorageSourceGetUniqueIdentifier file backend API
storage_file: Remove virStorageFileBackendFsPriv
virStorageFileBackendGlusterPriv: Remove 'canonpaht'
tests: Remove testing of virStorageFileCanonicalizePath
Remove virStorageFileCanonicalizePath
virDomainDiskAddISCSIPoolSourceHost: use g_strsplit instead of
virStringSplitCount
virJSONValueObjectDeflattenWorker: use g_strsplit instead of
virStringSplitCount
virStorageFileParseBackingStoreStr: use g_strsplit instead of
virStringSplitCount
util: virlog: Use g_auto(GStrv) instead of g_strfreev in cleanup
section
util: virlog: Remove pointless 'cleanup' labels
virLogParseOutputs: Refactor string list handling
virLogParseFilters: Refactor string list handling
virLogParseFilter: Replace virStringSplitCount by g_strsplit
virLogParseOutput: Replace virStringSplitCount by g_strsplit
virshParseEventStr: Use g_strsplit and automatic memory freeing
bhyveParsePCIFbuf: Use g_strsplit instead of virStringSplitCount
virHostValidateGetCPUFlags: Use g_strsplit instead of
virStringSplitCount
virshParseRateStr: Refactor cleanup
virshParseRateStr: Use g_strsplit instead of virStringSplitCount
virStorageSourceParseBackingJSONUriCookies: Use g_strsplit instead of
virStringSplitCount
storage: zfs: Don't split string if we need only first/last component
virStorageBackendZFSRefreshPool: Reduce scope of 'tokens'
storage: zfs: Use g_strsplit instead of virStringSplitCount
virResctrlGetCacheInfo: Restrict variable scope and use automatic
freeing
virResctrlAllocNewFromInfo: Restrict variable scope and use automatic
freeing
virResctrlAllocNewFromInfo: Use g_autoptr for 'ret'
virResctrlAllocGetUnused: Use g_autoptr for variables of
virResctrlAlloc type
util: virresctrl: Use automatic memory freeing
util: virresctrl: Remove empty 'cleanup' sections
util: virresctrl: Use g_strsplit instead of virStringSplitCount
xenParsePCI: Replace virStringSplitCount by g_strsplit
xenParseXLVnuma: Replace virStringSplitCount by g_strsplit
openvzParseBarrierLimit: Rework string handling
virSystemdActivationInitFromNames: Replace virStringSplit by
g_strsplit
virVMXParseConfig: Replace virStringSplitCount by g_strsplit
util: virstring: Remove the virStringSplitCount wrapper funcion
tests: string: Remove pointless test for virStringListFreeCount
src/bhyve/bhyve_parse_command.c | 14 +-
src/conf/domain_conf.c | 5 +-
src/libvirt_private.syms | 3 -
src/libxl/xen_common.c | 5 +-
src/libxl/xen_xl.c | 4 +-
src/openvz/openvz_conf.c | 21 +-
src/qemu/qemu_domain.c | 7 +-
src/security/virt-aa-helper.c | 5 +-
src/storage/storage_backend_zfs.c | 31 +-
src/storage_file/storage_file_backend.h | 4 -
src/storage_file/storage_file_backend_fs.c | 44 ---
.../storage_file_backend_gluster.c | 73 -----
src/storage_file/storage_source.c | 81 ++---
src/storage_file/storage_source.h | 1 +
.../storage_source_backingstore.c | 9 +-
src/util/virjson.c | 5 +-
src/util/virlog.c | 86 +++---
src/util/virresctrl.c | 279 +++++++-----------
src/util/virstoragefile.c | 215 +-------------
src/util/virstoragefile.h | 8 -
src/util/virstring.c | 20 --
src/util/virstring.h | 6 -
src/util/virsystemd.c | 9 +-
src/vmx/vmx.c | 7 +-
tests/virstoragetest.c | 103 +------
tests/virstringtest.c | 23 --
tools/virsh-domain.c | 39 +--
tools/virt-host-validate-common.c | 13 +-
28 files changed, 237 insertions(+), 883 deletions(-)
--
2.29.2
2
78