mirror of
https://github.com/qemu/qemu.git
synced 2024-11-26 04:13:39 +08:00
hw: Don't use hw_error() for machine initialization errors
Printing CPU registers is not helpful during machine initialization. Moreover, these are straightforward configuration or "can get resources" errors, so dumping core isn't appropriate either. Replace hw_error() by error_report(); exit(1). Matches how we report these errors in other machine initializations. Cc: Richard Henderson <rth@twiddle.net> Cc: qemu-arm@nongnu.org Cc: qemu-ppc@nongnu.org Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Signed-off-by: Markus Armbruster <armbru@pond.sub.org> Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-Id: <1450370121-5768-2-git-send-email-armbru@redhat.com> Reviewed-by: Richard Henderson <rth@twiddle.net>
This commit is contained in:
parent
6231a6da9f
commit
c525436e69
@ -11,6 +11,7 @@
|
|||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "alpha_sys.h"
|
#include "alpha_sys.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "hw/timer/mc146818rtc.h"
|
#include "hw/timer/mc146818rtc.h"
|
||||||
#include "hw/ide.h"
|
#include "hw/ide.h"
|
||||||
@ -104,14 +105,14 @@ static void clipper_init(MachineState *machine)
|
|||||||
palcode_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS,
|
palcode_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS,
|
||||||
bios_name ? bios_name : "palcode-clipper");
|
bios_name ? bios_name : "palcode-clipper");
|
||||||
if (palcode_filename == NULL) {
|
if (palcode_filename == NULL) {
|
||||||
hw_error("no palcode provided\n");
|
error_report("no palcode provided");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
size = load_elf(palcode_filename, cpu_alpha_superpage_to_phys,
|
size = load_elf(palcode_filename, cpu_alpha_superpage_to_phys,
|
||||||
NULL, &palcode_entry, &palcode_low, &palcode_high,
|
NULL, &palcode_entry, &palcode_low, &palcode_high,
|
||||||
0, EM_ALPHA, 0);
|
0, EM_ALPHA, 0);
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
hw_error("could not load palcode '%s'\n", palcode_filename);
|
error_report("could not load palcode '%s'", palcode_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
g_free(palcode_filename);
|
g_free(palcode_filename);
|
||||||
@ -131,7 +132,7 @@ static void clipper_init(MachineState *machine)
|
|||||||
NULL, &kernel_entry, &kernel_low, &kernel_high,
|
NULL, &kernel_entry, &kernel_low, &kernel_high,
|
||||||
0, EM_ALPHA, 0);
|
0, EM_ALPHA, 0);
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
hw_error("could not load kernel '%s'\n", kernel_filename);
|
error_report("could not load kernel '%s'", kernel_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,8 +149,8 @@ static void clipper_init(MachineState *machine)
|
|||||||
|
|
||||||
initrd_size = get_image_size(initrd_filename);
|
initrd_size = get_image_size(initrd_filename);
|
||||||
if (initrd_size < 0) {
|
if (initrd_size < 0) {
|
||||||
hw_error("could not load initial ram disk '%s'\n",
|
error_report("could not load initial ram disk '%s'",
|
||||||
initrd_filename);
|
initrd_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -315,11 +315,13 @@ static void calxeda_init(MachineState *machine, enum cxmachines machine_id)
|
|||||||
sysboot_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
|
sysboot_filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name);
|
||||||
if (sysboot_filename != NULL) {
|
if (sysboot_filename != NULL) {
|
||||||
if (load_image_targphys(sysboot_filename, 0xfff88000, 0x8000) < 0) {
|
if (load_image_targphys(sysboot_filename, 0xfff88000, 0x8000) < 0) {
|
||||||
hw_error("Unable to load %s\n", bios_name);
|
error_report("Unable to load %s", bios_name);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
g_free(sysboot_filename);
|
g_free(sysboot_filename);
|
||||||
} else {
|
} else {
|
||||||
hw_error("Unable to find %s\n", bios_name);
|
error_report("Unable to find %s", bios_name);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -20,6 +20,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "hw/sysbus.h"
|
#include "hw/sysbus.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/sysemu.h"
|
#include "sysemu/sysemu.h"
|
||||||
#include "sysemu/char.h"
|
#include "sysemu/char.h"
|
||||||
|
|
||||||
@ -595,15 +596,17 @@ DeviceState *exynos4210_uart_create(hwaddr addr,
|
|||||||
|
|
||||||
if (!chr) {
|
if (!chr) {
|
||||||
if (channel >= MAX_SERIAL_PORTS) {
|
if (channel >= MAX_SERIAL_PORTS) {
|
||||||
hw_error("Only %d serial ports are supported by QEMU.\n",
|
error_report("Only %d serial ports are supported by QEMU",
|
||||||
MAX_SERIAL_PORTS);
|
MAX_SERIAL_PORTS);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
chr = serial_hds[channel];
|
chr = serial_hds[channel];
|
||||||
if (!chr) {
|
if (!chr) {
|
||||||
snprintf(label, ARRAY_SIZE(label), "%s%d", chr_name, channel);
|
snprintf(label, ARRAY_SIZE(label), "%s%d", chr_name, channel);
|
||||||
chr = qemu_chr_new(label, "null", NULL);
|
chr = qemu_chr_new(label, "null", NULL);
|
||||||
if (!(chr)) {
|
if (!(chr)) {
|
||||||
hw_error("Can't assign serial port to UART%d.\n", channel);
|
error_report("Can't assign serial port to UART%d", channel);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
#include "elf.h"
|
#include "elf.h"
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/qtest.h"
|
#include "sysemu/qtest.h"
|
||||||
|
|
||||||
#define KERNEL_LOAD_ADDR 0x10000
|
#define KERNEL_LOAD_ADDR 0x10000
|
||||||
@ -39,7 +40,8 @@ static void an5206_init(MachineState *machine)
|
|||||||
}
|
}
|
||||||
cpu = cpu_m68k_init(cpu_model);
|
cpu = cpu_m68k_init(cpu_model);
|
||||||
if (!cpu) {
|
if (!cpu) {
|
||||||
hw_error("Unable to find m68k CPU definition\n");
|
error_report("Unable to find m68k CPU definition");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
env = &cpu->env;
|
env = &cpu->env;
|
||||||
|
|
||||||
|
@ -62,6 +62,7 @@
|
|||||||
#include "hw/ide.h"
|
#include "hw/ide.h"
|
||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
#include "elf.h"
|
#include "elf.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
#include "kvm_ppc.h"
|
#include "kvm_ppc.h"
|
||||||
#include "hw/usb.h"
|
#include "hw/usb.h"
|
||||||
@ -226,7 +227,7 @@ static void ppc_core99_init(MachineState *machine)
|
|||||||
bios_size = -1;
|
bios_size = -1;
|
||||||
}
|
}
|
||||||
if (bios_size < 0 || bios_size > BIOS_SIZE) {
|
if (bios_size < 0 || bios_size > BIOS_SIZE) {
|
||||||
hw_error("qemu: could not load PowerPC bios '%s'\n", bios_name);
|
error_report("could not load PowerPC bios '%s'", bios_name);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -252,7 +253,7 @@ static void ppc_core99_init(MachineState *machine)
|
|||||||
kernel_base,
|
kernel_base,
|
||||||
ram_size - kernel_base);
|
ram_size - kernel_base);
|
||||||
if (kernel_size < 0) {
|
if (kernel_size < 0) {
|
||||||
hw_error("qemu: could not load kernel '%s'\n", kernel_filename);
|
error_report("could not load kernel '%s'", kernel_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
/* load initrd */
|
/* load initrd */
|
||||||
@ -261,8 +262,8 @@ static void ppc_core99_init(MachineState *machine)
|
|||||||
initrd_size = load_image_targphys(initrd_filename, initrd_base,
|
initrd_size = load_image_targphys(initrd_filename, initrd_base,
|
||||||
ram_size - initrd_base);
|
ram_size - initrd_base);
|
||||||
if (initrd_size < 0) {
|
if (initrd_size < 0) {
|
||||||
hw_error("qemu: could not load initial ram disk '%s'\n",
|
error_report("could not load initial ram disk '%s'",
|
||||||
initrd_filename);
|
initrd_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
cmdline_base = round_page(initrd_base + initrd_size);
|
cmdline_base = round_page(initrd_base + initrd_size);
|
||||||
@ -344,7 +345,7 @@ static void ppc_core99_init(MachineState *machine)
|
|||||||
break;
|
break;
|
||||||
#endif /* defined(TARGET_PPC64) */
|
#endif /* defined(TARGET_PPC64) */
|
||||||
default:
|
default:
|
||||||
hw_error("Bus model not supported on mac99 machine\n");
|
error_report("Bus model not supported on mac99 machine");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
#include "hw/ide.h"
|
#include "hw/ide.h"
|
||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
#include "elf.h"
|
#include "elf.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/kvm.h"
|
#include "sysemu/kvm.h"
|
||||||
#include "kvm_ppc.h"
|
#include "kvm_ppc.h"
|
||||||
#include "sysemu/block-backend.h"
|
#include "sysemu/block-backend.h"
|
||||||
@ -153,7 +154,7 @@ static void ppc_heathrow_init(MachineState *machine)
|
|||||||
bios_size = -1;
|
bios_size = -1;
|
||||||
}
|
}
|
||||||
if (bios_size < 0 || bios_size > BIOS_SIZE) {
|
if (bios_size < 0 || bios_size > BIOS_SIZE) {
|
||||||
hw_error("qemu: could not load PowerPC bios '%s'\n", bios_name);
|
error_report("could not load PowerPC bios '%s'", bios_name);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -178,8 +179,7 @@ static void ppc_heathrow_init(MachineState *machine)
|
|||||||
kernel_base,
|
kernel_base,
|
||||||
ram_size - kernel_base);
|
ram_size - kernel_base);
|
||||||
if (kernel_size < 0) {
|
if (kernel_size < 0) {
|
||||||
hw_error("qemu: could not load kernel '%s'\n",
|
error_report("could not load kernel '%s'", kernel_filename);
|
||||||
kernel_filename);
|
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
/* load initrd */
|
/* load initrd */
|
||||||
@ -188,8 +188,8 @@ static void ppc_heathrow_init(MachineState *machine)
|
|||||||
initrd_size = load_image_targphys(initrd_filename, initrd_base,
|
initrd_size = load_image_targphys(initrd_filename, initrd_base,
|
||||||
ram_size - initrd_base);
|
ram_size - initrd_base);
|
||||||
if (initrd_size < 0) {
|
if (initrd_size < 0) {
|
||||||
hw_error("qemu: could not load initial ram disk '%s'\n",
|
error_report("could not load initial ram disk '%s'",
|
||||||
initrd_filename);
|
initrd_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
cmdline_base = round_page(initrd_base + initrd_size);
|
cmdline_base = round_page(initrd_base + initrd_size);
|
||||||
@ -246,7 +246,8 @@ static void ppc_heathrow_init(MachineState *machine)
|
|||||||
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT];
|
((qemu_irq *)env->irq_inputs)[PPC6xx_INPUT_INT];
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
hw_error("Bus model not supported on OldWorld Mac machine\n");
|
error_report("Bus model not supported on OldWorld Mac machine");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -259,7 +260,8 @@ static void ppc_heathrow_init(MachineState *machine)
|
|||||||
|
|
||||||
/* init basic PC hardware */
|
/* init basic PC hardware */
|
||||||
if (PPC_INPUT(env) != PPC_FLAGS_INPUT_6xx) {
|
if (PPC_INPUT(env) != PPC_FLAGS_INPUT_6xx) {
|
||||||
hw_error("Only 6xx bus is supported on heathrow machine\n");
|
error_report("Only 6xx bus is supported on heathrow machine");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
pic = heathrow_pic_init(&pic_mem, 1, heathrow_irqs);
|
pic = heathrow_pic_init(&pic_mem, 1, heathrow_irqs);
|
||||||
pci_bus = pci_grackle_init(0xfec00000, pic,
|
pci_bus = pci_grackle_init(0xfec00000, pic,
|
||||||
|
@ -33,6 +33,7 @@
|
|||||||
#include "hw/pci/pci_host.h"
|
#include "hw/pci/pci_host.h"
|
||||||
#include "hw/ppc/ppc.h"
|
#include "hw/ppc/ppc.h"
|
||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
#include "qemu/log.h"
|
#include "qemu/log.h"
|
||||||
#include "hw/ide.h"
|
#include "hw/ide.h"
|
||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
@ -532,7 +533,7 @@ static void ppc_prep_init(MachineState *machine)
|
|||||||
kernel_size = load_image_targphys(kernel_filename, kernel_base,
|
kernel_size = load_image_targphys(kernel_filename, kernel_base,
|
||||||
ram_size - kernel_base);
|
ram_size - kernel_base);
|
||||||
if (kernel_size < 0) {
|
if (kernel_size < 0) {
|
||||||
hw_error("qemu: could not load kernel '%s'\n", kernel_filename);
|
error_report("could not load kernel '%s'", kernel_filename);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
/* load initrd */
|
/* load initrd */
|
||||||
@ -541,8 +542,9 @@ static void ppc_prep_init(MachineState *machine)
|
|||||||
initrd_size = load_image_targphys(initrd_filename, initrd_base,
|
initrd_size = load_image_targphys(initrd_filename, initrd_base,
|
||||||
ram_size - initrd_base);
|
ram_size - initrd_base);
|
||||||
if (initrd_size < 0) {
|
if (initrd_size < 0) {
|
||||||
hw_error("qemu: could not load initial ram disk '%s'\n",
|
error_report("could not load initial ram disk '%s'",
|
||||||
initrd_filename);
|
initrd_filename);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
initrd_base = 0;
|
initrd_base = 0;
|
||||||
@ -569,7 +571,8 @@ static void ppc_prep_init(MachineState *machine)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (PPC_INPUT(env) != PPC_FLAGS_INPUT_6xx) {
|
if (PPC_INPUT(env) != PPC_FLAGS_INPUT_6xx) {
|
||||||
hw_error("Only 6xx bus is supported on PREP machine\n");
|
error_report("Only 6xx bus is supported on PREP machine");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
dev = qdev_create(NULL, "raven-pcihost");
|
dev = qdev_create(NULL, "raven-pcihost");
|
||||||
|
@ -17,6 +17,7 @@
|
|||||||
#include "hw/boards.h"
|
#include "hw/boards.h"
|
||||||
#include "hw/loader.h"
|
#include "hw/loader.h"
|
||||||
#include "hw/i386/pc.h"
|
#include "hw/i386/pc.h"
|
||||||
|
#include "qemu/error-report.h"
|
||||||
#include "sysemu/qtest.h"
|
#include "sysemu/qtest.h"
|
||||||
|
|
||||||
#undef DEBUG_PUV3
|
#undef DEBUG_PUV3
|
||||||
@ -95,7 +96,8 @@ static void puv3_load_kernel(const char *kernel_filename)
|
|||||||
size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR,
|
size = load_image_targphys(kernel_filename, KERNEL_LOAD_ADDR,
|
||||||
KERNEL_MAX_SIZE);
|
KERNEL_MAX_SIZE);
|
||||||
if (size < 0) {
|
if (size < 0) {
|
||||||
hw_error("Load kernel error: '%s'\n", kernel_filename);
|
error_report("Load kernel error: '%s'", kernel_filename);
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* cheat curses that we have a graphic console, only under ocd console */
|
/* cheat curses that we have a graphic console, only under ocd console */
|
||||||
@ -112,7 +114,8 @@ static void puv3_init(MachineState *machine)
|
|||||||
UniCore32CPU *cpu;
|
UniCore32CPU *cpu;
|
||||||
|
|
||||||
if (initrd_filename) {
|
if (initrd_filename) {
|
||||||
hw_error("Please use kernel built-in initramdisk.\n");
|
error_report("Please use kernel built-in initramdisk");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!cpu_model) {
|
if (!cpu_model) {
|
||||||
@ -121,7 +124,8 @@ static void puv3_init(MachineState *machine)
|
|||||||
|
|
||||||
cpu = uc32_cpu_init(cpu_model);
|
cpu = uc32_cpu_init(cpu_model);
|
||||||
if (!cpu) {
|
if (!cpu) {
|
||||||
hw_error("Unable to find CPU definition\n");
|
error_report("Unable to find CPU definition");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
env = &cpu->env;
|
env = &cpu->env;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user