This function includes a number of explicit fprintf()s and exit()s for error conditions. Change these to use error_setg() and &error_fatal instead.
Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> --- hw/ppc/spapr.c | 53 +++++++++++++++++++++++++---------------------------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c index c376748..deaf5c0 100644 --- a/hw/ppc/spapr.c +++ b/hw/ppc/spapr.c @@ -1759,8 +1759,7 @@ static void ppc_spapr_init(MachineState *machine) rma_alloc_size = kvmppc_alloc_rma(&rma); if (rma_alloc_size == -1) { - error_report("Unable to create RMA"); - exit(1); + error_setg(&error_fatal, "Unable to create RMA"); } if (rma_alloc_size && (rma_alloc_size < node0_size)) { @@ -1784,9 +1783,9 @@ static void ppc_spapr_init(MachineState *machine) } if (spapr->rma_size > node0_size) { - fprintf(stderr, "Error: Numa node 0 has to span the RMA (%#08"HWADDR_PRIx")\n", - spapr->rma_size); - exit(1); + error_setg(&error_fatal, + "Numa node 0 has to span the RMA (%#08"HWADDR_PRIx")", + spapr->rma_size); } /* Setup a load limit for the ramdisk leaving room for SLOF and FDT */ @@ -1850,9 +1849,10 @@ static void ppc_spapr_init(MachineState *machine) ram_addr_t hotplug_mem_size = machine->maxram_size - machine->ram_size; if (machine->ram_slots > SPAPR_MAX_RAM_SLOTS) { - error_report("Specified number of memory slots %"PRIu64" exceeds max supported %d\n", - machine->ram_slots, SPAPR_MAX_RAM_SLOTS); - exit(EXIT_FAILURE); + error_setg(&error_fatal, + "Specified number of memory slots %" PRIu64 + " exceeds max supported %d", + machine->ram_slots, SPAPR_MAX_RAM_SLOTS); } spapr->hotplug_memory.base = ROUND_UP(machine->ram_size, @@ -1869,19 +1869,17 @@ static void ppc_spapr_init(MachineState *machine) filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, "spapr-rtas.bin"); if (!filename) { - error_report("Could not find LPAR rtas '%s'", "spapr-rtas.bin"); - exit(1); + error_setg(&error_fatal, + "Could not find LPAR rtas '%s'", "spapr-rtas.bin"); } spapr->rtas_size = get_image_size(filename); spapr->rtas_blob = g_malloc(spapr->rtas_size); if (load_image_size(filename, spapr->rtas_blob, spapr->rtas_size) < 0) { - error_report("Could not load LPAR rtas '%s'", filename); - exit(1); + error_setg(&error_fatal, "Could not load LPAR rtas '%s'", filename); } if (spapr->rtas_size > RTAS_MAX_SIZE) { - error_report("RTAS too big ! 0x%zx bytes (max is 0x%x)", - (size_t)spapr->rtas_size, RTAS_MAX_SIZE); - exit(1); + error_setg(&error_fatal, "RTAS too big ! 0x%zx bytes (max is 0x%x)", + (size_t)spapr->rtas_size, RTAS_MAX_SIZE); } g_free(filename); @@ -1944,9 +1942,9 @@ static void ppc_spapr_init(MachineState *machine) } if (spapr->rma_size < (MIN_RMA_SLOF << 20)) { - fprintf(stderr, "qemu: pSeries SLOF firmware requires >= " - "%ldM guest RMA (Real Mode Area memory)\n", MIN_RMA_SLOF); - exit(1); + error_setg(&error_fatal, + "pSeries SLOF firmware requires >= %ldM guest RMA (Real Mode Area memory)", + MIN_RMA_SLOF); } if (kernel_filename) { @@ -1961,9 +1959,8 @@ static void ppc_spapr_init(MachineState *machine) kernel_le = kernel_size > 0; } if (kernel_size < 0) { - fprintf(stderr, "qemu: error loading %s: %s\n", - kernel_filename, load_elf_strerror(kernel_size)); - exit(1); + error_setg(&error_fatal, "error loading %s: %s", + kernel_filename, load_elf_strerror(kernel_size)); } /* load initrd */ @@ -1975,9 +1972,9 @@ static void ppc_spapr_init(MachineState *machine) initrd_size = load_image_targphys(initrd_filename, initrd_base, load_limit - initrd_base); if (initrd_size < 0) { - fprintf(stderr, "qemu: could not load initial ram disk '%s'\n", - initrd_filename); - exit(1); + error_setg(&error_fatal, + "could not load initial ram disk '%s'", + initrd_filename); } } else { initrd_base = 0; @@ -1990,13 +1987,13 @@ static void ppc_spapr_init(MachineState *machine) } filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); if (!filename) { - error_report("Could not find LPAR firmware '%s'", bios_name); - exit(1); + error_setg(&error_fatal, + "Could not find LPAR firmware '%s'", bios_name); } fw_size = load_image_targphys(filename, 0, FW_MAX_SIZE); if (fw_size <= 0) { - error_report("Could not load LPAR firmware '%s'", filename); - exit(1); + error_setg(&error_fatal, + "Could not load LPAR firmware '%s'", filename); } g_free(filename); -- 2.5.0