On Fri, Aug 26, 2011 at 04:48:10PM +0200, Jan Kiszka wrote: > More than one year ago I posted some patches to add a monitor command > callend device_show. The purpose of that command is to dump the state of > some qdev device based on its vmstate. > > To improve the usability of that interface, the previous series also > tried to create a canonical qdev tree path name format and even added > monitor command expansion. That format created quite a few discussions, > and we never came to some conclusion. > > As device_show is still a useful tool for debugging but qdev structuring > and addressing may significantly change in the near future, I decided to > reanimate those patches while avoiding almost any change of the > addressing scheme. The only one I propose is automatic ID assignment for > anonymous devices so that any qdev device is in principle addressable > (e.g. APIC and IO-APIC on x86). > > As back then, device_show remains HMP-only to avoid any stable ABI > issues around QMP.
I'm afraid that won't be enough to stop people scripting this command - libvirt accessed HMP for years. On the other hand, no QMP command means e.g. libvirt users don't get any benefit from this. What I think will solve these problems, for both HMP and QMP, is an explicit 'debug_unstable' or 'debug_unsupported' command that will expose all kind of debugging functionality making it very explicit that it's an unsupported debugging utility. Proposed syntax: debug_unstable <subcommand> <options> Example: debug_unstable device_show -all -- MSt