[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH] virtio-serial: add enable_backend callback
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH] virtio-serial: add enable_backend callback |
Date: |
Mon, 10 Jul 2017 19:39:34 +0300 |
On Mon, Jul 10, 2017 at 04:13:54PM +0200, Laurent Vivier wrote:
> > static void virtconsole_realize(DeviceState *dev, Error **errp)
> > {
> > VirtIOSerialPort *port = VIRTIO_SERIAL_PORT(dev);
> > @@ -233,6 +253,7 @@ static void virtserialport_class_init(ObjectClass
> > *klass, void *data)
> > k->unrealize = virtconsole_unrealize;
> > k->have_data = flush_buf;
> > k->set_guest_connected = set_guest_connected;
> > + k->enable_backend = virtconsole_enable_backend;
>
> Why don't you register a vm_state change handler to change the state of
> the virtconsole according to the state of the machine instead of adding
> a new function in the VirtIOSerialPortClass?
>
> See a23a6d1 ("virtio-rng: stop virtqueue while the CPU is stopped")
>
> Thanks,
> Laurent
In fact that commit does it the wrong way IMHO.
The order of this call wrt other virtio calls is not
guaranteed.
IMHO the right way is to set a vm state change handler in VirtioBusClass
or status change handler in VirtioDeviceClass.
--
MST