
On Sun, 2016-02-07 at 09:42 -0500, John Ferlan wrote:
GIC is always available to ARM virt machines, and the domain XML should reflect this fact. --- src/qemu/qemu_domain.c | 14 ++++++++++++++ .../qemuxml2argv-aarch64-aavmf-virtio-mmio.xml | 1 + 2 files changed, 15 insertions(+) diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index d120e15..5017cbb 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -1241,6 +1241,20 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def, static int qemuDomainDefAddDefaultFeatures(virDomainDefPtr def) { + switch (def->os.arch) { + case VIR_ARCH_ARMV7L: + case VIR_ARCH_AARCH64: + if (STREQ(def->os.machine, "virt") || + STRPREFIX(def->os.machine, "virt-")) { + /* GIC is always available to ARM virt machines */ + def->features[VIR_DOMAIN_FEATURE_GIC] = VIR_TRISTATE_SWITCH_ON; See once on - we then have a version='host' and we're good to go. Of course, as I'm typing I realize that we wouldn't print out version='host' if it were the default... But that may not be a bad
On 02/03/2016 03:26 PM, Andrea Bolognani wrote: thing - although we could.
That was pretty much the issue :) For existing guests, <gic/> means <gic version='2'/>, but we pick the default every single time the XML is loaded instead of explicitly writing it out in the XML. Which was probably a mistake, because now we can't really change the default without affecting existing guests :( On the other hand, QEMU defaults to version 2 as well, so it kinda fits nicely I guess? Point is, I think keeping the default to version 2 in libvirt and have upper layers (eg. virt-install via libosinfo) pick a better value when creating new guests is in line with how we do a lot of other stuff in libvirt. Cheers. -- Andrea Bolognani Software Engineer - Virtualization Team