Message ID | 20201120174646.619395-2-groug@kaod.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | spapr: Address the confusion between IPI numbers and vCPU ids | expand |
On Fri, Nov 20, 2020 at 06:46:39PM +0100, Greg Kurz wrote: > The sPAPR XIVE device is created by the machine in spapr_irq_init(). > The latter overrides any value provided by the user with -global for > the "nr-irqs" and "nr-ends" properties with strictly positive values. > > It seems reasonable to assume these properties should never be 0, > which wouldn't make much sense by the way. > > Signed-off-by: Greg Kurz <groug@kaod.org> Applied to ppc-for-6.0. > --- > hw/intc/spapr_xive.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c > index 1fa09f287ac0..60e0d5769dcc 100644 > --- a/hw/intc/spapr_xive.c > +++ b/hw/intc/spapr_xive.c > @@ -296,22 +296,16 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp) > XiveENDSource *end_xsrc = &xive->end_source; > Error *local_err = NULL; > > + /* Set by spapr_irq_init() */ > + g_assert(xive->nr_irqs); > + g_assert(xive->nr_ends); > + > sxc->parent_realize(dev, &local_err); > if (local_err) { > error_propagate(errp, local_err); > return; > } > > - if (!xive->nr_irqs) { > - error_setg(errp, "Number of interrupt needs to be greater 0"); > - return; > - } > - > - if (!xive->nr_ends) { > - error_setg(errp, "Number of interrupt needs to be greater 0"); > - return; > - } > - > /* > * Initialize the internal sources, for IPIs and virtual devices. > */
On 11/20/20 6:46 PM, Greg Kurz wrote: > The sPAPR XIVE device is created by the machine in spapr_irq_init(). > The latter overrides any value provided by the user with -global for > the "nr-irqs" and "nr-ends" properties with strictly positive values. > > It seems reasonable to assume these properties should never be 0, > which wouldn't make much sense by the way. > > Signed-off-by: Greg Kurz <groug@kaod.org> Reviewed-by: Cédric Le Goater <clg@kaod.org> > --- > hw/intc/spapr_xive.c | 14 ++++---------- > 1 file changed, 4 insertions(+), 10 deletions(-) > > diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c > index 1fa09f287ac0..60e0d5769dcc 100644 > --- a/hw/intc/spapr_xive.c > +++ b/hw/intc/spapr_xive.c > @@ -296,22 +296,16 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp) > XiveENDSource *end_xsrc = &xive->end_source; > Error *local_err = NULL; > > + /* Set by spapr_irq_init() */ > + g_assert(xive->nr_irqs); > + g_assert(xive->nr_ends); > + > sxc->parent_realize(dev, &local_err); > if (local_err) { > error_propagate(errp, local_err); > return; > } > > - if (!xive->nr_irqs) { > - error_setg(errp, "Number of interrupt needs to be greater 0"); > - return; > - } > - > - if (!xive->nr_ends) { > - error_setg(errp, "Number of interrupt needs to be greater 0"); > - return; > - } > - > /* > * Initialize the internal sources, for IPIs and virtual devices. > */ >
diff --git a/hw/intc/spapr_xive.c b/hw/intc/spapr_xive.c index 1fa09f287ac0..60e0d5769dcc 100644 --- a/hw/intc/spapr_xive.c +++ b/hw/intc/spapr_xive.c @@ -296,22 +296,16 @@ static void spapr_xive_realize(DeviceState *dev, Error **errp) XiveENDSource *end_xsrc = &xive->end_source; Error *local_err = NULL; + /* Set by spapr_irq_init() */ + g_assert(xive->nr_irqs); + g_assert(xive->nr_ends); + sxc->parent_realize(dev, &local_err); if (local_err) { error_propagate(errp, local_err); return; } - if (!xive->nr_irqs) { - error_setg(errp, "Number of interrupt needs to be greater 0"); - return; - } - - if (!xive->nr_ends) { - error_setg(errp, "Number of interrupt needs to be greater 0"); - return; - } - /* * Initialize the internal sources, for IPIs and virtual devices. */
The sPAPR XIVE device is created by the machine in spapr_irq_init(). The latter overrides any value provided by the user with -global for the "nr-irqs" and "nr-ends" properties with strictly positive values. It seems reasonable to assume these properties should never be 0, which wouldn't make much sense by the way. Signed-off-by: Greg Kurz <groug@kaod.org> --- hw/intc/spapr_xive.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-)