* [Qemu-devel] [PULL 0/2] target-mips queue @ 2017-07-28 13:07 Yongbok Kim 2017-07-28 13:07 ` [Qemu-devel] [PULL 1/2] hw/mips: load_elf_strerror to report kernel loading failure Yongbok Kim ` (2 more replies) 0 siblings, 3 replies; 4+ messages in thread From: Yongbok Kim @ 2017-07-28 13:07 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell The following changes since commit 871a0f7ad2b9560c5f7d640125c5be95ca23ca7f: Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20170728' into staging (2017-07-28 10:35:02 +0100) are available in the git repository at: git://github.com/yongbok/upstream-qemu.git tags/mips-20170728 for you to fetch changes up to 665df9010aa40d1e028d6ad5d3bdb4d9b0a3294c: Revert "elf-loader: warn about invalid endianness" (2017-07-28 13:32:32 +0100) ---------------------------------------------------------------- MIPS patches 2017-07-28 Changes: * Improve ths MIPS board kernel load error reporting * Revert unnecessary warning messages ---------------------------------------------------------------- Alexey Kardashevskiy (1): Revert "elf-loader: warn about invalid endianness" Aurelien Jarno (1): hw/mips: load_elf_strerror to report kernel loading failure hw/core/loader.c | 1 - hw/mips/mips_fulong2e.c | 15 +++++++++------ hw/mips/mips_malta.c | 14 ++++++++------ hw/mips/mips_mipssim.c | 5 +++-- hw/mips/mips_r4k.c | 6 ++++-- 5 files changed, 24 insertions(+), 17 deletions(-) -- 2.7.4 ^ permalink raw reply [flat|nested] 4+ messages in thread
* [Qemu-devel] [PULL 1/2] hw/mips: load_elf_strerror to report kernel loading failure 2017-07-28 13:07 [Qemu-devel] [PULL 0/2] target-mips queue Yongbok Kim @ 2017-07-28 13:07 ` Yongbok Kim 2017-07-28 13:07 ` [Qemu-devel] [PULL 2/2] Revert "elf-loader: warn about invalid endianness" Yongbok Kim 2017-07-28 17:56 ` [Qemu-devel] [PULL 0/2] target-mips queue Peter Maydell 2 siblings, 0 replies; 4+ messages in thread From: Yongbok Kim @ 2017-07-28 13:07 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Aurelien Jarno From: Aurelien Jarno <aurelien@aurel32.net> Emulated MIPS boards bail out with a simple "could not load kernel" when a kernel could not be load, without specifying the underlying reason. Fix that by calling load_elf_strerror. At the same time use error_report to report the error instead of fprintf. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Tested-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com> --- hw/mips/mips_fulong2e.c | 15 +++++++++------ hw/mips/mips_malta.c | 14 ++++++++------ hw/mips/mips_mipssim.c | 5 +++-- hw/mips/mips_r4k.c | 6 ++++-- 4 files changed, 24 insertions(+), 16 deletions(-) diff --git a/hw/mips/mips_fulong2e.c b/hw/mips/mips_fulong2e.c index 3f3cb32..3532399 100644 --- a/hw/mips/mips_fulong2e.c +++ b/hw/mips/mips_fulong2e.c @@ -110,16 +110,19 @@ static int64_t load_kernel (CPUMIPSState *env) { int64_t kernel_entry, kernel_low, kernel_high; int index = 0; - long initrd_size; + long kernel_size, initrd_size; ram_addr_t initrd_offset; uint32_t *prom_buf; long prom_size; - if (load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, NULL, - (uint64_t *)&kernel_entry, (uint64_t *)&kernel_low, - (uint64_t *)&kernel_high, 0, EM_MIPS, 1, 0) < 0) { - fprintf(stderr, "qemu: could not load kernel '%s'\n", - loaderparams.kernel_filename); + kernel_size = load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, + NULL, (uint64_t *)&kernel_entry, + (uint64_t *)&kernel_low, (uint64_t *)&kernel_high, + 0, EM_MIPS, 1, 0); + if (kernel_size < 0) { + error_report("qemu: could not load kernel '%s': %s", + loaderparams.kernel_filename, + load_elf_strerror(kernel_size)); exit(1); } diff --git a/hw/mips/mips_malta.c b/hw/mips/mips_malta.c index 3487d16..8ecd544 100644 --- a/hw/mips/mips_malta.c +++ b/hw/mips/mips_malta.c @@ -794,7 +794,7 @@ static void GCC_FMT_ATTR(3, 4) prom_set(uint32_t* prom_buf, int index, static int64_t load_kernel (void) { int64_t kernel_entry, kernel_high; - long initrd_size; + long kernel_size, initrd_size; ram_addr_t initrd_offset; int big_endian; uint32_t *prom_buf; @@ -808,11 +808,13 @@ static int64_t load_kernel (void) big_endian = 0; #endif - if (load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, NULL, - (uint64_t *)&kernel_entry, NULL, (uint64_t *)&kernel_high, - big_endian, EM_MIPS, 1, 0) < 0) { - fprintf(stderr, "qemu: could not load kernel '%s'\n", - loaderparams.kernel_filename); + kernel_size = load_elf(loaderparams.kernel_filename, cpu_mips_kseg0_to_phys, + NULL, (uint64_t *)&kernel_entry, NULL, + (uint64_t *)&kernel_high, big_endian, EM_MIPS, 1, 0); + if (kernel_size < 0) { + error_report("qemu: could not load kernel '%s': %s", + loaderparams.kernel_filename, + load_elf_strerror(kernel_size)); exit(1); } diff --git a/hw/mips/mips_mipssim.c b/hw/mips/mips_mipssim.c index 6990b1b..07fc4c2 100644 --- a/hw/mips/mips_mipssim.c +++ b/hw/mips/mips_mipssim.c @@ -78,8 +78,9 @@ static int64_t load_kernel(void) if ((entry & ~0x7fffffffULL) == 0x80000000) entry = (int32_t)entry; } else { - fprintf(stderr, "qemu: could not load kernel '%s'\n", - loaderparams.kernel_filename); + error_report("qemu: could not load kernel '%s': %s", + loaderparams.kernel_filename, + load_elf_strerror(kernel_size)); exit(1); } diff --git a/hw/mips/mips_r4k.c b/hw/mips/mips_r4k.c index 690874b..2f5ced7 100644 --- a/hw/mips/mips_r4k.c +++ b/hw/mips/mips_r4k.c @@ -31,6 +31,7 @@ #include "sysemu/block-backend.h" #include "exec/address-spaces.h" #include "sysemu/qtest.h" +#include "qemu/error-report.h" #define MAX_IDE_BUS 2 @@ -96,8 +97,9 @@ static int64_t load_kernel(void) if ((entry & ~0x7fffffffULL) == 0x80000000) entry = (int32_t)entry; } else { - fprintf(stderr, "qemu: could not load kernel '%s'\n", - loaderparams.kernel_filename); + error_report("qemu: could not load kernel '%s': %s", + loaderparams.kernel_filename, + load_elf_strerror(kernel_size)); exit(1); } -- 2.7.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PULL 2/2] Revert "elf-loader: warn about invalid endianness" 2017-07-28 13:07 [Qemu-devel] [PULL 0/2] target-mips queue Yongbok Kim 2017-07-28 13:07 ` [Qemu-devel] [PULL 1/2] hw/mips: load_elf_strerror to report kernel loading failure Yongbok Kim @ 2017-07-28 13:07 ` Yongbok Kim 2017-07-28 17:56 ` [Qemu-devel] [PULL 0/2] target-mips queue Peter Maydell 2 siblings, 0 replies; 4+ messages in thread From: Yongbok Kim @ 2017-07-28 13:07 UTC (permalink / raw) To: qemu-devel; +Cc: Peter Maydell, Alexey Kardashevskiy, Aurelien Jarno From: Alexey Kardashevskiy <aik@ozlabs.ru> This reverts c8e1158cf611 "elf-loader: warn about invalid endianness" as it produces a useless message every time an LE kernel image is passed via -kernel on a ppc64-pseries machine. The pseries machine already checks for ELF_LOAD_WRONG_ENDIAN and tries with big_endian=0. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Signed-off-by: Yongbok Kim <yongbok.kim@imgtec.com> --- hw/core/loader.c | 1 - 1 file changed, 1 deletion(-) diff --git a/hw/core/loader.c b/hw/core/loader.c index c17ace0..e5e8cbb 100644 --- a/hw/core/loader.c +++ b/hw/core/loader.c @@ -480,7 +480,6 @@ int load_elf_ram(const char *filename, } if (target_data_order != e_ident[EI_DATA]) { - fprintf(stderr, "%s: wrong endianness\n", filename); ret = ELF_LOAD_WRONG_ENDIAN; goto fail; } -- 2.7.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [Qemu-devel] [PULL 0/2] target-mips queue 2017-07-28 13:07 [Qemu-devel] [PULL 0/2] target-mips queue Yongbok Kim 2017-07-28 13:07 ` [Qemu-devel] [PULL 1/2] hw/mips: load_elf_strerror to report kernel loading failure Yongbok Kim 2017-07-28 13:07 ` [Qemu-devel] [PULL 2/2] Revert "elf-loader: warn about invalid endianness" Yongbok Kim @ 2017-07-28 17:56 ` Peter Maydell 2 siblings, 0 replies; 4+ messages in thread From: Peter Maydell @ 2017-07-28 17:56 UTC (permalink / raw) To: Yongbok Kim; +Cc: QEMU Developers On 28 July 2017 at 14:07, Yongbok Kim <yongbok.kim@imgtec.com> wrote: > The following changes since commit 871a0f7ad2b9560c5f7d640125c5be95ca23ca7f: > > Merge remote-tracking branch 'remotes/cohuck/tags/s390x-20170728' into staging (2017-07-28 10:35:02 +0100) > > are available in the git repository at: > > git://github.com/yongbok/upstream-qemu.git tags/mips-20170728 > > for you to fetch changes up to 665df9010aa40d1e028d6ad5d3bdb4d9b0a3294c: > > Revert "elf-loader: warn about invalid endianness" (2017-07-28 13:32:32 +0100) > > ---------------------------------------------------------------- > MIPS patches 2017-07-28 > > Changes: > * Improve ths MIPS board kernel load error reporting > * Revert unnecessary warning messages > > ---------------------------------------------------------------- > > Alexey Kardashevskiy (1): > Revert "elf-loader: warn about invalid endianness" > > Aurelien Jarno (1): > hw/mips: load_elf_strerror to report kernel loading failure > Applied, thanks. -- PMM ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-07-28 17:56 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2017-07-28 13:07 [Qemu-devel] [PULL 0/2] target-mips queue Yongbok Kim 2017-07-28 13:07 ` [Qemu-devel] [PULL 1/2] hw/mips: load_elf_strerror to report kernel loading failure Yongbok Kim 2017-07-28 13:07 ` [Qemu-devel] [PULL 2/2] Revert "elf-loader: warn about invalid endianness" Yongbok Kim 2017-07-28 17:56 ` [Qemu-devel] [PULL 0/2] target-mips queue Peter Maydell
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).