[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH 04/11] qdev-monitor: print the device's cloc
From: |
Alistair Francis |
Subject: |
Re: [Qemu-devel] [RFC PATCH 04/11] qdev-monitor: print the device's clock with info qtree |
Date: |
Tue, 28 Jun 2016 17:33:45 -0700 |
On Mon, Jun 13, 2016 at 9:27 AM, <address@hidden> wrote:
> From: KONRAD Frederic <address@hidden>
>
> This prints the clock attached to a DeviceState when using "info qtree"
> monitor
> command.
Can you include an example of what this will look like?
Thanks,
Alistair
>
> Signed-off-by: KONRAD Frederic <address@hidden>
> ---
> include/qemu/qemu-clock.h | 9 +++++++++
> qdev-monitor.c | 2 ++
> qemu-clock.c | 28 ++++++++++++++++++++++++++++
> 3 files changed, 39 insertions(+)
>
> diff --git a/include/qemu/qemu-clock.h b/include/qemu/qemu-clock.h
> index 677de9a..265ec65 100644
> --- a/include/qemu/qemu-clock.h
> +++ b/include/qemu/qemu-clock.h
> @@ -124,4 +124,13 @@ void qemu_clk_set_callback(qemu_clk clk,
> qemu_clk_on_rate_update_cb cb,
> void *opaque);
>
> +/**
> + * qemu_clk_print:
> + * @dev: the device for which the clock need to be printed.
> + *
> + * Print the clock information for a given device.
> + *
> + */
> +void qemu_clk_print(Monitor *mon, DeviceState *dev, int indent);
> +
> #endif /* QEMU_CLOCK_H */
> diff --git a/qdev-monitor.c b/qdev-monitor.c
> index e19617f..d6d1aa4 100644
> --- a/qdev-monitor.c
> +++ b/qdev-monitor.c
> @@ -28,6 +28,7 @@
> #include "qemu/config-file.h"
> #include "qemu/error-report.h"
> #include "qemu/help_option.h"
> +#include "qemu/qemu-clock.h"
>
> /*
> * Aliases were a bad idea from the start. Let's keep them
> @@ -684,6 +685,7 @@ static void qdev_print(Monitor *mon, DeviceState *dev,
> int indent)
> ngl->num_out);
> }
> }
> + qemu_clk_print(mon, dev, indent);
> class = object_get_class(OBJECT(dev));
> do {
> qdev_print_props(mon, dev, DEVICE_CLASS(class)->props, indent);
> diff --git a/qemu-clock.c b/qemu-clock.c
> index 811d6a0..378a14d 100644
> --- a/qemu-clock.c
> +++ b/qemu-clock.c
> @@ -24,6 +24,7 @@
> #include "qemu/qemu-clock.h"
> #include "hw/hw.h"
> #include "qapi/error.h"
> +#include "monitor/monitor.h"
>
> /* #define DEBUG_QEMU_CLOCK */
>
> @@ -111,6 +112,33 @@ qemu_clk qemu_clk_get_pin(DeviceState *d, const char
> *name)
> return QEMU_CLOCK(clk);
> }
>
> +struct print_opaque {
> + Monitor *mon;
> + int indent;
> +};
> +
> +static int qemu_clk_print_rec(Object *obj, void *opaque)
> +{
> + qemu_clk clk = (qemu_clk)(object_dynamic_cast(obj, TYPE_CLOCK));
> + struct print_opaque *po = opaque;
> +
> + if (clk) {
> + monitor_printf(po->mon, "%*s" "qemu-clk \"%s\" %.1f\n", po->indent,
> + " ", clk->name, clk->out_rate);
> + }
> +
> + return 0;
> +}
> +
> +void qemu_clk_print(Monitor *mon, DeviceState *dev, int indent)
> +{
> + struct print_opaque po;
> +
> + po.indent = indent;
> + po.mon = mon;
> + object_child_foreach(OBJECT(dev), qemu_clk_print_rec, &po);
> +}
> +
> static const TypeInfo qemu_clk_info = {
> .name = TYPE_CLOCK,
> .parent = TYPE_OBJECT,
> --
> 2.5.5
>
>
- [Qemu-devel] [RFC PATCH 00/11] Clock framework API., fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 01/11] qemu-clk: introduce qemu-clk qom object, fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 06/11] introduce fixed-clock, fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 04/11] qdev-monitor: print the device's clock with info qtree, fred . konrad, 2016/06/13
- Re: [Qemu-devel] [RFC PATCH 04/11] qdev-monitor: print the device's clock with info qtree,
Alistair Francis <=
- [Qemu-devel] [RFC PATCH 05/11] docs: add qemu-clock documentation, fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 02/11] qemu-clk: allow to attach a clock to a device, fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 08/11] zynqmp_crf: fix against AF_EX32 changes, fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 07/11] introduce zynqmp_crf, fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 03/11] qemu-clk: allow to bound two clocks together, fred . konrad, 2016/06/13
- [Qemu-devel] [RFC PATCH 10/11] zynqmp: add the zynqmp_crf to the platform, fred . konrad, 2016/06/13