[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH for-7.2 v2 02/20] hw/microblaze: set machine->fdt in microblaze_l
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH for-7.2 v2 02/20] hw/microblaze: set machine->fdt in microblaze_load_dtb() |
Date: |
Fri, 5 Aug 2022 06:39:30 -0300 |
This will enable support for 'dumpdtb' and 'info fdt' HMP commands for
all microblaze machines that uses microblaze_load_dtb().
Cc: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
hw/microblaze/boot.c | 13 ++++++++++++-
hw/microblaze/meson.build | 2 +-
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c
index 8b92a9801a..001cdefd5c 100644
--- a/hw/microblaze/boot.c
+++ b/hw/microblaze/boot.c
@@ -39,6 +39,8 @@
#include "boot.h"
+#include <libfdt.h>
+
static struct
{
void (*machine_cpu_reset)(MicroBlazeCPU *);
@@ -72,6 +74,7 @@ static int microblaze_load_dtb(hwaddr addr,
const char *kernel_cmdline,
const char *dtb_filename)
{
+ MachineState *machine = MACHINE(qdev_get_machine());
int fdt_size;
void *fdt = NULL;
int r;
@@ -100,7 +103,15 @@ static int microblaze_load_dtb(hwaddr addr,
}
cpu_physical_memory_write(addr, fdt, fdt_size);
- g_free(fdt);
+
+ /*
+ * Update the machine->fdt pointer to enable support for
+ * 'dumpdtb' and 'info fdt' commands. Use fdt_pack() to
+ * shrink the blob size we're going to store.
+ */
+ fdt_pack(fdt);
+ machine->fdt = fdt;
+
return fdt_size;
}
diff --git a/hw/microblaze/meson.build b/hw/microblaze/meson.build
index bb9e4eb8f4..a38a397872 100644
--- a/hw/microblaze/meson.build
+++ b/hw/microblaze/meson.build
@@ -1,5 +1,5 @@
microblaze_ss = ss.source_set()
-microblaze_ss.add(files('boot.c'))
+microblaze_ss.add(files('boot.c'), fdt)
microblaze_ss.add(when: 'CONFIG_PETALOGIX_S3ADSP1800', if_true:
files('petalogix_s3adsp1800_mmu.c'))
microblaze_ss.add(when: 'CONFIG_PETALOGIX_ML605', if_true:
files('petalogix_ml605_mmu.c'))
microblaze_ss.add(when: 'CONFIG_XLNX_ZYNQMP_PMU', if_true:
files('xlnx-zynqmp-pmu.c'))
--
2.36.1
- [PATCH for-7.2 v2 00/20] QMP/HMP: add 'dumpdtb' and 'info fdt' commands, Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 02/20] hw/microblaze: set machine->fdt in microblaze_load_dtb(),
Daniel Henrique Barboza <=
- [PATCH for-7.2 v2 03/20] hw/nios2: set machine->fdt in nios2_load_dtb(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 04/20] hw/ppc: set machine->fdt in ppce500_load_device_tree(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 06/20] hw/ppc: set machine->fdt in sam460ex_load_device_tree(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 08/20] hw/ppc: set machine->fdt in pegasos2_machine_reset(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 09/20] hw/ppc: set machine->fdt in pnv_reset(), Daniel Henrique Barboza, 2022/08/05
- Re: [PATCH for-7.2 v2 09/20] hw/ppc: set machine->fdt in pnv_reset(), Cédric Le Goater, 2022/08/08