On 2011-09-06 16:48, Michael S. Tsirkin wrote: > 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
For HMP, this would needlessly complicate the user interface, nothing I would support. People scripting things on top of HMP are generally doing this on their own risk and cannot expect output stability. device_show is like info qtree: the output will naturally change as the emulated hardware evolves, information is added/removed, or we simply improve the layout. Recent changes on info network are an example for the latter. Jan -- Siemens AG, Corporate Technology, CT T DE IT 1 Corporate Competence Center Embedded Linux