On Fri, Feb 08, 2019 at 07:17:47PM +0100, Greg Kurz wrote: > Split mode doesn't make sense on pseries, neither with XICS nor XIVE. But > passing kernel-irqchip=split silently behaves like kernel-irqchip=on. > Other architectures that support kernel-irqchip do terminate QEMU when > split mode is requested but not available though. Do the same with pseries > for consistency. > > Similarly, passing kernel-irqchip=on,accel=tcg starts the machine with the > emulated interrupt controller, ie, behaves like kernel-irqchip=off. However, > when passing kernel-irqchip=on,accel=kvm, if we can't initialize the KVM > XICS for some reason, ie, xics_kvm_init() fails, then QEMU is terminated. > This is inconsistent. Terminate QEMU all the same when requesting the > in-kernel interrupt controller without KVM. > > Signed-off-by: Greg Kurz <gr...@kaod.org> > --- > > The odds for someone to have an existing pseries setup with split mode are > very low since this is really an x86 thingy. And I guess we don't really > care to break the silly kernel-irqchip=on,accel=tcg case. But if we really > need to stay bug compatible, the errors can be turned into warnings.
Applied, thanks. > --- > hw/ppc/spapr_irq.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/hw/ppc/spapr_irq.c b/hw/ppc/spapr_irq.c > index 2d7a7c163876..80b0083b8e38 100644 > --- a/hw/ppc/spapr_irq.c > +++ b/hw/ppc/spapr_irq.c > @@ -600,6 +600,19 @@ sPAPRIrq spapr_irq_dual = { > */ > void spapr_irq_init(sPAPRMachineState *spapr, Error **errp) > { > + MachineState *machine = MACHINE(spapr); > + > + if (machine_kernel_irqchip_split(machine)) { > + error_setg(errp, "kernel_irqchip split mode not supported on > pseries"); > + return; > + } > + > + if (!kvm_enabled() && machine_kernel_irqchip_required(machine)) { > + error_setg(errp, > + "kernel_irqchip requested but only available with KVM"); > + return; > + } > + > /* Initialize the MSI IRQ allocator. */ > if (!SPAPR_MACHINE_GET_CLASS(spapr)->legacy_irq_allocation) { > spapr_irq_msi_init(spapr, spapr->irq->nr_msis); > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature