Currently, if no GIC version has been provided by the user, libvirt will default to GIC v2. This is a problem when trying to create new guests on hardware that only supports GIC v3 guests: QEMU will refuse to start a GIC v2 guest, and guest installation will abort immediately. This series implements a way for libvirt to figure out a suitable GIC version itself, without relying on tools such as virt-install to parse the domain capabilities before attempting installation. Andrea Bolognani (4): qemu: Automatically choose usable GIC version qemu: Add virQEMUCapsSetGICCapabilities() tests: Prepare to have different usable GIC versions tests: Try different usable GIC versions src/conf/domain_capabilities.c | 25 +++ src/conf/domain_capabilities.h | 8 + src/libvirt_private.syms | 1 + src/qemu/qemu_capabilities.c | 29 +++- src/qemu/qemu_capabilities.h | 5 + src/qemu/qemu_domain.c | 66 ++++++-- .../qemuxml2argv-aarch64-gic-none-both.args | 1 + .../qemuxml2argv-aarch64-gic-none-both.xml | 1 + .../qemuxml2argv-aarch64-gic-none-v2.args | 1 + .../qemuxml2argv-aarch64-gic-none-v2.xml | 1 + .../qemuxml2argv-aarch64-gic-none-v3.args | 1 + .../qemuxml2argv-aarch64-gic-none-v3.xml | 1 + tests/qemuxml2argvtest.c | 153 +++++++++++++---- .../qemuxml2xmlout-aarch64-gic-none-both.xml | 1 + .../qemuxml2xmlout-aarch64-gic-none-v2.xml | 1 + .../qemuxml2xmlout-aarch64-gic-none-v3.xml | 1 + tests/qemuxml2xmltest.c | 184 +++++++++++++-------- 17 files changed, 368 insertions(+), 112 deletions(-) create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.args create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-both.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.args create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v2.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.args create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none-v3.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-both.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v2.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none-v3.xml -- 2.5.5 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list