These patches enhance HMP to allow it parse 2nd level of commands, such as info sub command list, which means foldered command with parameter is possible now.
V2: Follow the way supposed by Markus, which make the infrastructure knows there is possible a 2nd level of command exist, instead of a hack. In this way extention of command folder level is easy. Moved function declaration and better doc according to comments. Removed the patch about info snapshots, which will goto another serial. V3: Split out code moving patch. V4: Removed change of qmp_find_cmd(). Removed name change of monitor_parse_command(). v5: Eliminate 'info' in mhandler for that it have same format with 'cmd' and info is not a special case but a sub-command now. Split out patch that checking for space before check for sub-command. Better comments for monitor_parse_command(). Add parameter start for better error tips in sub-command case. Add comments about how sub_table and mhandler interact. Better commit message and tips that "info <unknowns>" show error now. v6: Filter out space before checking of sub command in montior_parse_command(), and discard *p1 in it. Merged patch "filter out space" into "infrastructure" patch. Wenchao Xia (5): HMP: add QDict to info callback handler HMP: delete info handler HMP: add infrastructure for sub command HMP: move define of mon_cmds HMP: add sub command table to info hmp-commands.hx | 3 +- hmp.c | 36 ++++---- hmp.h | 36 ++++---- hw/i8259.c | 4 +- hw/lm32_pic.c | 4 +- hw/lm32_pic.h | 4 +- hw/loader.c | 2 +- hw/loader.h | 3 +- hw/pc.h | 4 +- hw/pcmcia.h | 2 +- hw/qdev-monitor.c | 4 +- hw/qdev-monitor.h | 4 +- hw/sun4m.c | 4 +- hw/sun4m.h | 4 +- hw/usb.h | 2 +- hw/usb/bus.c | 2 +- hw/usb/host-bsd.c | 2 +- hw/usb/host-linux.c | 2 +- include/net/net.h | 2 +- include/net/slirp.h | 2 +- include/sysemu/sysemu.h | 4 +- monitor.c | 200 ++++++++++++++++++++++++---------------------- net/net.c | 2 +- net/slirp.c | 2 +- savevm.c | 2 +- vl.c | 2 +- 26 files changed, 174 insertions(+), 164 deletions(-)