All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Henrique Barboza <danielhb413@gmail.com>
To: qemu-devel@nongnu.org
Cc: "Daniel Henrique Barboza" <danielhb413@gmail.com>,
	"Edgar E . Iglesias" <edgar.iglesias@gmail.com>,
	"Philippe Mathieu-Daudé" <f4bug@amsat.org>
Subject: [PATCH v8 10/16] hw/ppc: set machine->fdt in xilinx_load_device_tree()
Date: Mon, 26 Sep 2022 14:38:49 -0300	[thread overview]
Message-ID: <20220926173855.1159396-11-danielhb413@gmail.com> (raw)
In-Reply-To: <20220926173855.1159396-1-danielhb413@gmail.com>

This will enable support for 'dumpdtb' QMP/HMP command for the
virtex_ml507 machine.

Setting machine->fdt requires a MachineState pointer to be used inside
xilinx_load_device_tree(). Let's change the function to receive this
pointer from the caller. kernel_cmdline' can be retrieved directly from
the 'machine' pointer. 'ramsize' wasn't being used so can be removed.

Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
 hw/ppc/virtex_ml507.c | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/hw/ppc/virtex_ml507.c b/hw/ppc/virtex_ml507.c
index 493ea0c19f..13cace229b 100644
--- a/hw/ppc/virtex_ml507.c
+++ b/hw/ppc/virtex_ml507.c
@@ -45,6 +45,8 @@
 #include "hw/qdev-properties.h"
 #include "ppc405.h"
 
+#include <libfdt.h>
+
 #define EPAPR_MAGIC    (0x45504150)
 #define FLASH_SIZE     (16 * MiB)
 
@@ -144,11 +146,10 @@ static void main_cpu_reset(void *opaque)
 }
 
 #define BINARY_DEVICE_TREE_FILE "virtex-ml507.dtb"
-static int xilinx_load_device_tree(hwaddr addr,
-                                      uint32_t ramsize,
-                                      hwaddr initrd_base,
-                                      hwaddr initrd_size,
-                                      const char *kernel_cmdline)
+static int xilinx_load_device_tree(MachineState *machine,
+                                   hwaddr addr,
+                                   hwaddr initrd_base,
+                                   hwaddr initrd_size)
 {
     char *path;
     int fdt_size;
@@ -190,18 +191,21 @@ static int xilinx_load_device_tree(hwaddr addr,
         error_report("couldn't set /chosen/linux,initrd-end");
     }
 
-    r = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs", kernel_cmdline);
+    r = qemu_fdt_setprop_string(fdt, "/chosen", "bootargs",
+                                machine->kernel_cmdline);
     if (r < 0)
         fprintf(stderr, "couldn't set /chosen/bootargs\n");
     cpu_physical_memory_write(addr, fdt, fdt_size);
-    g_free(fdt);
+
+    /* Set machine->fdt for 'dumpdtb' QMP/HMP command */
+    machine->fdt = fdt;
+
     return fdt_size;
 }
 
 static void virtex_init(MachineState *machine)
 {
     const char *kernel_filename = machine->kernel_filename;
-    const char *kernel_cmdline = machine->kernel_cmdline;
     hwaddr initrd_base = 0;
     int initrd_size = 0;
     MemoryRegion *address_space_mem = get_system_memory();
@@ -294,9 +298,8 @@ static void virtex_init(MachineState *machine)
         boot_info.fdt = high + (8192 * 2);
         boot_info.fdt &= ~8191;
 
-        xilinx_load_device_tree(boot_info.fdt, machine->ram_size,
-                                initrd_base, initrd_size,
-                                kernel_cmdline);
+        xilinx_load_device_tree(machine, boot_info.fdt,
+                                initrd_base, initrd_size);
     }
     env->load_info = &boot_info;
 }
-- 
2.37.3



  parent reply	other threads:[~2022-09-26 19:02 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-09-26 17:38 [PATCH v8 00/16] QMP/HMP: introduce 'dumpdtb' Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 01/16] qmp/hmp, device_tree.c: introduce dumpdtb Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 02/16] hw/core: free ms->fdt in machine_finalize() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 03/16] hw/arm: do not free machine->fdt in arm_load_dtb() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 04/16] hw/mips: set machine->fdt in boston_mach_init() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 05/16] hw/microblaze: set machine->fdt in microblaze_load_dtb() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 06/16] hw/nios2: set machine->fdt in nios2_load_dtb() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 07/16] hw/ppc: set machine->fdt in ppce500_load_device_tree() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 08/16] hw/ppc: set machine->fdt in bamboo_load_device_tree() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 09/16] hw/ppc: set machine->fdt in sam460ex_load_device_tree() Daniel Henrique Barboza
2022-09-26 17:38 ` Daniel Henrique Barboza [this message]
2022-09-26 17:38 ` [PATCH v8 11/16] hw/ppc: set machine->fdt in pegasos2_machine_reset() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 12/16] hw/ppc: set machine->fdt in pnv_reset() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 13/16] hw/ppc: set machine->fdt in spapr machine Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 14/16] hw/riscv: set machine->fdt in sifive_u_machine_init() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 15/16] hw/riscv: set machine->fdt in spike_board_init() Daniel Henrique Barboza
2022-09-26 17:38 ` [PATCH v8 16/16] hw/xtensa: set machine->fdt in xtfpga_init() Daniel Henrique Barboza
2022-10-08 10:52 ` [PATCH v8 00/16] QMP/HMP: introduce 'dumpdtb' Daniel Henrique Barboza
2022-10-15 12:06 ` Daniel Henrique Barboza

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220926173855.1159396-11-danielhb413@gmail.com \
    --to=danielhb413@gmail.com \
    --cc=edgar.iglesias@gmail.com \
    --cc=f4bug@amsat.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.