Message ID | 1453091083-13931-7-git-send-email-david@gibson.dropbear.id.au (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 18.01.2016 05:24, David Gibson wrote: > The errors detected in this function necessarily indicate bugs in the rest > of the qemu code, rather than an external or configuration problem. > > So, a simple assert() is more appropriate than any more complex error > reporting. > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> > --- > hw/ppc/spapr_rtas.c | 12 +++--------- > 1 file changed, 3 insertions(+), 9 deletions(-) > > diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c > index 34b12a3..0be52ae 100644 > --- a/hw/ppc/spapr_rtas.c > +++ b/hw/ppc/spapr_rtas.c > @@ -648,17 +648,11 @@ target_ulong spapr_rtas_call(PowerPCCPU *cpu, sPAPRMachineState *spapr, > > void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn) > { > - if (!((token >= RTAS_TOKEN_BASE) && (token < RTAS_TOKEN_MAX))) { > - fprintf(stderr, "RTAS invalid token 0x%x\n", token); > - exit(1); > - } > + assert((token >= RTAS_TOKEN_BASE) && (token < RTAS_TOKEN_MAX)); While you're at it, you could also get rid of some superfluous parentheses in that statement: assert(token >= RTAS_TOKEN_BASE && token < RTAS_TOKEN_MAX); > token -= RTAS_TOKEN_BASE; > - if (rtas_table[token].name) { > - fprintf(stderr, "RTAS call \"%s\" is registered already as 0x%x\n", > - rtas_table[token].name, token); > - exit(1); > - } > + > + assert(!rtas_table[token].name); > > rtas_table[token].name = name; > rtas_table[token].fn = fn; > Anyway, patch sounds reasonable, Reviewed-by: Thomas Huth <thuth@redhat.com>
On Mon, Jan 18, 2016 at 10:20:24AM +0100, Thomas Huth wrote: > On 18.01.2016 05:24, David Gibson wrote: > > The errors detected in this function necessarily indicate bugs in the rest > > of the qemu code, rather than an external or configuration problem. > > > > So, a simple assert() is more appropriate than any more complex error > > reporting. > > > > Signed-off-by: David Gibson <david@gibson.dropbear.id.au> > > --- > > hw/ppc/spapr_rtas.c | 12 +++--------- > > 1 file changed, 3 insertions(+), 9 deletions(-) > > > > diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c > > index 34b12a3..0be52ae 100644 > > --- a/hw/ppc/spapr_rtas.c > > +++ b/hw/ppc/spapr_rtas.c > > @@ -648,17 +648,11 @@ target_ulong spapr_rtas_call(PowerPCCPU *cpu, sPAPRMachineState *spapr, > > > > void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn) > > { > > - if (!((token >= RTAS_TOKEN_BASE) && (token < RTAS_TOKEN_MAX))) { > > - fprintf(stderr, "RTAS invalid token 0x%x\n", token); > > - exit(1); > > - } > > + assert((token >= RTAS_TOKEN_BASE) && (token < RTAS_TOKEN_MAX)); > > While you're at it, you could also get rid of some superfluous > parentheses in that statement: > > assert(token >= RTAS_TOKEN_BASE && token < RTAS_TOKEN_MAX); I could, but I won't because I think it's clearer as it is. > > token -= RTAS_TOKEN_BASE; > > - if (rtas_table[token].name) { > > - fprintf(stderr, "RTAS call \"%s\" is registered already as 0x%x\n", > > - rtas_table[token].name, token); > > - exit(1); > > - } > > + > > + assert(!rtas_table[token].name); > > > > rtas_table[token].name = name; > > rtas_table[token].fn = fn; > > > > Anyway, patch sounds reasonable, > Reviewed-by: Thomas Huth <thuth@redhat.com> >
diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index 34b12a3..0be52ae 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -648,17 +648,11 @@ target_ulong spapr_rtas_call(PowerPCCPU *cpu, sPAPRMachineState *spapr, void spapr_rtas_register(int token, const char *name, spapr_rtas_fn fn) { - if (!((token >= RTAS_TOKEN_BASE) && (token < RTAS_TOKEN_MAX))) { - fprintf(stderr, "RTAS invalid token 0x%x\n", token); - exit(1); - } + assert((token >= RTAS_TOKEN_BASE) && (token < RTAS_TOKEN_MAX)); token -= RTAS_TOKEN_BASE; - if (rtas_table[token].name) { - fprintf(stderr, "RTAS call \"%s\" is registered already as 0x%x\n", - rtas_table[token].name, token); - exit(1); - } + + assert(!rtas_table[token].name); rtas_table[token].name = name; rtas_table[token].fn = fn;
The errors detected in this function necessarily indicate bugs in the rest of the qemu code, rather than an external or configuration problem. So, a simple assert() is more appropriate than any more complex error reporting. Signed-off-by: David Gibson <david@gibson.dropbear.id.au> --- hw/ppc/spapr_rtas.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-)