[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function
From: |
Markus Armbruster |
Subject: |
Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one |
Date: |
Thu, 18 Feb 2016 10:56:05 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Alistair Francis <address@hidden> writes:
> If the device being added when running qdev_device_add() has
> a reset function, register it so that it can be called.
>
> Signed-off-by: Alistair Francis <address@hidden>
> ---
>
> qdev-monitor.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/qdev-monitor.c b/qdev-monitor.c
> index 81e3ff3..0a99d01 100644
> --- a/qdev-monitor.c
> +++ b/qdev-monitor.c
> @@ -561,6 +561,8 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
>
> if (bus) {
> qdev_set_parent_bus(dev, bus);
> + } else if (dc->reset) {
> + qemu_register_reset((void (*)(void *))dc->reset, dev);
> }
>
> id = qemu_opts_id(opts);
This looks wrong to me.
You stuff all the device reset methods into the global reset_handlers
list, where they get called in some semi-random order. This breaks when
there are reset order dependencies between devices, e.g. between a
device and the bus it plugs into.
Propagating the reset signal to all the devices is a qdev problem.
Copying Andreas for further insight.
[Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Alistair Francis, 2016/02/17
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one,
Markus Armbruster <=
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Alistair Francis, 2016/02/18
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Paolo Bonzini, 2016/02/18
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Peter Crosthwaite, 2016/02/18
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Alistair Francis, 2016/02/18
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Paolo Bonzini, 2016/02/19
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Peter Maydell, 2016/02/19
- Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Paolo Bonzini, 2016/02/19
Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Markus Armbruster, 2016/02/19
Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Andreas Färber, 2016/02/19
Re: [Qemu-devel] [PATCH v1 1/2] qdev-monitor.c: Register reset function if the device has one, Alistair Francis, 2016/02/19