[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH for-7.2 v3 00/20] QMP/HMP: add 'dumpdtb' and 'info fdt' commands
From: |
Daniel Henrique Barboza |
Subject: |
[PATCH for-7.2 v3 00/20] QMP/HMP: add 'dumpdtb' and 'info fdt' commands |
Date: |
Tue, 16 Aug 2022 14:34:08 -0300 |
Hi,
In this new version the most notable changes are:
- removed fdt_pack() from machine specific code. As discussed in the previous
version, the proper use of fdt_pack() would require more work/thought and,
since it's not required for the work we're doing here, it was removed;
- we're now handling string arrays. The previous version was interpreting
all string properties as a single, plain string. We're now dealing with string
arrays instead;
- changed the output format to be more in line with the dts format.
Other small changes were made based on the feeback of the previous version.
Changes from v2:
- patches 1-8:
- remove fdt_pack() to shrink the FDT before assigning it to ms->fdt
- patch 9:
- call g_free(ms->fdt) to avoid leaking an old fdt during reset
- patch 10:
- added a commit msg note about why we're not eliminating spapr->fdt_blob
for machine->fdt at this moment
- patches 11, 12:
- remove fdt_pack() to shrink the FDT before assigning it to ms->fdt
- added Alistair's r-b
- patch 13:
- remove fdt_pack() to shrink the FDT before assigning it to ms->fdt
- patch 14:
- added a commit msg note about BQL
- patch 15:
- added a commit msg note about BQL
- patch 16:
- renamed fdt_prop_is_string to fdt_prop_is_string_array. \0 characters
in the middle of the data array is now legal
- added a new fdt_prop_format_string_array() to format the string array
- added a semicolon at the end of the string array
- patch 17:
- added semicolon at the end of properties
- use %02x instead of %x to format vals in [] notation
- v2 link: https://lists.gnu.org/archive/html/qemu-devel/2022-08/msg00937.html
Daniel Henrique Barboza (20):
hw/arm: do not free machine->fdt in arm_load_dtb()
hw/microblaze: set machine->fdt in microblaze_load_dtb()
hw/nios2: set machine->fdt in nios2_load_dtb()
hw/ppc: set machine->fdt in ppce500_load_device_tree()
hw/ppc: set machine->fdt in bamboo_load_device_tree()
hw/ppc: set machine->fdt in sam460ex_load_device_tree()
hw/ppc: set machine->fdt in xilinx_load_device_tree()
hw/ppc: set machine->fdt in pegasos2_machine_reset()
hw/ppc: set machine->fdt in pnv_reset()
hw/ppc: set machine->fdt in spapr machine
hw/riscv: set machine->fdt in sifive_u_machine_init()
hw/riscv: set machine->fdt in spike_board_init()
hw/xtensa: set machine->fdt in xtfpga_init()
qmp/hmp, device_tree.c: introduce dumpdtb
qmp/hmp, device_tree.c: introduce 'info fdt' command
device_tree.c: support string array prop in fdt_format_node()
device_tree.c: support remaining FDT prop types
device_node.c: enable 'info fdt' to print subnodes
device_tree.c: add fdt_format_property() helper
hmp, device_tree.c: add 'info fdt <property>' support
hmp-commands-info.hx | 14 +++
hmp-commands.hx | 13 +++
hw/arm/boot.c | 6 +-
hw/microblaze/boot.c | 11 +-
hw/microblaze/meson.build | 2 +-
hw/nios2/boot.c | 11 +-
hw/nios2/meson.build | 2 +-
hw/ppc/e500.c | 13 ++-
hw/ppc/pegasos2.c | 7 ++
hw/ppc/pnv.c | 8 +-
hw/ppc/ppc440_bamboo.c | 11 +-
hw/ppc/sam460ex.c | 8 +-
hw/ppc/spapr.c | 6 +
hw/ppc/spapr_hcall.c | 8 ++
hw/ppc/virtex_ml507.c | 11 +-
hw/riscv/sifive_u.c | 6 +
hw/riscv/spike.c | 9 ++
hw/xtensa/meson.build | 2 +-
hw/xtensa/xtfpga.c | 9 +-
include/monitor/hmp.h | 2 +
include/sysemu/device_tree.h | 7 ++
monitor/hmp-cmds.c | 28 +++++
monitor/qmp-cmds.c | 27 +++++
qapi/machine.json | 38 ++++++
softmmu/device_tree.c | 219 +++++++++++++++++++++++++++++++++++
25 files changed, 466 insertions(+), 12 deletions(-)
--
2.37.2
- [PATCH for-7.2 v3 00/20] QMP/HMP: add 'dumpdtb' and 'info fdt' commands,
Daniel Henrique Barboza <=
- [PATCH for-7.2 v3 01/20] hw/arm: do not free machine->fdt in arm_load_dtb(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 02/20] hw/microblaze: set machine->fdt in microblaze_load_dtb(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 03/20] hw/nios2: set machine->fdt in nios2_load_dtb(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 04/20] hw/ppc: set machine->fdt in ppce500_load_device_tree(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 05/20] hw/ppc: set machine->fdt in bamboo_load_device_tree(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 06/20] hw/ppc: set machine->fdt in sam460ex_load_device_tree(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 07/20] hw/ppc: set machine->fdt in xilinx_load_device_tree(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 08/20] hw/ppc: set machine->fdt in pegasos2_machine_reset(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 09/20] hw/ppc: set machine->fdt in pnv_reset(), Daniel Henrique Barboza, 2022/08/16
- [PATCH for-7.2 v3 13/20] hw/xtensa: set machine->fdt in xtfpga_init(), Daniel Henrique Barboza, 2022/08/16