[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [RFC PATCH V8 01/15] qdev : add a maximum device allowe
From: |
Anthony Liguori |
Subject: |
Re: [Qemu-devel] [RFC PATCH V8 01/15] qdev : add a maximum device allowed field for the bus. |
Date: |
Wed, 02 Jan 2013 08:08:18 -0600 |
User-agent: |
Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) |
address@hidden writes:
> From: KONRAD Frederic <address@hidden>
>
> Add a max_dev field to BusState to specify the maximum amount of devices
> allowed
> on the bus ( have no effect if max_dev=0 )
>
> Signed-off-by: KONRAD Frederic <address@hidden>
> ---
> hw/qdev-core.h | 2 ++
> hw/qdev-monitor.c | 11 +++++++++++
> 2 files changed, 13 insertions(+)
>
> diff --git a/hw/qdev-core.h b/hw/qdev-core.h
> index d672cca..af909b9 100644
> --- a/hw/qdev-core.h
> +++ b/hw/qdev-core.h
> @@ -104,6 +104,8 @@ struct BusState {
> const char *name;
> int allow_hotplug;
> int max_index;
> + /* maximum devices allowed on the bus, 0 : no limit. */
> + int max_dev;
> QTAILQ_HEAD(ChildrenHead, BusChild) children;
> QLIST_ENTRY(BusState) sibling;
> };
> diff --git a/hw/qdev-monitor.c b/hw/qdev-monitor.c
> index a1b4d6a..7a9d275 100644
> --- a/hw/qdev-monitor.c
> +++ b/hw/qdev-monitor.c
> @@ -292,6 +292,17 @@ static BusState *qbus_find_recursive(BusState *bus,
> const char *name,
> if (bus_typename && !object_dynamic_cast(OBJECT(bus), bus_typename)) {
> match = 0;
> }
> + if ((bus->max_dev != 0) && (bus->max_dev <= bus->max_index)) {
> + if (name != NULL) {
> + /* bus was explicitly specified : return an error. */
> + qerror_report(ERROR_CLASS_GENERIC_ERROR, "Bus '%s' is full",
> + bus->name);
> + return NULL;
> + } else {
> + /* bus was not specified : try to find another one. */
> + match = 0;
> + }
> + }
> if (match) {
> return bus;
> }
Nice change, but I wonder if this should be a class property instead of
an object property? Would different objects of the same class ever set
this differently?
Regards,
Anthony Liguori
> --
> 1.7.11.7
- Re: [Qemu-devel] [RFC PATCH V8 01/15] qdev : add a maximum device allowed field for the bus.,
Anthony Liguori <=