qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 1/2] qdev: add list built for devices


From: Igor Mammedov
Subject: Re: [Qemu-devel] [PATCH v2 1/2] qdev: add list built for devices
Date: Tue, 30 Sep 2014 14:08:37 +0200

On Tue, 30 Sep 2014 17:40:34 +0800
Zhu Guihua <address@hidden> wrote:

rephrase subj to
 qdev: func_name() helper


> For peripheral device del completion, add a function to build a list for
> devices.
> 
> Signed-off-by: Zhu Guihua <address@hidden>
> ---
>  hw/core/qdev.c         | 13 +++++++++++++
>  include/hw/qdev-core.h |  2 ++
>  2 files changed, 15 insertions(+)
> 
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index fcb1638..041ac38 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -1074,6 +1074,19 @@ void device_reset(DeviceState *dev)
>      }
>  }
>  
> +int device_built_list(Object *obj, void *opaque)
qdev_build_hotpluggable_device_list()
might describe better what function does

You can put object_child_foreach(peripheral, device_built_list, &list)
inside if this callback, see for example qmp_pc_dimm_device_list()

Also function would return ALL devices regardless of
whether they are hotpluggable or not.
"hotpluggable" property can be used to discard non hotpluggable devices.


> +{
> +    GSList **list = opaque;
> +    DeviceState *dev = DEVICE(obj);
> +
> +    if (dev->realized) {
> +        *list = g_slist_append(*list, dev);
> +    }
> +
> +    return 0;
> +
> +}
> +
>  Object *qdev_get_machine(void)
>  {
>      static Object *dev;
> diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
> index 178fee2..3c30837 100644
> --- a/include/hw/qdev-core.h
> +++ b/include/hw/qdev-core.h
> @@ -348,6 +348,8 @@ void qdev_machine_init(void);
>   */
>  void device_reset(DeviceState *dev);
>  
> +int device_built_list(Object *obj, void *opaque);
> +
>  const struct VMStateDescription *qdev_get_vmsd(DeviceState *dev);
>  
>  const char *qdev_fw_name(DeviceState *dev);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]