The errors detected in this function indicate problems with the rest of the machine type code, rather than configuration or runtime problems.
Use error_setg() and &error_abort instead of explicit fprintf() and exit(). Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- hw/ppc/spapr_rtas.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/hw/ppc/spapr_rtas.c b/hw/ppc/spapr_rtas.c index 34b12a3..db4a675 100644 --- a/hw/ppc/spapr_rtas.c +++ b/hw/ppc/spapr_rtas.c @@ -649,15 +649,14 @@ 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); + error_setg(&error_abort, "RTAS invalid token 0x%x", token); } 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); + error_setg(&error_abort, + "RTAS call \"%s\" is registered already as 0x%x", + rtas_table[token].name, token); } rtas_table[token].name = name; -- 2.5.0