
On Thu, 2020-03-19 at 18:44 -0300, Daniel Henrique Barboza wrote:
qemu_domain.c: do not launch ppc64 guests with APIC-EOI setting
s/qemu_domain.c/qemu/ Same for the other patches in the series.
The "<apic/>" feature, although it's not available for pseries, can be declared in the domain XML of ppc64 guests without errors. But setting its 'eoi' attribute will break QEMU. For "<apic eoi='on'/>":
qemu-kvm: Expected key=value format, found +kvm_pv_eoi
A similar error happens with eoi='off'.
This is https://bugzilla.redhat.com/show_bug.cgi?id=1236440 Please include the Bugzilla URL for other patches in the series as well, if applicable. [...]
case VIR_DOMAIN_FEATURE_APIC: + /* the <apic/> declaration is harmless for ppc64, but + * its 'eoi' attribute isn't. To detect if 'eoi' was + * present in the XML we can check the tristate switch + * of def->apic_eoi */ + if (def->features[i] != VIR_TRISTATE_SWITCH_ABSENT && + def->apic_eoi != VIR_TRISTATE_SWITCH_ABSENT && + ARCH_IS_PPC64(def->os.arch)) {
Since the underlying kvm_pv_eoi feature is x86-only, you should change this last part to !ARCH_IS_X86(def->os.arch) and benefit ARM, RISC-V and s390x users at the same time. When you do so, please reduce the comment to something like /* The kvm_pv_eoi feature is x86-only */ -- Andrea Bolognani / Red Hat / Virtualization