From: Cole Robinson <crobinso@redhat.com>
To: "Michael S. Tsirkin" <mst@redhat.com>, qemu-devel@nongnu.org
Cc: Amit Shah <amit.shah@redhat.com>,
Peter Maydell <peter.maydell@linaro.org>
Subject: Re: [Qemu-devel] [PATCH for-2.3] virtio-serial: fix virtio config size
Date: Wed, 25 Mar 2015 07:45:13 -0400 [thread overview]
Message-ID: <55129FC9.1030301@redhat.com> (raw)
In-Reply-To: <1427283599-12789-1-git-send-email-mst@redhat.com>
On 03/25/2015 07:41 AM, Michael S. Tsirkin wrote:
> commit 9b70c1790acacae54d559d38ca69186a85040bb8
> virtio-serial: switch to standard-headers
>
> changes virtio_console_config size from 8 to 12 bytes:
> it adds an optional 4 byte emerg_wr field.
>
> As this crosses a power of two boundary, this changes the PCI BAR size,
> which breaks migration compatibility with old qemu machine types.
> It's probably a problem for other transports as well.
>
> As a temporary fix, as we don't yet support this new field anyway,
> simply make the config size smaller at init time.
>
> Long terms we probably want something along the lines
> of virtio_net_set_config_size.
>
> Reported-by: Cole Robinson <crobinso@redhat.com>
> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
> ---
>
> Cole, could you pls confirm the following fixes the
> issue that you reported?
>
> Thanks!
>
> hw/char/virtio-serial-bus.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/hw/char/virtio-serial-bus.c b/hw/char/virtio-serial-bus.c
> index 9a029d2..d05473f 100644
> --- a/hw/char/virtio-serial-bus.c
> +++ b/hw/char/virtio-serial-bus.c
> @@ -949,8 +949,10 @@ static void virtio_serial_device_realize(DeviceState *dev, Error **errp)
> return;
> }
>
> + /* We don't support emergency write, skip it for now. */
> + /* TODO: cleaner fix, depending on host features. */
> virtio_init(vdev, "virtio-serial", VIRTIO_ID_CONSOLE,
> - sizeof(struct virtio_console_config));
> + offsetof(struct virtio_console_config, emerg_wr));
>
> /* Spawn a new virtio-serial bus on which the ports will ride as devices */
> qbus_create_inplace(&vser->bus, sizeof(vser->bus), TYPE_VIRTIO_SERIAL_BUS,
>
Fixes the migration failure for me, thanks!
Tested-by: Cole Robinson <crobinso@redhat.com>
- Cole
prev parent reply other threads:[~2015-03-25 11:45 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-25 11:41 [Qemu-devel] [PATCH for-2.3] virtio-serial: fix virtio config size Michael S. Tsirkin
2015-03-25 11:45 ` Cole Robinson [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=55129FC9.1030301@redhat.com \
--to=crobinso@redhat.com \
--cc=amit.shah@redhat.com \
--cc=mst@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.