hmp: Implement qom-get HMP command
authorDr. David Alan Gilbert <dgilbert@redhat.com>
Wed, 20 May 2020 15:11:07 +0000 (16:11 +0100)
committerDr. David Alan Gilbert <dgilbert@redhat.com>
Mon, 1 Jun 2020 17:44:27 +0000 (18:44 +0100)
commit89cf4fe34f4afa671a2ab5d9430021ea12106274
tree00612da0cad52aa0080081efb8ba34cf9c701b47
parent2f0c285aaac5fdc4c5c2f8e03fa8c11e679c50c4
hmp: Implement qom-get HMP command

This started off as Andreas Färber's implementation from
March 2015, but after feedback from Paolo and Markus it morphed into
using the json output which handles structs reasonably.

Use with qom-list to find the members of an object.

(qemu) qom-get /backend/console[0]/device/vga.rom[0] size
65536
(qemu) qom-get /machine smm
"auto"
(qemu) qom-get /machine rtc-time
{
    "tm_year": 120,
    "tm_sec": 51,
    "tm_hour": 9,
    "tm_min": 50,
    "tm_mon": 4,
    "tm_mday": 20
}
(qemu) qom-get /machine frob
Error: Property '.frob' not found

Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Message-Id: <20200520151108.160598-2-dgilbert@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
hmp-commands.hx
include/monitor/hmp.h
qom/qom-hmp-cmds.c
tests/qtest/test-hmp.c