Hi Damien, On 10/2/18 4:24 PM, Damien Hedde wrote: > This prints the clocks attached to a DeviceState when using "info qtree" > monitor > command. For every clock, it displays the direction, the name and if the > clock is forwarded. For input clock, it displays also the frequency.
What would also be really useful (during development mostly) is a "info clktree" monitor command. > > This is based on the original work of Frederic Konrad. > > Signed-off-by: Damien Hedde <damien.he...@greensocs.com> > --- > qdev-monitor.c | 12 ++++++++++++ > 1 file changed, 12 insertions(+) > > diff --git a/qdev-monitor.c b/qdev-monitor.c > index 61e0300991..8c39a3a65b 100644 > --- a/qdev-monitor.c > +++ b/qdev-monitor.c > @@ -682,6 +682,7 @@ static void qdev_print(Monitor *mon, DeviceState *dev, > int indent) > ObjectClass *class; > BusState *child; > NamedGPIOList *ngl; > + NamedClockList *clk; > > qdev_printf("dev: %s, id \"%s\"\n", object_get_typename(OBJECT(dev)), > dev->id ? dev->id : ""); > @@ -696,6 +697,17 @@ static void qdev_print(Monitor *mon, DeviceState *dev, > int indent) > ngl->num_out); > } > } > + QLIST_FOREACH(clk, &dev->clocks, node) { > + if (clk->out) { > + qdev_printf("clock-out%s \"%s\"\n", > + clk->forward ? " (fw)" : "", > + clk->name); > + } else { > + qdev_printf("clock-in%s \"%s\" freq=%" PRIu64 "Hz\n", IMHO 'freq_hz=%" PRIu64 "\n"' is easier to read. However if we plan to add/use a qemu_strtohz() similar to qemu_strtosz_metric(), that would be fine. > + clk->forward ? " (fw)" : "", > + clk->name, clock_get_frequency(clk->in)); > + } > + } > class = object_get_class(OBJECT(dev)); > do { > qdev_print_props(mon, dev, DEVICE_CLASS(class)->props, indent); > Reviewed-by: Philippe Mathieu-Daudé <phi...@redhat.com> Tested-by: Philippe Mathieu-Daudé <phi...@redhat.com>