This series was really just supposed to enable guests to use the special "host" GIC version, but I ended up changing a bunch of other stuff and adding a whole lot of new test cases. I've also made it so the GIC availability is always reflected in the domain XML, the same way other implicit devices and features work. The GIC-related definitions are in their own file: depending on whether we end up probing for host GIC support ourselves or relying on QEMU this might turn out to be a huge overkill :) Cheers. Andrea Bolognani (7): gic: Introduce virGICVersion enumeration schema: List allowed GIC versions conf: Use virGICVersion enumeration in virDomainDef qemu: Default to GIC v2 qemu: Always enable GIC on ARM virt machines tests: Reorganize and simplify GIC test cases tests: Add more GIC test cases docs/schemas/domaincommon.rng | 6 +++- src/Makefile.am | 1 + src/conf/domain_conf.c | 15 ++++---- src/conf/domain_conf.h | 3 +- src/libvirt_private.syms | 5 +++ src/qemu/qemu_command.c | 8 +++-- src/qemu/qemu_domain.c | 29 ++++++++++++++++ src/util/virgic.c | 33 ++++++++++++++++++ src/util/virgic.h | 38 ++++++++++++++++++++ .../qemuxml2argv-aarch64-aavmf-virtio-mmio.xml | 1 + .../qemuxml2argv-aarch64-gic-default.args | 1 + .../qemuxml2argv-aarch64-gic-default.xml | 22 ++++++++++++ ...gic.args => qemuxml2argv-aarch64-gic-host.args} | 13 +++---- .../qemuxml2argv-aarch64-gic-host.xml | 22 ++++++++++++ .../qemuxml2argv-aarch64-gic-invalid.xml | 22 ++++++++++++ .../qemuxml2argv-aarch64-gic-none.args | 1 + .../qemuxml2argv-aarch64-gic-none.xml | 19 ++++++++++ .../qemuxml2argv-aarch64-gic-not-arm.xml | 22 ++++++++++++ .../qemuxml2argv-aarch64-gic-not-virt.xml | 22 ++++++++++++ ...gicv3.args => qemuxml2argv-aarch64-gic-v2.args} | 12 +++---- ...h64-gic.xml => qemuxml2argv-aarch64-gic-v2.xml} | 14 ++------ .../qemuxml2argv-aarch64-gic-v3.args | 20 +++++++++++ ...4-gicv3.xml => qemuxml2argv-aarch64-gic-v3.xml} | 14 ++------ tests/qemuxml2argvtest.c | 40 ++++++++++++++++++---- .../qemuxml2xmlout-aarch64-gic-default.xml | 1 + .../qemuxml2xmlout-aarch64-gic-none.xml | 1 + tests/qemuxml2xmltest.c | 7 ++-- 27 files changed, 331 insertions(+), 61 deletions(-) create mode 100644 src/util/virgic.c create mode 100644 src/util/virgic.h create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-default.xml rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-gic.args => qemuxml2argv-aarch64-gic-host.args} (57%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-host.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-invalid.xml create mode 120000 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.args create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-none.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-arm.xml create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-not-virt.xml rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-gicv3.args => qemuxml2argv-aarch64-gic-v2.args} (55%) rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-gic.xml => qemuxml2argv-aarch64-gic-v2.xml} (61%) create mode 100644 tests/qemuxml2argvdata/qemuxml2argv-aarch64-gic-v3.args rename tests/qemuxml2argvdata/{qemuxml2argv-aarch64-gicv3.xml => qemuxml2argv-aarch64-gic-v3.xml} (61%) create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-default.xml create mode 120000 tests/qemuxml2xmloutdata/qemuxml2xmlout-aarch64-gic-none.xml -- 2.5.0 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list