diff options
Diffstat (limited to 'device_tree.c')
-rw-r--r-- | device_tree.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/device_tree.c b/device_tree.c index d7a9b6bb89..a9236133c7 100644 --- a/device_tree.c +++ b/device_tree.c @@ -304,3 +304,18 @@ int qemu_devtree_add_subnode(void *fdt, const char *name) g_free(dupname); return retval; } + +void qemu_devtree_dumpdtb(void *fdt, int size) +{ + QemuOpts *machine_opts; + + machine_opts = qemu_opts_find(qemu_find_opts("machine"), 0); + if (machine_opts) { + const char *dumpdtb = qemu_opt_get(machine_opts, "dumpdtb"); + if (dumpdtb) { + /* Dump the dtb to a file and quit */ + exit(g_file_set_contents(dumpdtb, fdt, size, NULL) ? 0 : 1); + } + } + +} |