qemu/include/system
Peter Maydell 8fd2518ef2 hw: Centralize handling of -machine dumpdtb option
Currently we handle the 'dumpdtb' machine sub-option ad-hoc in every
board model that has an FDT.  It's up to the board code to make sure
it calls qemu_fdt_dumpdtb() in the right place.

This means we're inconsistent and often just ignore the user's
command line argument:
 * if the board doesn't have an FDT at all
 * if the board supports FDT, but there happens not to be one
   present (usually because of a missing -fdt option)

This isn't very helpful because it gives the user no clue why their
option was ignored.

However, in order to support the QMP/HMP dumpdtb commands we require
now that every FDT machine stores a pointer to the FDT in
MachineState::fdt.  This means we can handle -machine dumpdtb
centrally by calling the qmp_dumpdtb() function, unifying its
handling with the QMP/HMP commands.  All the board code calls to
qemu_fdt_dumpdtb() can then be removed.

For this commit we retain the existing behaviour that if there
is no FDT we silently ignore the -machine dumpdtb option.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
2025-02-24 15:03:42 +00:00
..
accel-blocker.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
accel-ops.h system/accel-ops: Remove unnecessary 'exec/cpu-common.h' header 2024-12-20 17:44:57 +01:00
arch_init.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
balloon.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
block-backend-common.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
block-backend-global-state.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
block-backend-io.h block: Improve blk_get_attached_dev_id() docstring 2025-02-06 13:59:00 +01:00
block-backend.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
block-ram-registrar.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
blockdev.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
confidential-guest-support.h system: Move 'exec/confidential-guest-support.h' to system/ 2024-12-20 17:44:56 +01:00
cpu-throttle.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
cpu-timers-internal.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
cpu-timers.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
cpus.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
cryptodev-vhost-user.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
cryptodev-vhost.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
cryptodev.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
device_tree.h hw: Centralize handling of -machine dumpdtb option 2025-02-24 15:03:42 +00:00
dirtylimit.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dirtyrate.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dma.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dump-arch.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
dump.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
event-loop-base.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
host_iommu_device.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
hostmem.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
hvf.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
hvf_int.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
hw_accel.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
iommufd.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
iothread.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
kvm.h Accel & Exec patch queue 2024-12-21 11:07:00 -05:00
kvm_int.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
kvm_xen.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
memory_mapping.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
numa.h system/numa: Remove unnecessary 'exec/cpu-common.h' header 2024-12-20 17:44:57 +01:00
nvmm.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
os-posix.h os: add an ability to lock memory on_fault 2025-02-12 11:36:01 -05:00
os-win32.h os: add an ability to lock memory on_fault 2025-02-12 11:36:01 -05:00
qtest.h tests/qtest: rename qtest_send_prefix and roll-up into qtest_send 2025-02-10 13:47:58 +00:00
replay.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
reset.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
rng-random.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
rng.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
rtc.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
runstate-action.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
runstate.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
seccomp.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
spdm-socket.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
stats.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
system.h overcommit: introduce mem-lock=on-fault 2025-02-12 11:36:13 -05:00
tcg.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tpm.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tpm_backend.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tpm_util.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
vhost-user-backend.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
watchdog.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
whpx.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xen-mapcache.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
xen.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00