[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH for-7.2 v2 13/20] hw/xtensa: set machine->fdt in xtfpga_init()
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH for-7.2 v2 13/20] hw/xtensa: set machine->fdt in xtfpga_init() |
Date: |
Fri, 5 Aug 2022 06:39:41 -0300 |
This will enable support for 'dumpdtb' and 'info fdt' HMP commands for
all xtensa machines that uses a FDT.
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
hw/xtensa/meson.build | 2 +-
hw/xtensa/xtfpga.c | 11 ++++++++++-
2 files changed, 11 insertions(+), 2 deletions(-)
diff --git a/hw/xtensa/meson.build b/hw/xtensa/meson.build
index 1d5835df4b..ebba51cc74 100644
--- a/hw/xtensa/meson.build
+++ b/hw/xtensa/meson.build
@@ -6,6 +6,6 @@ xtensa_ss.add(files(
))
xtensa_ss.add(when: 'CONFIG_XTENSA_SIM', if_true: files('sim.c'))
xtensa_ss.add(when: 'CONFIG_XTENSA_VIRT', if_true: files('virt.c'))
-xtensa_ss.add(when: 'CONFIG_XTENSA_XTFPGA', if_true: files('xtfpga.c'))
+xtensa_ss.add(when: 'CONFIG_XTENSA_XTFPGA', if_true: [files('xtfpga.c'), fdt])
hw_arch += {'xtensa': xtensa_ss}
diff --git a/hw/xtensa/xtfpga.c b/hw/xtensa/xtfpga.c
index 2a5556a35f..212f5f3dc7 100644
--- a/hw/xtensa/xtfpga.c
+++ b/hw/xtensa/xtfpga.c
@@ -50,6 +50,8 @@
#include "hw/xtensa/mx_pic.h"
#include "migration/vmstate.h"
+#include <libfdt.h>
+
typedef struct XtfpgaFlashDesc {
hwaddr base;
size_t size;
@@ -377,7 +379,14 @@ static void xtfpga_init(const XtfpgaBoardDesc *board,
MachineState *machine)
cur_tagptr = put_tag(cur_tagptr, BP_TAG_FDT,
sizeof(dtb_addr), &dtb_addr);
cur_lowmem = QEMU_ALIGN_UP(cur_lowmem + fdt_size, 4 * KiB);
- 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;
}
#else
if (dtb_filename) {
--
2.36.1
- [PATCH for-7.2 v2 07/20] hw/ppc: set machine->fdt in xilinx_load_device_tree(), (continued)
- [PATCH for-7.2 v2 07/20] hw/ppc: set machine->fdt in xilinx_load_device_tree(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 11/20] hw/riscv: set machine->fdt in sifive_u_machine_init(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 05/20] hw/ppc: set machine->fdt in bamboo_load_device_tree(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 12/20] hw/riscv: set machine->fdt in spike_board_init(), Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 15/20] qmp/hmp, device_tree.c: introduce 'info fdt' command, Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 13/20] hw/xtensa: set machine->fdt in xtfpga_init(),
Daniel Henrique Barboza <=
- [PATCH for-7.2 v2 18/20] device_node.c: enable 'info fdt' to print subnodes, Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 17/20] device_tree.c: support remaining FDT prop types, Daniel Henrique Barboza, 2022/08/05
- [PATCH for-7.2 v2 14/20] qmp/hmp, device_tree.c: introduce dumpdtb, Daniel Henrique Barboza, 2022/08/05
[PATCH for-7.2 v2 16/20] device_tree.c: support string props in fdt_format_node(), Daniel Henrique Barboza, 2022/08/05