qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] qdev: obey no_user


From: Anthony Liguori
Subject: Re: [Qemu-devel] [PATCH] qdev: obey no_user
Date: Mon, 07 Jan 2013 13:32:04 -0600
User-agent: Notmuch/0.13.2+93~ged93d79 (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu)

Christian Borntraeger <address@hidden> writes:

> since
>
> commit 18b6dade8c0799c48f5c5e124b8c407cd5e22e96
> qdev: refactor device creation to allow bus_info to be set only in class
>
> A user can specify a device that is no_user.
> For example on my i386 box, I can add a 2nd kvmvapic device.
>
> This patch checks for no-user and rejects the device_add.
>
> Signed-off-by: Christian Borntraeger <address@hidden>

I specifically broke this when QOM was introduced because no_user
precludes a management tool from constructing a machine directlt.

The real problem you're trying to solve is that it's an error to have
two kvmvapic devices, not that users shouldn't be allowed to create them
via -device.

Regards,

Anthony Liguori

> ---
>  hw/qdev-monitor.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/hw/qdev-monitor.c b/hw/qdev-monitor.c
> index a1b4d6a..b2c34e7 100644
> --- a/hw/qdev-monitor.c
> +++ b/hw/qdev-monitor.c
> @@ -426,6 +426,11 @@ DeviceState *qdev_device_add(QemuOpts *opts)
>      }
>  
>      k = DEVICE_CLASS(obj);
> +    if (k->no_user) {
> +        qerror_report(QERR_INVALID_PARAMETER_VALUE, "driver", "a driver 
> name");
> +        error_printf_unless_qmp("Try with argument 'help' for a list.\n");
> +        return NULL;
> +    }
>  
>      /* find bus */
>      path = qemu_opt_get(opts, "bus");
> -- 
> 1.7.11.4




reply via email to

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