Markus Armbruster wrote: > Avi Kivity writes: > >> On 05/23/2010 10:57 AM, Jan Kiszka wrote: >>> Avi Kivity wrote: >>> >>>> On 05/22/2010 11:18 AM, Jan Kiszka wrote: >>>> >>>>> From: Jan Kiszka >>>>> >>>>> This introduces device_show, a monitor command that saves the vmstate of >>>>> a qdev device and visualizes it. QMP is also supported. Buffers are cut >>>>> after 16 byte by default, but the full content can be requested via >>>>> '-f'. To pretty-print sub-arrays, vmstate is extended to store the start >>>>> index name. A new qerror is introduced to signal a missing vmstate. And >>>>> it comes with documentation. >>>>> >>>>> + >>>>> +Dump a snapshot of the device state. Buffers are cut after 16 bytes >>>>> unless >>>>> +a full dump is requested. >>>>> + >>>>> +Arguments: >>>>> + >>>>> +- "path": the device's qtree path or unique ID (json-string) >>>>> >>>>> >>>> This may be ambiguous. >>>> >>> Can your elaborate what precisely is ambiguous? >>> >> Can't the user choose the unique ID so that it aliases an unrelated >> qtree path? >> >> I prefer having mutually exclusive 'path' and 'ref' arguments. > > Don't think that's necessary. If the string starts with '/', it's an > absolute path. Else, it's a relative path rooted at the node with the > ID equal to the first component. 'pci.0' can be both a (badly chosen) ID as well as an abbreviated qtree path. > > Currently breaks down when IDs contain '/', but permitting that is a > bug. There may be more problems; the path lookup code is way too > clever. Indeed. Less can sometimes be more. My impression is that some of the cleverness was motivated by lacking qtree completion for the HMP. Jan