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 <[email protected]>
> ---
> 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 <[email protected]>