[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 4/4] spapr: add more details error description of wh
From: |
Alexey Kardashevskiy |
Subject: |
[Qemu-devel] [PATCH 4/4] spapr: add more details error description of why load_elf() failed |
Date: |
Wed, 22 Jan 2014 16:20:41 +1100 |
This makes use of new error codes which load_elf() can return.
Signed-off-by: Alexey Kardashevskiy <address@hidden>
---
hw/ppc/spapr.c | 17 ++++++++++++++---
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/hw/ppc/spapr.c b/hw/ppc/spapr.c
index 851ce4b..18a4872 100644
--- a/hw/ppc/spapr.c
+++ b/hw/ppc/spapr.c
@@ -1306,15 +1306,26 @@ static void ppc_spapr_init(QEMUMachineInitArgs *args)
kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL,
NULL, &lowaddr, NULL, 1, ELF_MACHINE, 0);
- if (kernel_size < 0) {
+ if (kernel_size == ELF_LOAD_WRONG_ENDIAN) {
kernel_size = load_elf(kernel_filename,
translate_kernel_address, NULL,
NULL, &lowaddr, NULL, 0, ELF_MACHINE, 0);
kernel_le = kernel_size > 0;
}
if (kernel_size < 0) {
- fprintf(stderr, "qemu: could not load kernel '%s'\n",
- kernel_filename);
+ switch (kernel_size) {
+ case ELF_LOAD_WRONG_ARCH:
+ fprintf(stderr, "qemu: could not load kernel '%s' from
incompatible arhitecture\n",
+ kernel_filename);
+ break;
+ case ELF_LOAD_NOT_ELF:
+ fprintf(stderr, "qemu: '%s' is not ELF\n", kernel_filename);
+ break;
+ default:
+ fprintf(stderr, "qemu: could not load kernel '%s'\n",
+ kernel_filename);
+ break;
+ }
exit(1);
}
--
1.8.4.rc4