diff --git a/0001-virtio-serial-fix-virtio-config-size.patch b/0001-virtio-serial-fix-virtio-config-size.patch new file mode 100644 index 0000000..e3c381a --- /dev/null +++ b/0001-virtio-serial-fix-virtio-config-size.patch @@ -0,0 +1,43 @@ +From: "Michael S. Tsirkin" +Date: Wed, 25 Mar 2015 12:41:26 +0100 +Subject: [PATCH] virtio-serial: fix virtio config size + +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 +Signed-off-by: Michael S. Tsirkin +Message-Id: <1427283599-12789-1-git-send-email-mst@redhat.com> +--- + 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 d14e872..e336bdb 100644 +--- a/hw/char/virtio-serial-bus.c ++++ b/hw/char/virtio-serial-bus.c +@@ -980,8 +980,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, diff --git a/qemu.spec b/qemu.spec index f99b136..8e81884 100644 --- a/qemu.spec +++ b/qemu.spec @@ -153,7 +153,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 2.3.0 -Release: 0.1.rc0%{?dist} +Release: 0.2.rc1%{?dist} Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD Group: Development/Tools @@ -169,7 +169,7 @@ ExclusiveArch: %{kvm_archs} %endif #Source0: http://wiki.qemu-project.org/download/%{name}-%{version}.tar.bz2 -Source0: http://wiki.qemu-project.org/download/%{name}-%{version}-rc0.tar.bz2 +Source0: http://wiki.qemu-project.org/download/%{name}-%{version}-rc1.tar.bz2 Source1: qemu.binfmt @@ -194,6 +194,9 @@ Source12: bridge.conf # qemu-kvm back compat wrapper Source13: qemu-kvm.sh +# Fix virtconsole migration +Patch0001: 0001-virtio-serial-fix-virtio-config-size.patch + BuildRequires: SDL2-devel BuildRequires: zlib-devel BuildRequires: which @@ -736,7 +739,11 @@ CAC emulation development files. %prep -%setup -q -n qemu-%{version}-rc0 +%setup -q -n qemu-%{version}-rc1 + +# Fix virtconsole migration +%patch0001 -p1 + %build %if %{with kvmonly} @@ -1514,6 +1521,9 @@ getent passwd qemu >/dev/null || \ %endif %changelog +* Tue Mar 24 2015 Cole Robinson - 2:2.3.0-0.1.rc1 +- Rebased to version 2.3.0-rc1 + * Sun Mar 22 2015 Cole Robinson - 2:2.3.0-0.1.rc0 - Rebased to version 2.3.0-rc0 diff --git a/sources b/sources index d429804..78759fa 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -6c748ce737a42021f30d6c7a3248c2b5 qemu-2.3.0-rc0.tar.bz2 +3a7542676a8ad4f0190c111e3fbfcaa1 qemu-2.3.0-rc1.tar.bz2