qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v2 2/3] hw/mips/boston: Allow loading elf kernel and dtb


From: Jiaxun Yang
Subject: Re: [PATCH v2 2/3] hw/mips/boston: Allow loading elf kernel and dtb
Date: Wed, 29 Sep 2021 17:44:03 +0100
User-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.1.1



在 2021/9/29 16:36, BALATON Zoltan 写道:


On Wed, 29 Sep 2021, Jiaxun Yang wrote:

ELF kernel allows us debugging much easier with DWARF symbols.

Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
--
v2: Use g_autofree
---
hw/mips/boston.c | 36 ++++++++++++++++++++++++++++++++----
1 file changed, 32 insertions(+), 4 deletions(-)

diff --git a/hw/mips/boston.c b/hw/mips/boston.c
index 5c720440fb..5d3f054a3e 100644
--- a/hw/mips/boston.c
+++ b/hw/mips/boston.c
@@ -20,6 +20,7 @@
#include "qemu/osdep.h"
#include "qemu/units.h"

+#include "elf.h"
#include "hw/boards.h"
#include "hw/char/serial.h"
#include "hw/ide/pci.h"
@@ -546,10 +547,37 @@ static void boston_mach_init(MachineState *machine)
            exit(1);
        }
    } else if (machine->kernel_filename) {
-        fit_err = load_fit(&boston_fit_loader, machine->kernel_filename, s);
-        if (fit_err) {
-            error_report("unable to load FIT image");
-            exit(1);
+        uint64_t kernel_entry, kernel_low, kernel_high, kernel_size;
+
+        kernel_size = load_elf(machine->kernel_filename, NULL,
+                           cpu_mips_kseg0_to_phys, NULL,
+                           (uint64_t *)&kernel_entry,
+                           (uint64_t *)&kernel_low, (uint64_t *)&kernel_high,

These (uint64_t *) casts should not be needed and kernel_low seems to be unused so you could just pass NULL for it (see commit 617160c9e1f8).
Oops, my fault, will fix in v3.
Thanks!

- Jiaxun

Regards,
BALATON Zoltan




reply via email to

[Prev in Thread] Current Thread [Next in Thread]