On 7/25/22 06:11, Daniel P. Berrangé wrote:
On Fri, Jul 22, 2022 at 04:59:57PM -0300, Daniel Henrique Barboza wrote:Hi, After dealing with a FDT element that isn't being shown in the userspace and having to shutdown the guest, dump the FDT using 'machine -dumpdtb' and then using 'dtc' to see what was inside the FDT, I thought it was a good idea to add extra support for FDT handling in QEMU. This series introduces 2 commands. 'fdt-save' behaves similar to what 'machine -dumpdtb' does, with the advantage of saving the FDT of a running guest on demand. This command is implemented in patch 03. The second command, 'info fdt <command>' is more sophisticated. This command can print specific nodes and properties of the FDT. A few examples: - print the /cpus/cpu@0 from an ARM 'virt' machine: (qemu) info fdt /cpus/cpu@0 /cpus/cpu@0 { phandle = <0x8001> reg = <0x0> compatible = 'arm,cortex-a57' device_type = 'cpu' } (qemu) - print the device_type property of the interrupt-controller node of a pSeries machine: (qemu) info fdt /interrupt-controller/device_type /interrupt-controller/device_type = 'PowerPC-External-Interrupt-Presentation' (qemu)Please don't add new HMP-only commands. These should be provided as QMP commands, where the HMP is a tiny shim to the QMP.
I wasn't sure if this would be useful to be in QMP, but perhaps it's better to let QMP consumers to decide whether use it or not. I'll repost both as QMP commands with an HMP layer on top of them. Daniel
If you don't want to think about formally modelling the data for 'info fdt' / 'query-fdt', then just put an 'x-' prefix on the QMP command and return printed formatted data, as illustrated in: https://www.qemu.org/docs/master/devel/writing-monitor-commands.html#writing-a-debugging-aid-returning-unstructured-text With regards, Daniel
