Skip to content

Commit

Permalink
spapr/xive: Turn some sanity checks into assertions
Browse files Browse the repository at this point in the history
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>
Message-Id: <20201120174646.619395-2-groug@kaod.org>
Reviewed-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
  • Loading branch information
gkurz authored and dgibson committed Dec 14, 2020
1 parent 1758428 commit 484d774
Showing 1 changed file with 4 additions and 10 deletions.
14 changes: 4 additions & 10 deletions hw/intc/spapr_xive.c
Expand Up @@ -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.
*/
Expand Down

0 comments on commit 484d774

Please sign in to comment.