All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.