From d195bae2d0a898cd380f16707df5199df6c2308e Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 30 Oct 2012 18:07:45 +0200 Subject: [PATCH 01/10] Virtio-serial fixes 1. Post migration inject interrupt to a running vm to workaround a bug in kvm irqchip emulation (pending upstream acceptance) 2. Redo fedora only fix for #725965 (replay guest open after migration) based on the above fix. --- ...l-bus-replay-guest_open-on-migration.patch | 51 ------- ...-bus-post_load-send_event-when-vm-is.patch | 130 ++++++++++++++++++ ...-bus-replay-guest-open-on-destinatio.patch | 54 ++++++++ qemu.spec | 17 ++- 4 files changed, 196 insertions(+), 56 deletions(-) delete mode 100644 0411-virtio-serial-bus-replay-guest_open-on-migration.patch create mode 100644 0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch create mode 100644 0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch diff --git a/0411-virtio-serial-bus-replay-guest_open-on-migration.patch b/0411-virtio-serial-bus-replay-guest_open-on-migration.patch deleted file mode 100644 index 7cdc9bb..0000000 --- a/0411-virtio-serial-bus-replay-guest_open-on-migration.patch +++ /dev/null @@ -1,51 +0,0 @@ -From a9bc20afc1f0604ee81c23b7c67d627e51d2e8d4 Mon Sep 17 00:00:00 2001 -From: Alon Levy -Date: Thu, 28 Jul 2011 15:08:48 +0300 -Subject: [PATCH] virtio-serial-bus: replay guest_open on migration - -When migrating a host with with a spice agent running the mouse becomes -non operational after the migration. This is rhbz #725965. - -The problem is that after migration spice doesn't know the guest agent is open. -Spice is just a char dev here. And a chardev cannot query it's device, the -device has to let the chardev know when it is open. Right now after migration -the chardev which is recreated is in it's default state, which assumes the -guest is disconnected. - -Char devices carry no information across migration, but the virtio-serial does -already carry the guest_connected state. This patch passes that bit to the -chardev. - -Signed-off-by: Alon Levy -Signed-off-by: Cole Robinson ---- - hw/virtio-serial-bus.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c -index 82073f5..18c2ed3 100644 ---- a/hw/virtio-serial-bus.c -+++ b/hw/virtio-serial-bus.c -@@ -682,6 +682,7 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) - for (i = 0; i < nr_active_ports; i++) { - uint32_t id; - bool host_connected; -+ VirtIOSerialPortClass *vsc; - - id = qemu_get_be32(f); - port = find_port_by_id(s, id); -@@ -690,6 +691,11 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) - } - - port->guest_connected = qemu_get_byte(f); -+ vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port); -+ if (port->guest_connected && vsc->guest_open) { -+ /* replay guest open */ -+ vsc->guest_open(port); -+ } - host_connected = qemu_get_byte(f); - if (host_connected != port->host_connected) { - /* --- -1.7.12.1 - diff --git a/0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch b/0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch new file mode 100644 index 0000000..2ec9363 --- /dev/null +++ b/0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch @@ -0,0 +1,130 @@ +From 9903053345528aa8eebb16365b2ece77c58c0cf6 Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Wed, 14 Nov 2012 15:06:35 +0200 +Subject: [PATCH 1/2] hw/virtio-serial-bus: post_load send_event when vm is + running + +Add a new timer based on vm_clock for 1 ns in the future from post_load +to do the event send in case host_connected differs between migration +source and target. + +RHBZ: 867366 + +Signed-off-by: Alon Levy +--- + hw/virtio-serial-bus.c | 54 ++++++++++++++++++++++++++++++++++++++++---------- + 1 file changed, 44 insertions(+), 10 deletions(-) + +diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c +index d20bd8b..a028877 100644 +--- a/hw/virtio-serial-bus.c ++++ b/hw/virtio-serial-bus.c +@@ -53,6 +53,15 @@ struct VirtIOSerial { + uint32_t *ports_map; + + struct virtio_console_config config; ++ ++ struct VirtIOSerialPostLoad { ++ QEMUTimer *timer; ++ int nr_active_ports; ++ struct VirtIOSerialPostLoadPort { ++ VirtIOSerialPort *port; ++ uint8_t host_connected; ++ } *connected; ++ } post_load; + }; + + static VirtIOSerialPort *find_port_by_id(VirtIOSerial *vser, uint32_t id) +@@ -626,6 +635,29 @@ static void virtio_serial_save(QEMUFile *f, void *opaque) + } + } + ++static void virtio_serial_post_load_timer_cb(void *opaque) ++{ ++ int i; ++ VirtIOSerial *s = opaque; ++ VirtIOSerialPort *port; ++ uint8_t host_connected; ++ ++ for (i = 0 ; i < s->post_load.nr_active_ports; ++i) { ++ port = s->post_load.connected[i].port; ++ host_connected = s->post_load.connected[i].host_connected; ++ if (host_connected != port->host_connected) { ++ /* ++ * We have to let the guest know of the host connection ++ * status change ++ */ ++ send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN, ++ port->host_connected); ++ } ++ } ++ g_free(s->post_load.connected); ++ s->post_load.connected = NULL; ++} ++ + static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) + { + VirtIOSerial *s = opaque; +@@ -673,10 +705,13 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) + + qemu_get_be32s(f, &nr_active_ports); + ++ s->post_load.nr_active_ports = nr_active_ports; ++ s->post_load.connected = ++ g_malloc0(sizeof(*s->post_load.connected) * nr_active_ports); ++ + /* Items in struct VirtIOSerialPort */ + for (i = 0; i < nr_active_ports; i++) { + uint32_t id; +- bool host_connected; + + id = qemu_get_be32(f); + port = find_port_by_id(s, id); +@@ -685,15 +720,8 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) + } + + port->guest_connected = qemu_get_byte(f); +- host_connected = qemu_get_byte(f); +- if (host_connected != port->host_connected) { +- /* +- * We have to let the guest know of the host connection +- * status change +- */ +- send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN, +- port->host_connected); +- } ++ s->post_load.connected[i].port = port; ++ s->post_load.connected[i].host_connected = qemu_get_byte(f); + + if (version_id > 2) { + uint32_t elem_popped; +@@ -718,6 +746,7 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) + } + } + } ++ qemu_mod_timer(s->post_load.timer, 1); + return 0; + } + +@@ -967,6 +996,9 @@ VirtIODevice *virtio_serial_init(DeviceState *dev, virtio_serial_conf *conf) + register_savevm(dev, "virtio-console", -1, 3, virtio_serial_save, + virtio_serial_load, vser); + ++ vser->post_load.timer = qemu_new_timer_ns(vm_clock, ++ virtio_serial_post_load_timer_cb, vser); ++ + return vdev; + } + +@@ -979,6 +1011,8 @@ void virtio_serial_exit(VirtIODevice *vdev) + g_free(vser->ivqs); + g_free(vser->ovqs); + g_free(vser->ports_map); ++ g_free(vser->post_load.connected); ++ qemu_free_timer(vser->post_load.timer); + + virtio_cleanup(vdev); + } +-- +1.8.0 + diff --git a/0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch b/0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch new file mode 100644 index 0000000..07b10f6 --- /dev/null +++ b/0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch @@ -0,0 +1,54 @@ +From 5b6831175b21aa5a3405a21dd79e1ef0a81bbdb3 Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Fri, 16 Nov 2012 16:24:47 +0200 +Subject: [PATCH 2/2] hw/virtio-serial-bus: replay guest open on destination + +This is rewrite of a patch carried in Fedora previously based +on new code upstream, here is the original message, it still applies: +(the original fedora patch was commit id +a9bc20afc1f0604ee81c23b7c67d627e51d2e8d4, this is useful for grepping in +logs, it isn't in upstream) + +When migrating a host with with a spice agent running the mouse becomes +non operational after the migration. This is rhbz #725965. + +The problem is that after migration spice doesn't know the guest agent +is open. Spice is just a char dev here. And a chardev cannot query it's +device, the device has to let the chardev know when it is open. Right +now after migration the chardev which is recreated is in it's default +state, which assumes the guest is disconnected. + +Char devices carry no information across migration, but the +virtio-serial does already carry the guest_connected state. This patch +passes that bit to the chardev. +--- + hw/virtio-serial-bus.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c +index a028877..a6ec2df 100644 +--- a/hw/virtio-serial-bus.c ++++ b/hw/virtio-serial-bus.c +@@ -641,6 +641,7 @@ static void virtio_serial_post_load_timer_cb(void *opaque) + VirtIOSerial *s = opaque; + VirtIOSerialPort *port; + uint8_t host_connected; ++ VirtIOSerialPortClass *vsc; + + for (i = 0 ; i < s->post_load.nr_active_ports; ++i) { + port = s->post_load.connected[i].port; +@@ -653,6 +654,11 @@ static void virtio_serial_post_load_timer_cb(void *opaque) + send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN, + port->host_connected); + } ++ vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port); ++ if (port->guest_connected && vsc->guest_open) { ++ /* replay guest open */ ++ vsc->guest_open(port); ++ } + } + g_free(s->post_load.connected); + s->post_load.connected = NULL; +-- +1.8.0 + diff --git a/qemu.spec b/qemu.spec index 6e9d270..7738b77 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.0 -Release: 22%{?dist} +Release: 23%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -406,8 +406,11 @@ Patch0407: 0407-virtio-console-Enable-port-throttling-when-chardev-i.patch Patch0408: 0408-spice-qemu-char.c-add-throttling.patch Patch0409: 0409-spice-qemu-char.c-remove-intermediate-buffer.patch Patch0410: 0410-usb-redir-Add-flow-control-support.patch -Patch0411: 0411-virtio-serial-bus-replay-guest_open-on-migration.patch +# 411 superceded by 414 which does the same thing but on top of 413 that is +# going upstream. Patch0412: 0412-char-Disable-write-callback-if-throttled-chardev-is-.patch +Patch0413: 0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch +Patch0414: 0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch # Spice features from upstream master: seamless migration & dynamic monitors Patch0500: 0500-qxl-disallow-unknown-revisions.patch @@ -482,7 +485,6 @@ Patch804: 0804-wip-hw-qxl-inject-interrupts-in-any-state.patch # 38f419f (configure: Fix CONFIG_QEMU_HELPERDIR generation, 2012-10-17) Patch805: 0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch - BuildRequires: SDL-devel BuildRequires: zlib-devel BuildRequires: which @@ -1157,8 +1159,10 @@ such as kvm_stat. %patch0408 -p1 %patch0409 -p1 %patch0410 -p1 -%patch0411 -p1 +# 411 superceded by 414 %patch0412 -p1 +%patch0413 -p1 +%patch0414 -p1 %patch0500 -p1 %patch0501 -p1 @@ -1223,7 +1227,6 @@ such as kvm_stat. %patch804 -p1 %patch805 -p1 - %build %if %{with kvmonly} buildarch="%{kvm_target}-softmmu" @@ -1819,6 +1822,10 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Tue Nov 17 2012 Alon Levy - 2:1.2.0-23 +- Rewrite fix for bz #725965 based on fix for bz #867366 +- Resolve bz #867366 + * Fri Nov 16 2012 Paolo Bonzini - 2:1.2.0-22 - Fix previous commit From 2daa1c570639312af7609c8cfb316079b0180e7e Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 22 Nov 2012 12:18:01 +0100 Subject: [PATCH 02/10] Move vscclient to qemu-common, qemu-nbd to qemu-img --- qemu.spec | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/qemu.spec b/qemu.spec index 7738b77..c6c0002 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.0 -Release: 23%{?dist} +Release: 24%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -1570,10 +1570,9 @@ fi %doc %{qemudocdir}/LICENSE %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/keymaps/ +%{_bindir}/vscclient %{_mandir}/man1/qemu.1* %{_mandir}/man1/virtfs-proxy-helper.1* -%{_mandir}/man8/qemu-nbd.8* -%{_bindir}/qemu-nbd %{_bindir}/virtfs-proxy-helper %{_libexecdir}/qemu-bridge-helper %config(noreplace) %{_sysconfdir}/sasl2/qemu.conf @@ -1818,11 +1817,15 @@ fi %defattr(-,root,root) %{_bindir}/qemu-img %{_bindir}/qemu-io -%{_bindir}/vscclient +%{_bindir}/qemu-nbd %{_mandir}/man1/qemu-img.1* +%{_mandir}/man8/qemu-nbd.8* %changelog -* Tue Nov 17 2012 Alon Levy - 2:1.2.0-23 +* Thu Nov 22 2012 Paolo Bonzini - 2:1.2.0-24 +- Move vscclient to qemu-common, qemu-nbd to qemu-img + +* Tue Nov 20 2012 Alon Levy - 2:1.2.0-23 - Rewrite fix for bz #725965 based on fix for bz #867366 - Resolve bz #867366 From d1c1d00a453b90bba19eb588c112ff11028155e8 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Mon, 3 Dec 2012 11:52:36 +0200 Subject: [PATCH 03/10] add libcacard, -25 --- ...-fix-missing-symbols-in-libcacard.so.patch | 25 +++++ ...ove-vscclient-binary-under-libcacard.patch | 93 +++++++++++++++++++ qemu.spec | 59 +++++++++++- 3 files changed, 175 insertions(+), 2 deletions(-) create mode 100644 1001-libcacard-fix-missing-symbols-in-libcacard.so.patch create mode 100644 1002-configure-move-vscclient-binary-under-libcacard.patch diff --git a/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch b/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch new file mode 100644 index 0000000..7fcf77b --- /dev/null +++ b/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch @@ -0,0 +1,25 @@ +From 3bf390b736e7befd0fbcd252ef5ac6dffd26cf03 Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Wed, 28 Nov 2012 16:38:43 +0200 +Subject: [PATCH] libcacard: fix missing symbols in libcacard.so + +--- + libcacard/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcacard/Makefile b/libcacard/Makefile +index 63990b7..58e5731 100644 +--- a/libcacard/Makefile ++++ b/libcacard/Makefile +@@ -7,7 +7,7 @@ libcacard_includedir=$(includedir)/cacard + $(call set-vpath, $(SRC_PATH)) + + # objects linked into a shared library, built with libtool with -fPIC if required +-QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o $(trace-obj-y) ++QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o iov.o cutils.o qemu-user.o $(trace-obj-y) + QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS)) + + QEMU_CFLAGS+=-I../ +-- +1.8.0 + diff --git a/1002-configure-move-vscclient-binary-under-libcacard.patch b/1002-configure-move-vscclient-binary-under-libcacard.patch new file mode 100644 index 0000000..31ac7b2 --- /dev/null +++ b/1002-configure-move-vscclient-binary-under-libcacard.patch @@ -0,0 +1,93 @@ +From 373d00412f13f280619fd161e780cd5da5dfc1a3 Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Thu, 29 Nov 2012 14:11:19 +0200 +Subject: [PATCH] configure: move vscclient binary under libcacard + +build rule is in top level Makefile like other tools. + +build rule also exists in libcacard for installation purposes. This was +fixed in a better way in 1.3.0-rc2 +--- + Makefile | 4 ++-- + Makefile.objs | 11 ++++++----- + configure | 2 +- + libcacard/Makefile | 6 +++++- + 4 files changed, 14 insertions(+), 9 deletions(-) + +diff --git a/Makefile b/Makefile +index dd11e3c..13c1693 100644 +--- a/Makefile ++++ b/Makefile +@@ -168,8 +168,8 @@ qemu-io$(EXESUF): qemu-io.o cmd.o $(tools-obj-y) $(block-obj-y) + + qemu-bridge-helper$(EXESUF): qemu-bridge-helper.o + +-vscclient$(EXESUF): $(libcacard-y) $(oslib-obj-y) $(trace-obj-y) $(tools-obj-y) qemu-timer-common.o libcacard/vscclient.o +- $(call quiet-command,$(CC) $(LDFLAGS) -o $@ $^ $(libcacard_libs) $(LIBS)," LINK $@") ++libcacard/vscclient$(EXESUF): $(libcacard-y) $(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o iov.o cutils.o qemu-user.o libcacard/vscclient.o ++libcacard/vscclient$(EXESUF): LIBS += $(libcacard_libs) + + fsdev/virtfs-proxy-helper$(EXESUF): fsdev/virtfs-proxy-helper.o fsdev/virtio-9p-marshal.o oslib-posix.o $(trace-obj-y) + fsdev/virtfs-proxy-helper$(EXESUF): LIBS += -lcap +diff --git a/Makefile.objs b/Makefile.objs +index 4412757..92d6b4a 100644 +--- a/Makefile.objs ++++ b/Makefile.objs +@@ -206,11 +206,12 @@ $(trace-obj-y): $(GENERATED_HEADERS) + ###################################################################### + # smartcard + +-libcacard-y += libcacard/cac.o libcacard/event.o +-libcacard-y += libcacard/vcard.o libcacard/vreader.o +-libcacard-y += libcacard/vcard_emul_nss.o +-libcacard-y += libcacard/vcard_emul_type.o +-libcacard-y += libcacard/card_7816.o ++libcacard-base-y += cac.o event.o ++libcacard-base-y += vcard.o vreader.o ++libcacard-base-y += vcard_emul_nss.o ++libcacard-base-y += vcard_emul_type.o ++libcacard-base-y += card_7816.o ++libcacard-y = $(addprefix libcacard/,$(libcacard-base-y)) + + common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y) + +diff --git a/configure b/configure +index 950912a..64b8aa7 100755 +--- a/configure ++++ b/configure +@@ -3073,7 +3073,7 @@ if test "$softmmu" = yes ; then + fi + fi + if test "$smartcard_nss" = "yes" ; then +- tools="vscclient\$(EXESUF) $tools" ++ tools="libcacard/vscclient\$(EXESUF) $tools" + fi + fi + +diff --git a/libcacard/Makefile b/libcacard/Makefile +index 9ce3117..88ed064 100644 +--- a/libcacard/Makefile ++++ b/libcacard/Makefile +@@ -44,6 +44,10 @@ libcacard.pc: $(libcacard_srcpath)/libcacard.pc.in + < $(libcacard_srcpath)/libcacard.pc.in > libcacard.pc,\ + " GEN $@") + ++VSCCLIENT_QEMU_OBJS=$(addprefix ../,$(oslib-obj-y) $(trace-obj-y) qemu-timer-common.o iov.o cutils.o qemu-user.o) ++vscclient$(EXESUF): $(VSCCLIENT_QEMU_OBJS) $(libcacard-base-y) vscclient.o ++vscclient$(EXESUF): LIBS += $(libcacard_libs) ++ + .PHONY: install-libcacard + + install-libcacard: libcacard.pc libcacard.la vscclient +@@ -51,7 +55,7 @@ install-libcacard: libcacard.pc libcacard.la vscclient + $(INSTALL_DIR) "$(DESTDIR)$(libdir)/pkgconfig" + $(INSTALL_DIR) "$(DESTDIR)$(libcacard_includedir)" + $(INSTALL_DIR) "$(DESTDIR)$(bindir)" +- $(LIBTOOL) --mode=install $(INSTALL_PROG) vscclient "$(DESTDIR)$(bindir)" ++ $(LIBTOOL) --mode=install $(INSTALL_PROG) vscclient$(EXESUF) "$(DESTDIR)$(bindir)" + $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.la "$(DESTDIR)$(libdir)" + $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.pc "$(DESTDIR)$(libdir)/pkgconfig" + for inc in *.h; do \ +-- +1.8.0.1 + diff --git a/qemu.spec b/qemu.spec index c6c0002..b2eed16 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.0 -Release: 24%{?dist} +Release: 25%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -485,6 +485,10 @@ Patch804: 0804-wip-hw-qxl-inject-interrupts-in-any-state.patch # 38f419f (configure: Fix CONFIG_QEMU_HELPERDIR generation, 2012-10-17) Patch805: 0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch +# libcacard +Patch1001: 1001-libcacard-fix-missing-symbols-in-libcacard.so.patch +Patch1002: 1002-configure-move-vscclient-binary-under-libcacard.patch + BuildRequires: SDL-devel BuildRequires: zlib-devel BuildRequires: which @@ -902,6 +906,29 @@ This package contains some diagnostics and debugging tools for KVM, such as kvm_stat. %endif +%package -n libcacard +Summary: Common Access Card (CAC) Emulation +Group: Development/Libraries + +%description -n libcacard +Common Access Card (CAC) emulation library. + +%package -n libcacard-tools +Summary: CAC Emulation tools +Group: Development/Libraries +Requires: libcacard = %{epoch}:%{version}-%{release} + +%description -n libcacard-tools +CAC emulation tools. + +%package -n libcacard-devel +Summary: CAC Emulation devel +Group: Development/Libraries +Requires: libcacard = %{epoch}:%{version}-%{release} + +%description -n libcacard-devel +CAC emulation development files. + %prep %setup -q -n qemu-kvm-%{version} @@ -1227,6 +1254,10 @@ such as kvm_stat. %patch804 -p1 %patch805 -p1 +# libcacard +%patch1001 -p1 +%patch1002 -p1 + %build %if %{with kvmonly} buildarch="%{kvm_target}-softmmu" @@ -1260,6 +1291,7 @@ sed -i.debug 's/"-g $CFLAGS"/"$CFLAGS"/g' configure dobuild() { ./configure \ --prefix=%{_prefix} \ + --libdir=%{_libdir} \ --sysconfdir=%{_sysconfdir} \ --interp-prefix=%{_prefix}/qemu-%%M \ --audio-drv-list=pa,sdl,alsa,oss \ @@ -1293,6 +1325,8 @@ dobuild() { echo "===" make V=1 %{?_smp_mflags} $buildldflags + make V=1 %{?_smp_mflags} $buildldflags libcacard.la + make V=1 %{?_smp_mflags} $buildldflags libcacard/vscclient } # This is kind of confusing. We run ./configure + make twice here to @@ -1488,6 +1522,10 @@ install -m 0644 %{SOURCE11} $RPM_BUILD_ROOT%{_udevdir} install -m 0644 %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/qemu chmod u+s $RPM_BUILD_ROOT%{_libexecdir}/qemu-bridge-helper +make %{?_smp_mflags} $buildldflags DESTDIR=$RPM_BUILD_ROOT install-libcacard +find $RPM_BUILD_ROOT -name '*.la' -or -name '*.a' | xargs rm -f +find $RPM_BUILD_ROOT -name "libcacard.so*" -exec chmod +x \{\} \; + %check make check @@ -1570,7 +1608,6 @@ fi %doc %{qemudocdir}/LICENSE %dir %{_datadir}/%{name}/ %{_datadir}/%{name}/keymaps/ -%{_bindir}/vscclient %{_mandir}/man1/qemu.1* %{_mandir}/man1/virtfs-proxy-helper.1* %{_bindir}/virtfs-proxy-helper @@ -1821,7 +1858,25 @@ fi %{_mandir}/man1/qemu-img.1* %{_mandir}/man8/qemu-nbd.8* + +%files -n libcacard +%defattr(-,root,root,-) +%{_libdir}/libcacard.so.* + +%files -n libcacard-tools +%defattr(-,root,root,-) +%{_bindir}/vscclient + +%files -n libcacard-devel +%defattr(-,root,root,-) +%{_includedir}/cacard +%{_libdir}/libcacard.so +%{_libdir}/pkgconfig/libcacard.pc + %changelog +* Wed Nov 28 2012 Alon Levy - 2:1.2.0-25 +* Merge libcacard into qemu, since they both use the same sources now. + * Thu Nov 22 2012 Paolo Bonzini - 2:1.2.0-24 - Move vscclient to qemu-common, qemu-nbd to qemu-img From f375e62ad9397c0f7fa8b658f5508d858d2e6ad3 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sun, 16 Dec 2012 18:27:22 -0500 Subject: [PATCH 04/10] Update to qemu 1.2.2 stable Fix libvirt + seccomp combo (bz #855162) Fix scsi hotplug crash (bz #879657) Fix QOM refcount crash (bz #881486) --- ...-adding-new-syscalls-bugzilla-855162.patch | 241 +++++++++ ...a-convert-host-errno-values-to-guest.patch | 2 +- 0002-target-cris-Fix-buffer-overflow.patch | 2 +- ...-fix-missing-errno-codes-for-mingw32.patch | 2 +- ...-fcmp-s-d-q-instructions-wrt-excepti.patch | 2 +- 0005-target-s390x-fix-style.patch | 2 +- 0006-target-s390x-split-FPU-ops.patch | 2 +- ...t-s390x-split-condition-code-helpers.patch | 2 +- 0008-target-s390x-split-integer-helpers.patch | 2 +- ...et-s390x-split-memory-access-helpers.patch | 2 +- ...-rename-op_helper.c-to-misc_helper.c.patch | 2 +- ...et-s390x-avoid-AREG0-for-FPU-helpers.patch | 2 +- ...390x-avoid-AREG0-for-integer-helpers.patch | 2 +- ...oid-AREG0-for-condition-code-helpers.patch | 2 +- ...t-s390x-avoid-AREG0-for-misc-helpers.patch | 2 +- ...rget-s390x-switch-to-AREG0-free-mode.patch | 2 +- ...fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch | 2 +- ...et-arm-Fix-potential-buffer-overflow.patch | 2 +- ...mize-split-expression-simplification.patch | 2 +- ...optimize-simplify-or-xor-r-a-0-cases.patch | 2 +- ...cg-optimize-simplify-and-r-a-0-cases.patch | 2 +- ...plify-shift-rot-r-0-a-movi-r-0-cases.patch | 2 +- ...p-brcond-setcond-arguments-when-poss.patch | 2 +- ...ize-add-constant-folding-for-setcond.patch | 2 +- ...mize-add-constant-folding-for-brcond.patch | 2 +- ...imize-fix-if-else-break-coding-style.patch | 2 +- 0026-target-s390x-avoid-cpu_single_env.patch | 2 +- ...arget-lm32-switch-to-AREG0-free-mode.patch | 2 +- ...arget-m68k-switch-to-AREG0-free-mode.patch | 2 +- ...rget-m68k-avoid-using-cpu_single_env.patch | 2 +- ...-unicore32-switch-to-AREG0-free-mode.patch | 2 +- 0031-target-arm-convert-void-helpers.patch | 2 +- ...target-arm-convert-remaining-helpers.patch | 2 +- ...-final-conversion-to-AREG0-free-mode.patch | 2 +- ...microblaze-switch-to-AREG0-free-mode.patch | 2 +- ...-target-cris-Avoid-AREG0-for-helpers.patch | 2 +- ...arget-cris-Switch-to-AREG0-free-mode.patch | 2 +- ...target-sh4-switch-to-AREG0-free-mode.patch | 2 +- ...arget-mips-switch-to-AREG0-free-mode.patch | 2 +- ...-CONFIG_TCG_PASS_AREG0-and-dead-code.patch | 2 +- ...86-allow-constants-in-load-store-ops.patch | 2 +- ...k-set_label-with-TCG_OPF_BB_END-flag.patch | 2 +- 0042-revert-TCG-fix-copy-propagation.patch | 2 +- ...et-mips-Set-opn-in-gen_ldst_multiple.patch | 2 +- 0044-target-mips-Fix-MIPS_DEBUG.patch | 2 +- ...ys-evaluate-debugging-macro-argument.patch | 2 +- ...ize-fix-end-of-basic-block-detection.patch | 2 +- ...target-xtensa-fix-extui-shift-amount.patch | 2 +- ...nsa-don-t-emit-extra-tcg_gen_goto_tb.patch | 2 +- 0049-tcg-Introduce-movcond.patch | 2 +- 0050-target-alpha-Use-movcond.patch | 2 +- 0051-tcg-i386-Implement-movcond.patch | 2 +- ...ize-movcond-for-constant-comparisons.patch | 2 +- ...e-two-address-commutative-operations.patch | 2 +- ...build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch | 2 +- 0055-tcg-Fix-USE_DIRECT_JUMP.patch | 2 +- 0056-tcg-hppa-Fix-brcond2-and-setcond2.patch | 2 +- ...g-hppa-Fix-broken-load-store-helpers.patch | 2 +- ...mips-fix-wrong-usage-of-Z-constraint.patch | 2 +- ...-tcg-mips-kill-warnings-in-user-mode.patch | 2 +- ...-use-TCGArg-or-TCGReg-instead-of-int.patch | 2 +- 0061-tcg-mips-don-t-use-global-pointer.patch | 2 +- 0062-tcg-mips-use-stack-for-TCG-temps.patch | 2 +- 0063-tcg-mips-optimize-brcond-arg-0.patch | 2 +- ...optimize-bswap-16-16s-32-on-MIPS32R2.patch | 2 +- ...-implement-rotl-rotr-ops-on-MIPS32R2.patch | 2 +- ...ips-implement-deposit-op-on-MIPS32R2.patch | 2 +- ...ips-implement-movcond-op-on-MIPS32R2.patch | 2 +- 0068-tcg-optimize-remove-TCG_TEMP_ANY.patch | 2 +- ...mize-check-types-in-copy-propagation.patch | 2 +- ...tcg-optimize-rework-copy-progagation.patch | 2 +- ...-copy-propagation-for-all-operations.patch | 2 +- ...g-optimize-optimize-op-r-a-a-mov-r-a.patch | 2 +- ...-optimize-optimize-op-r-a-a-movi-r-0.patch | 2 +- ...ther-optimize-brcond-movcond-setcond.patch | 2 +- ...fer-the-op-a-a-b-form-for-commutativ.patch | 2 +- ...e-ifdef-endif-around-TCGOpcode-tests.patch | 2 +- ...ize-add-constant-folding-for-deposit.patch | 2 +- ...ocument-tcg_gen_goto_tb-restrictions.patch | 2 +- ...CG-helper-functions-with-5-arguments.patch | 2 +- 0080-tcg-ppc32-Implement-movcond32.patch | 2 +- ...parc-Hack-in-qemu_ld-st64-for-32-bit.patch | 2 +- 0082-tcg-sparc-Fix-ADDX-opcode.patch | 2 +- ...on-t-MAP_FIXED-on-top-of-the-program.patch | 2 +- ...-v9-cpu-always-i.e.-force-v8plus-in-.patch | 2 +- ...Fix-qemu_ld-st-to-handle-32-bit-host.patch | 2 +- 0086-tcg-sparc-Support-GUEST_BASE.patch | 2 +- ...Change-AREG0-in-generated-code-to-i0.patch | 2 +- ...up-cruft-stemming-from-attempts-to-u.patch | 2 +- ...hift-immediates-to-avoid-illegal-ins.patch | 2 +- ...cg-sparc-Use-defines-for-temporaries.patch | 2 +- ...arc-Add-g-o-registers-to-alloc_order.patch | 2 +- ...rc-Fix-and-enable-direct-TB-chaining.patch | 2 +- ...ve-branch-destinations-during-retran.patch | 2 +- ...t-alpha-Initialize-env-cpu_model_str.patch | 2 +- 0095-tcg-mips-fix-MIPS32-R2-detection.patch | 2 +- ...-Adjust-descriptions-of-cond-opcodes.patch | 2 +- 0097-tcg-i386-fix-build-with-march-i686.patch | 2 +- 0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch | 2 +- 0099-tci-Fix-for-AREG0-free-mode.patch | 2 +- ...-on-invalid-streaming-cmdline-params.patch | 2 +- ...notify-spice-server-on-vm-start-stop.patch | 2 +- ...vm-state-change-only-via-spice_serve.patch | 2 +- ...n-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch | 2 +- ...pice-add-migrated-flag-to-spice-info.patch | 2 +- ...mless-migration-option-to-the-comman.patch | 2 +- ...he-verbosity-of-spice-section-in-qem.patch | 2 +- ...a_io-guest_bug-on-invalid-parameters.patch | 2 +- ...qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch | 2 +- ...spice-protocol-and-spice-server-vers.patch | 2 +- ...doc-of-using-raw-values-with-sendkey.patch | 2 +- ...-Fix-potential-NULL-pointer-segfault.patch | 2 +- ...-Fix-potential-NULL-pointer-segfault.patch | 2 +- ...-version_id-field-for-live-migration.patch | 2 +- ...mask-for-Advanced-Error-Interrupt-Me.patch | 2 +- ...r-for-ELF-kernels-loaded-with-kernel.patch | 2 +- 0116-lan9118-fix-multicast-filtering.patch | 2 +- ...r-Fix-reset-CPU-state-initialization.patch | 2 +- 0118-Add-MAINTAINERS-entry-for-leon3.patch | 2 +- 0119-musicpal-Fix-flash-mapping.patch | 2 +- ...d-annotations-to-mark-kvm-guest-memo.patch | 2 +- ...wm8750-Fix-potential-buffer-overflow.patch | 2 +- ...-buffer-overflow-for-MBAR-read-write.patch | 2 +- ...nstead-of-ignoring-it-first-and-rein.patch | 6 +- ...empt-to-reconnect-a-TCP-socket-in-se.patch | 2 +- ...-force-enable-disable-of-tools-build.patch | 2 +- ...do-not-need-to-check-for-babble-them.patch | 2 +- ...et-packet-state-to-complete-on-a-nak.patch | 2 +- ...sb_ep_find_packet_by_id-helper-funct.patch | 2 +- ...he-first-packet-of-a-pipelined-ep-to.patch | 2 +- ...-don-t-flush-cache-on-doorbell-rings.patch | 2 +- ...-is-not-changed-unexpectedly-by-the-.patch | 2 +- ...right-headers-to-reflect-recent-work.patch | 2 +- ...i-Properly-cleanup-packets-on-cancel.patch | 2 +- ...port-completed-but-not-yet-processed.patch | 6 +- ...HCI_ASYNC_FINISHED-first-in-ehci_fre.patch | 5 +- 0136-ehci-trace-guest-bugs.patch | 2 +- 0137-ehci-add-doorbell-trace-events.patch | 2 +- ...dditional-ehci_trace_guest_bug-calls.patch | 2 +- ...y-leak-in-handling-of-NAK-ed-packets.patch | 2 +- ...e-USB_RET_PROCERR-in-ehci_fill_queue.patch | 2 +- ...omment-in-fetchqtd-packet-processing.patch | 2 +- ...return-USB_RET_NAK-for-async-handled.patch | 5 +- ...delay-handling-of-open-events-to-a-b.patch | 2 +- ...r-Get-rid-of-async-struct-get-member.patch | 2 +- ...d-of-local-shadow-copy-of-packet-hea.patch | 2 +- ...id-of-unused-async-struct-dev-member.patch | 2 +- ...to-core-packet-id-and-queue-handling.patch | 2 +- ...-babble-when-getting-more-bulk-data-.patch | 2 +- 0149-Better-name-usb-braille-device.patch | 2 +- 0150-usb-audio-fix-usb-version.patch | 2 +- ...hci-rip-out-background-transfer-code.patch | 2 +- 0152-xhci-drop-buffering.patch | 2 +- 0153-xhci-fix-runtime-write-tracepoint.patch | 2 +- ...w-bytewise-capability-register-reads.patch | 2 +- 0155-qxl-dont-update-invalid-area.patch | 2 +- ...mulated-non-async-control-requests-w.patch | 6 +- ...l-better-cleanup-for-surface-destroy.patch | 2 +- ...-ehci-switch-to-new-style-memory-ops.patch | 2 +- ...pts-stopping-when-Interrupt-Threshol.patch | 2 +- ...ss-too-much-frames-in-1-timer-tick-v.patch | 2 +- 0161-sheepdog-fix-savevm-and-loadvm.patch | 2 +- ...ssages-from-static-code-analysis-no-.patch | 2 +- ...-block-curl-Fix-wrong-free-statement.patch | 2 +- 0164-vdi-Fix-warning-from-clang.patch | 2 +- 0165-block-fix-block-tray-status.patch | 2 +- ...ci-properly-reset-PxCMD-on-HBA-reset.patch | 2 +- ...cryption-password-for-qemu-img-info-.patch | 5 +- ...on-t-forget-to-delete-temporary-file.patch | 2 +- 0169-hw-qxl-tracing-fixes.patch | 2 +- 0170-configure-usbredir-fixes.patch | 2 +- ...een-to-0-when-removing-unseen-queue-.patch | 2 +- ...-schedule-before-and-after-migration.patch | 2 +- ...rt-usb-redir-part-of-commit-93bfef4c.patch | 2 +- ...-up-packets-after-one-with-the-SPD-f.patch | 2 +- ...rong-type-casts-ins-debug-statements.patch | 2 +- ...ror-reported-by-static-code-analysis.patch | 2 +- 0177-slirp-improve-TFTP-performance.patch | 2 +- ...e-than-65535-blocks-in-TFTP-transfer.patch | 2 +- ...lirp-Implement-TFTP-Blocksize-option.patch | 2 +- ...MU_PACKED-for-single-elements-of-a-s.patch | 2 +- ...-fixes-in-comments-and-documentation.patch | 2 +- ...Clean-up-bytes-per-pixel-calculation.patch | 2 +- 0183-qapi-Fix-enumeration-typo-error.patch | 2 +- ...ix-warning-from-static-code-analysis.patch | 2 +- ...missing-symbols-before-PRIu64-in-deb.patch | 2 +- ...notify-iothread-after-flushing-queue.patch | 2 +- ...e-whenever-can_receive-can-go-from-f.patch | 2 +- ...en-flush-queue-when-getting-an-event.patch | 2 +- ...network-hang-when-rx-buffers-run-out.patch | 2 +- ..._disabled-logic-to-iov-delivery-path.patch | 2 +- ...do-not-report-queued-packets-as-sent.patch | 2 +- 0192-net-add-netdev-options-to-man-page.patch | 2 +- 0193-net-clean-up-usbnet_receive.patch | 2 +- ...-net-fix-usbnet_receive-packet-drops.patch | 2 +- ...b-packets-if-at-least-one-port-can-r.patch | 2 +- ...-send-receive-infrastructure-for-net.patch | 2 +- ...EAGAIN-handling-for-net-socket.c-UDP.patch | 2 +- ...EAGAIN-handling-for-net-socket.c-TCP.patch | 2 +- 0199-configure-fix-seccomp-check.patch | 2 +- ...operly-check-if-lrt-and-lm-is-needed.patch | 2 +- 0201-Revert-455aa1e08-and-c3767ed0eb.patch | 2 +- ...-don-t-call-FD_ISSET-with-negative-f.patch | 2 +- ...ory_write_rom-needs-to-do-TB-invalid.patch | 2 +- ...ove-soundhw-help-for-non-HAS_AUDIO_C.patch | 6 +- ...x_timer-Removed-comma-in-device-name.patch | 2 +- ...r-Send-dbg-msgs-to-stderr-not-stdout.patch | 2 +- ...inx.h-Error-check-when-setting-links.patch | 2 +- ...Fix-a-compile-error-if-debug-enabled.patch | 2 +- ...1-fix-vendor-specific-extended-query.patch | 2 +- 0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch | 2 +- ...-support-SG_IO-also-from-iscsi_ioctl.patch | 2 +- ...ed-to-explicitely-call-qemu_notify_e.patch | 2 +- ...-scsi-disk-introduce-check_lba_range.patch | 2 +- ...-disk-fix-check-for-out-of-range-LBA.patch | 2 +- ...QUIRY-data-should-report-HiSup-flag-.patch | 2 +- ...ix-warning-from-static-code-analysis.patch | 2 +- ...emove-unreachable-code-after-g_error.patch | 2 +- ...mu-sockets-Fix-potential-memory-leak.patch | 2 +- 0219-cadence_uart-Fix-buffer-overflow.patch | 2 +- 0220-lm4549-Fix-buffer-overflow.patch | 2 +- 0221-ioh3420-Remove-unreachable-code.patch | 2 +- ...x-warning-caused-by-unreachable-code.patch | 2 +- ...tialize-curses-when-qemu-is-daemoniz.patch | 2 +- ...rate-escape-parameter-in-TTY_STATE_C.patch | 2 +- ...e-redundant-null-check-and-replace-f.patch | 2 +- ...ompiler-warning-regression-for-MinGW.patch | 2 +- ...tandard-instead-of-native-format-str.patch | 2 +- ...plementation-of-gmtime_r-localtime_r.patch | 2 +- ...e-readonly-and-snapshot-states-acros.patch | 2 +- ...orrectly-set-the-keep_read_only-flag.patch | 2 +- ...builds-without-any-system-or-user-em.patch | 2 +- ...-Refactor-inet_connect_opts-function.patch | 2 +- ...nnect-into-inet_connect-blocking-and.patch | 2 +- ...handling-in-inet_nonblocking_connect.patch | 2 +- 0235-Clear-handler-only-for-valid-fd.patch | 2 +- 0236-pl190-fix-read-of-VECTADDR.patch | 2 +- ...orrectly-register-GIC-region-when-se.patch | 6 +- ...s-Fix-NOR-flash-0-address-and-remove.patch | 2 +- ...-of-CPUID-8000_0001-.EDX-is-reserved.patch | 2 +- ...Return-correctly-signed-values-from-.patch | 2 +- ...st-for-MSR_PR-for-hypercalls-under-K.patch | 2 +- 0242-update-VERSION-for-v1.2.1.patch | 2 +- ...Fix-CONFIG_QEMU_HELPERDIR-generation.patch | 17 +- ...NFIG_QEMU_HELPERDIR-generation-again.patch | 40 ++ ...rt-use-TIGHT_PNG-encoding-if-enabled.patch | 42 ++ ...c-fix-info-vnc-with-vnc-.-reverse-on.patch | 54 ++ ...rupt-when-requested-even-for-non-act.patch | 51 ++ ...qxl-qxl_dirty_surfaces-use-uintptr_t.patch | 17 +- ...ways-update-displaysurface-on-resize.patch | 7 +- 0308-rtc-fix-overflow-in-mktimegm.patch | 100 ++++ ...value-check-for-bdrv_read-bdrv_write.patch | 201 ++++++++ ...w-tsc-frequency-to-be-larger-then-2..patch | 33 ++ ..._rxov-always-treat-RX-ring-with-RDH-.patch | 65 +++ ...ring-of-a-region-obscured-by-another.patch | 57 +++ 0313-s390x-fix-initrd-in-virtio-machine.patch | 37 ++ ...C-Bamboo-Fix-memory-size-DT-property.patch | 33 ++ 0315-target-sparc64-disable-VGA-cirrus.patch | 37 ++ 0316-xhci-fix-usb-name-in-caps.patch | 40 ++ ...tialize-main-loop-before-block-layer.patch | 57 +++ ...n-semihosting-errno-values-correctly.patch | 39 ++ 0319-nbd-fixes-to-read-only-handling.patch | 62 +++ ...ps-malta-fix-CBUS-UART-interrupt-pin.patch | 41 ++ ...-fix-wrong-microMIPS-opcode-encoding.patch | 38 ++ ...arm-fix-TLB-access-in-qemu-ld-st-ops.patch | 169 +++++++ 0323-tcg-arm-fix-cross-endian-qemu_st16.patch | 77 +++ ...remove-conflicting-definitions-from-.patch | 52 ++ ...-compiler-warning-in-pipe2-detection.patch | 38 ++ ...-Fix-refcount-table-size-calculation.patch | 36 ++ 0327-tci-Fix-type-of-tci_read_label.patch | 39 ++ ...sion-for-MinGW-assertion-caused-by-s.patch | 41 ++ ...-dynamic_cast-of-NULL-is-always-NULL.patch | 44 ++ ...do-not-crash-on-invalid-SCSI-hotplug.patch | 46 ++ 0331-PPC-Fix-missing-TRACE-exception.patch | 85 ++++ ...fcount-of-non-heap-allocated-objects.patch | 50 ++ ...itor-type_size-in-QapiDeallocVisitor.patch | 57 +++ ...api_dealloc_type_size-parameter-type.patch | 36 ++ 0335-iscsi-fix-segfault-in-url-parsing.patch | 34 ++ 0336-iscsi-fix-deadlock-during-login.patch | 333 +++++++++++++ ...ot-assume-device-is-zero-initialized.patch | 44 ++ ...ix-some-endian-bugs-with-virtio-scsi.patch | 57 +++ ...tio-scsi-Fix-subtle-guest-endian-bug.patch | 46 ++ ...ots-after-migration-when-qxl-is-in-U.patch | 36 ++ ...vice_create-when-there-is-no-USB-bus.patch | 47 ++ 0342-stream-fix-ratelimit_set_speed.patch | 33 ++ ...ckets-that-are-too-long-if-SBP-and-L.patch | 49 ++ 0401-update-VERSION-for-v1.2.2.patch | 20 + ...cp-socket-close-code-in-a-separate-f.patch | 4 +- ...hrHandlers-struct-to-initialise-char.patch | 4 +- ...nable-disable_write_fd_handler-funct.patch | 4 +- ...ework-for-a-write-unblocked-callback.patch | 4 +- ..._all-to-handle-nonblocking-chardev-w.patch | 4 +- ...nix-tcp-backend-to-handle-nonblockin.patch | 4 +- ...hrottle-when-host-connection-is-down.patch | 4 +- ...nable-port-throttling-when-chardev-i.patch | 4 +- ...410-spice-qemu-char.c-add-throttling.patch | 4 +- ...mu-char.c-remove-intermediate-buffer.patch | 4 +- ...2-usb-redir-Add-flow-control-support.patch | 4 +- ...-bus-post_load-send_event-when-vm-is.patch | 130 ----- ...l-bus-replay-guest_open-on-migration.patch | 51 ++ ...te-callback-if-throttled-chardev-is-.patch | 7 +- ...-bus-replay-guest-open-on-destinatio.patch | 54 -- ... 0501-qxl-disallow-unknown-revisions.patch | 6 +- ...ber-of-surfaces-runtime-configurable.patch | 14 +- ...nt_capabilities-interface-to-QXLInte.patch | 6 +- ...-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch | 6 +- ...switch-to-queue-for-vga-mode-updates.patch | 6 +- ...spice-split-qemu_spice_create_update.patch | 4 +- ...atch => 0507-spice-add-screen-mirror.patch | 4 +- ...ates-only-for-changed-screen-content.patch | 4 +- ...client_capabilities-pre-post-migrate.patch | 6 +- ...0-qxl-add-trace-event-for-QXL_IO_LOG.patch | 6 +- ...lient-monitor-configuration-via-devi.patch | 12 +- ...io-cleanup-invalid-parameters-handli.patch | 6 +- ...fix-range-check-for-rev3-io-commands.patch | 6 +- ...on-failure-to-register-qxl-interface.patch | 35 -- ...-fix-condition-for-exiting-guest_bug.patch | 29 -- 0517-spice-raise-requirement-to-0.12.patch | 465 ------------------ 0518-qxl-set-default-revision-to-4.patch | 33 -- ...ert-to-new-libusbredirparser-0.5-API.patch | 8 +- ...-Set-ep-max_packet_size-if-available.patch | 4 +- ...usbredir_reject_device-helper-functi.patch | 4 +- ...-our-peer-has-the-necessary-caps-whe.patch | 4 +- ...Enable-pipelining-for-bulk-endpoints.patch | 4 +- ...device-lookup-into-xhci_setup_packet.patch | 6 +- ...patch => 0607-xhci-implement-mfindex.patch | 6 +- ....patch => 0608-xhci-iso-xfer-support.patch | 6 +- ...609-xhci-trace-cc-codes-in-cleartext.patch | 6 +- ...ci-add-trace_usb_xhci_ep_set_dequeue.patch | 6 +- ... => 0611-xhci-update-register-layout.patch | 6 +- ...ch => 0612-xhci-update-port-handling.patch | 10 +- ... => 0613-usb3-superspeed-descriptors.patch | 4 +- ...4-usb3-superspeed-endpoint-companion.patch | 4 +- ...tor.patch => 0615-usb3-bos-decriptor.patch | 4 +- ...tch => 0616-usb-storage-usb3-support.patch | 4 +- ...i.patch => 0617-xhci-fix-cleanup-msi.patch | 6 +- ... 0618-xhci-rework-interrupt-handling.patch | 6 +- ....patch => 0619-xhci-add-msix-support.patch | 6 +- ...register-update-into-xhci_intr_raise.patch | 6 +- ...tch => 0621-xhci-add-XHCIInterrupter.patch | 6 +- ...i_runtime_-read-write-for-multiple-i.patch | 6 +- ...=> 0623-xhci-pick-target-interrupter.patch | 6 +- ...4-xhci-support-multiple-interrupters.patch | 6 +- ...mem_-read-write-dispatcher-functions.patch | 6 +- ...-cancelled-packet-code-into-a-generi.patch | 4 +- ...an-already_in_flight-packet-id-queue.patch | 4 +- ...r-Store-max_packet_size-in-endp_data.patch | 4 +- ...-usb-redir-Add-support-for-migration.patch | 4 +- ...Add-chardev-open-close-debug-logging.patch | 4 +- ...rt-usb-redir-part-of-commit-93bfef4c.patch | 4 +- ...i-Fix-interrupt-packet-MULT-handling.patch | 4 +- ...-pkg-config-check-for-usbredirparser.patch | 8 +- ...-usbredir_open_chardev-into-usbredir.patch | 4 +- ...make-migration-fail-in-none-seamless.patch | 4 +- ...ps-Fix-link-error-with-piix4_pm_init.patch | 4 +- ...02-configure-Add-disable-kvm-options.patch | 10 +- ...initrd-load-address-to-halfway-throu.patch | 7 +- ...ckend-add-function-to-reserved-words.patch | 4 +- ...w-qxl-inject-interrupts-in-any-state.patch | 6 +- ...-fix-missing-symbols-in-libcacard.so.patch | 6 +- ...ove-vscclient-binary-under-libcacard.patch | 8 +- ...-adding-new-syscalls-bugzilla-855162.patch | 241 +++++++++ qemu.spec | 312 +++++++----- 363 files changed, 3691 insertions(+), 1316 deletions(-) create mode 100644 0001-seccomp-adding-new-syscalls-bugzilla-855162.patch rename 0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch => 0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch (70%) create mode 100644 0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch create mode 100644 0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch create mode 100644 0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch create mode 100644 0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch rename 0516-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch => 0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch (67%) rename 0511-qxl-always-update-displaysurface-on-resize.patch => 0307-qxl-always-update-displaysurface-on-resize.patch (88%) create mode 100644 0308-rtc-fix-overflow-in-mktimegm.patch create mode 100644 0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch create mode 100644 0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch create mode 100644 0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch create mode 100644 0312-memory-fix-rendering-of-a-region-obscured-by-another.patch create mode 100644 0313-s390x-fix-initrd-in-virtio-machine.patch create mode 100644 0314-PPC-Bamboo-Fix-memory-size-DT-property.patch create mode 100644 0315-target-sparc64-disable-VGA-cirrus.patch create mode 100644 0316-xhci-fix-usb-name-in-caps.patch create mode 100644 0317-tools-initialize-main-loop-before-block-layer.patch create mode 100644 0318-m68k-Return-semihosting-errno-values-correctly.patch create mode 100644 0319-nbd-fixes-to-read-only-handling.patch create mode 100644 0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch create mode 100644 0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch create mode 100644 0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch create mode 100644 0323-tcg-arm-fix-cross-endian-qemu_st16.patch create mode 100644 0324-target-openrisc-remove-conflicting-definitions-from-.patch create mode 100644 0325-configure-avoid-compiler-warning-in-pipe2-detection.patch create mode 100644 0326-qcow2-Fix-refcount-table-size-calculation.patch create mode 100644 0327-tci-Fix-type-of-tci_read_label.patch create mode 100644 0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch create mode 100644 0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch create mode 100644 0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch create mode 100644 0331-PPC-Fix-missing-TRACE-exception.patch create mode 100644 0332-qom-fix-refcount-of-non-heap-allocated-objects.patch create mode 100644 0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch create mode 100644 0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch create mode 100644 0335-iscsi-fix-segfault-in-url-parsing.patch create mode 100644 0336-iscsi-fix-deadlock-during-login.patch create mode 100644 0337-iscsi-do-not-assume-device-is-zero-initialized.patch create mode 100644 0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch create mode 100644 0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch create mode 100644 0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch create mode 100644 0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch create mode 100644 0342-stream-fix-ratelimit_set_speed.patch create mode 100644 0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch create mode 100644 0401-update-VERSION-for-v1.2.2.patch rename 0400-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch => 0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch (95%) rename 0401-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch => 0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch (99%) rename 0402-iohandlers-Add-enable-disable_write_fd_handler-funct.patch => 0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch (96%) rename 0403-char-Add-framework-for-a-write-unblocked-callback.patch => 0405-char-Add-framework-for-a-write-unblocked-callback.patch (96%) rename 0404-char-Update-send_all-to-handle-nonblocking-chardev-w.patch => 0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch (98%) rename 0405-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch => 0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch (97%) rename 0406-char-Throttle-when-host-connection-is-down.patch => 0408-char-Throttle-when-host-connection-is-down.patch (96%) rename 0407-virtio-console-Enable-port-throttling-when-chardev-i.patch => 0409-virtio-console-Enable-port-throttling-when-chardev-i.patch (95%) rename 0408-spice-qemu-char.c-add-throttling.patch => 0410-spice-qemu-char.c-add-throttling.patch (98%) rename 0409-spice-qemu-char.c-remove-intermediate-buffer.patch => 0411-spice-qemu-char.c-remove-intermediate-buffer.patch (97%) rename 0410-usb-redir-Add-flow-control-support.patch => 0412-usb-redir-Add-flow-control-support.patch (95%) delete mode 100644 0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch create mode 100644 0413-virtio-serial-bus-replay-guest_open-on-migration.patch rename 0412-char-Disable-write-callback-if-throttled-chardev-is-.patch => 0414-char-Disable-write-callback-if-throttled-chardev-is-.patch (92%) delete mode 100644 0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch rename 0500-qxl-disallow-unknown-revisions.patch => 0501-qxl-disallow-unknown-revisions.patch (88%) rename 0501-spice-make-number-of-surfaces-runtime-configurable.patch => 0502-spice-make-number-of-surfaces-runtime-configurable.patch (95%) rename 0502-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch => 0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch (95%) rename 0503-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch => 0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch (89%) rename 0504-spice-switch-to-queue-for-vga-mode-updates.patch => 0505-spice-switch-to-queue-for-vga-mode-updates.patch (97%) rename 0505-spice-split-qemu_spice_create_update.patch => 0506-spice-split-qemu_spice_create_update.patch (97%) rename 0506-spice-add-screen-mirror.patch => 0507-spice-add-screen-mirror.patch (97%) rename 0507-spice-send-updates-only-for-changed-screen-content.patch => 0508-spice-send-updates-only-for-changed-screen-content.patch (97%) rename 0508-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch => 0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch (93%) rename 0509-qxl-add-trace-event-for-QXL_IO_LOG.patch => 0510-qxl-add-trace-event-for-QXL_IO_LOG.patch (93%) rename 0510-hw-qxl-support-client-monitor-configuration-via-devi.patch => 0511-hw-qxl-support-client-monitor-configuration-via-devi.patch (97%) delete mode 100644 0514-hw-qxl-exit-on-failure-to-register-qxl-interface.patch delete mode 100644 0515-hw-qxl-fix-condition-for-exiting-guest_bug.patch delete mode 100644 0517-spice-raise-requirement-to-0.12.patch delete mode 100644 0518-qxl-set-default-revision-to-4.patch rename 0600-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch => 0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch (98%) rename 0601-usb-redir-Set-ep-max_packet_size-if-available.patch => 0602-usb-redir-Set-ep-max_packet_size-if-available.patch (95%) rename 0602-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch => 0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch (95%) rename 0603-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch => 0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch (95%) rename 0604-usb-redir-Enable-pipelining-for-bulk-endpoints.patch => 0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch (91%) rename 0605-xhci-move-device-lookup-into-xhci_setup_packet.patch => 0606-xhci-move-device-lookup-into-xhci_setup_packet.patch (97%) rename 0606-xhci-implement-mfindex.patch => 0607-xhci-implement-mfindex.patch (97%) rename 0607-xhci-iso-xfer-support.patch => 0608-xhci-iso-xfer-support.patch (98%) rename 0608-xhci-trace-cc-codes-in-cleartext.patch => 0609-xhci-trace-cc-codes-in-cleartext.patch (97%) rename 0609-xhci-add-trace_usb_xhci_ep_set_dequeue.patch => 0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch (93%) rename 0610-xhci-update-register-layout.patch => 0611-xhci-update-register-layout.patch (94%) rename 0611-xhci-update-port-handling.patch => 0612-xhci-update-port-handling.patch (98%) rename 0612-usb3-superspeed-descriptors.patch => 0613-usb3-superspeed-descriptors.patch (96%) rename 0613-usb3-superspeed-endpoint-companion.patch => 0614-usb3-superspeed-endpoint-companion.patch (99%) rename 0614-usb3-bos-decriptor.patch => 0615-usb3-bos-decriptor.patch (98%) rename 0615-usb-storage-usb3-support.patch => 0616-usb-storage-usb3-support.patch (97%) rename 0616-xhci-fix-cleanup-msi.patch => 0617-xhci-fix-cleanup-msi.patch (96%) rename 0617-xhci-rework-interrupt-handling.patch => 0618-xhci-rework-interrupt-handling.patch (96%) rename 0618-xhci-add-msix-support.patch => 0619-xhci-add-msix-support.patch (97%) rename 0619-xhci-move-register-update-into-xhci_intr_raise.patch => 0620-xhci-move-register-update-into-xhci_intr_raise.patch (92%) rename 0620-xhci-add-XHCIInterrupter.patch => 0621-xhci-add-XHCIInterrupter.patch (99%) rename 0621-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch => 0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch (97%) rename 0622-xhci-pick-target-interrupter.patch => 0623-xhci-pick-target-interrupter.patch (96%) rename 0623-xhci-support-multiple-interrupters.patch => 0624-xhci-support-multiple-interrupters.patch (89%) rename 0624-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch => 0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch (98%) rename 0625-usb-redir-Change-cancelled-packet-code-into-a-generi.patch => 0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch (98%) rename 0626-usb-redir-Add-an-already_in_flight-packet-id-queue.patch => 0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch (98%) rename 0627-usb-redir-Store-max_packet_size-in-endp_data.patch => 0628-usb-redir-Store-max_packet_size-in-endp_data.patch (95%) rename 0628-usb-redir-Add-support-for-migration.patch => 0629-usb-redir-Add-support-for-migration.patch (99%) rename 0629-usb-redir-Add-chardev-open-close-debug-logging.patch => 0630-usb-redir-Add-chardev-open-close-debug-logging.patch (95%) rename 0630-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch => 0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch (94%) rename 0631-ehci-Fix-interrupt-packet-MULT-handling.patch => 0632-ehci-Fix-interrupt-packet-MULT-handling.patch (98%) rename 0632-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch => 0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch (93%) rename 0633-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch => 0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch (95%) rename 0634-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch => 0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch (95%) rename 0800-mips-Fix-link-error-with-piix4_pm_init.patch => 0701-mips-Fix-link-error-with-piix4_pm_init.patch (92%) rename 0801-configure-Add-disable-kvm-options.patch => 0702-configure-Add-disable-kvm-options.patch (92%) rename 0802-arm_boot-Change-initrd-load-address-to-halfway-throu.patch => 0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch (98%) rename 0803-dtrace-backend-add-function-to-reserved-words.patch => 0704-dtrace-backend-add-function-to-reserved-words.patch (92%) rename 0804-wip-hw-qxl-inject-interrupts-in-any-state.patch => 0705-wip-hw-qxl-inject-interrupts-in-any-state.patch (85%) rename 1001-libcacard-fix-missing-symbols-in-libcacard.so.patch => 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch (87%) rename 1002-configure-move-vscclient-binary-under-libcacard.patch => 0707-configure-move-vscclient-binary-under-libcacard.patch (95%) create mode 100644 0708-seccomp-adding-new-syscalls-bugzilla-855162.patch diff --git a/0001-seccomp-adding-new-syscalls-bugzilla-855162.patch b/0001-seccomp-adding-new-syscalls-bugzilla-855162.patch new file mode 100644 index 0000000..b2dfb8e --- /dev/null +++ b/0001-seccomp-adding-new-syscalls-bugzilla-855162.patch @@ -0,0 +1,241 @@ +From fe512d65e0b752dfa7af6cfb374a0820d35040d0 Mon Sep 17 00:00:00 2001 +From: Eduardo Otubo +Date: Thu, 29 Nov 2012 13:56:41 -0200 +Subject: [PATCH] seccomp: adding new syscalls (bugzilla 855162) + +According to the bug 855162[0] - there's the need of adding new syscalls +to the whitelist when using Qemu with Libvirt. + +[0] - https://bugzilla.redhat.com/show_bug.cgi?id=855162 + +Reported-by: Paul Moore +Tested-by: Paul Moore +Signed-off-by: Eduardo Otubo +Signed-off-by: Corey Bryant +Signed-off-by: Anthony Liguori +--- + qemu-seccomp.c | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 139 insertions(+), 17 deletions(-) + +diff --git a/qemu-seccomp.c b/qemu-seccomp.c +index 64329a3..2a71d6f 100644 +--- a/qemu-seccomp.c ++++ b/qemu-seccomp.c +@@ -26,8 +26,12 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(timer_gettime), 254 }, + { SCMP_SYS(futex), 253 }, + { SCMP_SYS(select), 252 }, ++#if defined(__x86_64__) + { SCMP_SYS(recvfrom), 251 }, + { SCMP_SYS(sendto), 250 }, ++#elif defined(__i386__) ++ { SCMP_SYS(socketcall), 250 }, ++#endif + { SCMP_SYS(read), 249 }, + { SCMP_SYS(brk), 248 }, + { SCMP_SYS(clone), 247 }, +@@ -36,15 +40,30 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(execve), 245 }, + { SCMP_SYS(open), 245 }, + { SCMP_SYS(ioctl), 245 }, ++#if defined(__x86_64__) ++ { SCMP_SYS(socket), 245 }, ++ { SCMP_SYS(setsockopt), 245 }, + { SCMP_SYS(recvmsg), 245 }, + { SCMP_SYS(sendmsg), 245 }, + { SCMP_SYS(accept), 245 }, + { SCMP_SYS(connect), 245 }, ++ { SCMP_SYS(socketpair), 245 }, ++ { SCMP_SYS(bind), 245 }, ++ { SCMP_SYS(listen), 245 }, ++ { SCMP_SYS(semget), 245 }, ++#elif defined(__i386__) ++ { SCMP_SYS(ipc), 245 }, ++#endif + { SCMP_SYS(gettimeofday), 245 }, + { SCMP_SYS(readlink), 245 }, + { SCMP_SYS(access), 245 }, + { SCMP_SYS(prctl), 245 }, + { SCMP_SYS(signalfd), 245 }, ++ { SCMP_SYS(getrlimit), 245 }, ++ { SCMP_SYS(set_tid_address), 245 }, ++ { SCMP_SYS(statfs), 245 }, ++ { SCMP_SYS(unlink), 245 }, ++ { SCMP_SYS(wait4), 245 }, + #if defined(__i386__) + { SCMP_SYS(fcntl64), 245 }, + { SCMP_SYS(fstat64), 245 }, +@@ -56,30 +75,33 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(sigreturn), 245 }, + { SCMP_SYS(_newselect), 245 }, + { SCMP_SYS(_llseek), 245 }, +- { SCMP_SYS(mmap2), 245}, ++ { SCMP_SYS(mmap2), 245 }, + { SCMP_SYS(sigprocmask), 245 }, +-#elif defined(__x86_64__) +- { SCMP_SYS(sched_getparam), 245}, +- { SCMP_SYS(sched_getscheduler), 245}, +- { SCMP_SYS(fstat), 245}, +- { SCMP_SYS(clock_getres), 245}, +- { SCMP_SYS(sched_get_priority_min), 245}, +- { SCMP_SYS(sched_get_priority_max), 245}, +- { SCMP_SYS(stat), 245}, +- { SCMP_SYS(socket), 245}, +- { SCMP_SYS(setsockopt), 245}, +- { SCMP_SYS(uname), 245}, +- { SCMP_SYS(semget), 245}, + #endif ++ { SCMP_SYS(sched_getparam), 245 }, ++ { SCMP_SYS(sched_getscheduler), 245 }, ++ { SCMP_SYS(fstat), 245 }, ++ { SCMP_SYS(clock_getres), 245 }, ++ { SCMP_SYS(sched_get_priority_min), 245 }, ++ { SCMP_SYS(sched_get_priority_max), 245 }, ++ { SCMP_SYS(stat), 245 }, ++ { SCMP_SYS(uname), 245 }, + { SCMP_SYS(eventfd2), 245 }, + { SCMP_SYS(dup), 245 }, ++ { SCMP_SYS(dup2), 245 }, ++ { SCMP_SYS(dup3), 245 }, + { SCMP_SYS(gettid), 245 }, ++ { SCMP_SYS(getgid), 245 }, ++ { SCMP_SYS(getegid), 245 }, ++ { SCMP_SYS(getuid), 245 }, ++ { SCMP_SYS(geteuid), 245 }, + { SCMP_SYS(timer_create), 245 }, + { SCMP_SYS(exit), 245 }, + { SCMP_SYS(clock_gettime), 245 }, + { SCMP_SYS(time), 245 }, + { SCMP_SYS(restart_syscall), 245 }, + { SCMP_SYS(pwrite64), 245 }, ++ { SCMP_SYS(nanosleep), 245 }, + { SCMP_SYS(chown), 245 }, + { SCMP_SYS(openat), 245 }, + { SCMP_SYS(getdents), 245 }, +@@ -93,8 +115,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(lseek), 245 }, + { SCMP_SYS(pselect6), 245 }, + { SCMP_SYS(fork), 245 }, +- { SCMP_SYS(bind), 245 }, +- { SCMP_SYS(listen), 245 }, + { SCMP_SYS(eventfd), 245 }, + { SCMP_SYS(rt_sigprocmask), 245 }, + { SCMP_SYS(write), 244 }, +@@ -104,10 +124,112 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(pipe2), 242 }, + { SCMP_SYS(munmap), 242 }, + { SCMP_SYS(mremap), 242 }, ++ { SCMP_SYS(fdatasync), 242 }, ++ { SCMP_SYS(close), 242 }, ++ { SCMP_SYS(rt_sigpending), 242 }, ++ { SCMP_SYS(rt_sigtimedwait), 242 }, ++ { SCMP_SYS(readv), 242 }, ++ { SCMP_SYS(writev), 242 }, ++ { SCMP_SYS(preadv), 242 }, ++ { SCMP_SYS(pwritev), 242 }, ++ { SCMP_SYS(setrlimit), 242 }, ++ { SCMP_SYS(ftruncate), 242 }, ++ { SCMP_SYS(lstat), 242 }, ++ { SCMP_SYS(pipe), 242 }, ++ { SCMP_SYS(umask), 242 }, ++ { SCMP_SYS(chdir), 242 }, ++ { SCMP_SYS(setitimer), 242 }, ++ { SCMP_SYS(setsid), 242 }, ++ { SCMP_SYS(poll), 242 }, ++ { SCMP_SYS(epoll_create), 242 }, ++ { SCMP_SYS(epoll_ctl), 242 }, ++ { SCMP_SYS(epoll_wait), 242 }, ++#if defined(__i386__) ++ { SCMP_SYS(waitpid), 242 }, ++#elif defined(__x86_64__) + { SCMP_SYS(getsockname), 242 }, + { SCMP_SYS(getpeername), 242 }, +- { SCMP_SYS(fdatasync), 242 }, +- { SCMP_SYS(close), 242 } ++ { SCMP_SYS(accept4), 242 }, ++ { SCMP_SYS(newfstatat), 241 }, ++ { SCMP_SYS(shutdown), 241 }, ++ { SCMP_SYS(getsockopt), 241 }, ++ { SCMP_SYS(semctl), 241 }, ++ { SCMP_SYS(semop), 241 }, ++ { SCMP_SYS(semtimedop), 241 }, ++ { SCMP_SYS(epoll_ctl_old), 241 }, ++ { SCMP_SYS(epoll_wait_old), 241 }, ++#endif ++ { SCMP_SYS(epoll_pwait), 241 }, ++ { SCMP_SYS(epoll_create1), 241 }, ++ { SCMP_SYS(ppoll), 241 }, ++ { SCMP_SYS(creat), 241 }, ++ { SCMP_SYS(link), 241 }, ++ { SCMP_SYS(getpid), 241 }, ++ { SCMP_SYS(getppid), 241 }, ++ { SCMP_SYS(getpgrp), 241 }, ++ { SCMP_SYS(getpgid), 241 }, ++ { SCMP_SYS(getsid), 241 }, ++ { SCMP_SYS(getdents64), 241 }, ++ { SCMP_SYS(getresuid), 241 }, ++ { SCMP_SYS(getresgid), 241 }, ++ { SCMP_SYS(getgroups), 241 }, ++#if defined(__i386__) ++ { SCMP_SYS(getresuid32), 241 }, ++ { SCMP_SYS(getresgid32), 241 }, ++ { SCMP_SYS(getgroups32), 241 }, ++ { SCMP_SYS(signal), 241 }, ++ { SCMP_SYS(sigaction), 241 }, ++ { SCMP_SYS(sigsuspend), 241 }, ++ { SCMP_SYS(sigpending), 241 }, ++ { SCMP_SYS(truncate64), 241 }, ++ { SCMP_SYS(ftruncate64), 241 }, ++ { SCMP_SYS(fchown32), 241 }, ++ { SCMP_SYS(chown32), 241 }, ++ { SCMP_SYS(lchown32), 241 }, ++ { SCMP_SYS(statfs64), 241 }, ++ { SCMP_SYS(fstatfs64), 241 }, ++ { SCMP_SYS(fstatat64), 241 }, ++ { SCMP_SYS(lstat64), 241 }, ++ { SCMP_SYS(sendfile64), 241 }, ++ { SCMP_SYS(ugetrlimit), 241 }, ++#endif ++ { SCMP_SYS(alarm), 241 }, ++ { SCMP_SYS(rt_sigsuspend), 241 }, ++ { SCMP_SYS(rt_sigqueueinfo), 241 }, ++ { SCMP_SYS(rt_tgsigqueueinfo), 241 }, ++ { SCMP_SYS(sigaltstack), 241 }, ++ { SCMP_SYS(signalfd4), 241 }, ++ { SCMP_SYS(truncate), 241 }, ++ { SCMP_SYS(fchown), 241 }, ++ { SCMP_SYS(lchown), 241 }, ++ { SCMP_SYS(fchownat), 241 }, ++ { SCMP_SYS(fstatfs), 241 }, ++ { SCMP_SYS(sendfile), 241 }, ++ { SCMP_SYS(getitimer), 241 }, ++ { SCMP_SYS(syncfs), 241 }, ++ { SCMP_SYS(fsync), 241 }, ++ { SCMP_SYS(fchdir), 241 }, ++ { SCMP_SYS(flock), 241 }, ++ { SCMP_SYS(msync), 241 }, ++ { SCMP_SYS(sched_setparam), 241 }, ++ { SCMP_SYS(sched_setscheduler), 241 }, ++ { SCMP_SYS(sched_yield), 241 }, ++ { SCMP_SYS(sched_rr_get_interval), 241 }, ++ { SCMP_SYS(sched_setaffinity), 241 }, ++ { SCMP_SYS(sched_getaffinity), 241 }, ++ { SCMP_SYS(readahead), 241 }, ++ { SCMP_SYS(timer_getoverrun), 241 }, ++ { SCMP_SYS(unlinkat), 241 }, ++ { SCMP_SYS(readlinkat), 241 }, ++ { SCMP_SYS(faccessat), 241 }, ++ { SCMP_SYS(get_robust_list), 241 }, ++ { SCMP_SYS(splice), 241 }, ++ { SCMP_SYS(vmsplice), 241 }, ++ { SCMP_SYS(getcpu), 241 }, ++ { SCMP_SYS(sendmmsg), 241 }, ++ { SCMP_SYS(recvmmsg), 241 }, ++ { SCMP_SYS(prlimit64), 241 }, ++ { SCMP_SYS(waitid), 241 } + }; + + int seccomp_start(void) +-- +1.8.0.2 + diff --git a/0001-target-xtensa-convert-host-errno-values-to-guest.patch b/0001-target-xtensa-convert-host-errno-values-to-guest.patch index 7eb51fe..a8eb0a1 100644 --- a/0001-target-xtensa-convert-host-errno-values-to-guest.patch +++ b/0001-target-xtensa-convert-host-errno-values-to-guest.patch @@ -179,5 +179,5 @@ index 6d001c2..e745bef 100644 } } -- -1.7.12.1 +1.8.0.2 diff --git a/0002-target-cris-Fix-buffer-overflow.patch b/0002-target-cris-Fix-buffer-overflow.patch index 79640b1..6e370cd 100644 --- a/0002-target-cris-Fix-buffer-overflow.patch +++ b/0002-target-cris-Fix-buffer-overflow.patch @@ -31,5 +31,5 @@ index 1ad9ec7..ad31877 100644 cpu_fprintf(f, "s%2.2d=%8.8x ", i, env->sregs[srs][i]); -- -1.7.12.1 +1.8.0.2 diff --git a/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch b/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch index b5fdd18..2ef4163 100644 --- a/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch +++ b/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch @@ -60,5 +60,5 @@ index e745bef..52be07a 100644 if (host_errno == 0) { -- -1.7.12.1 +1.8.0.2 diff --git a/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch b/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch index e6095aa..c72fca4 100644 --- a/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch +++ b/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch @@ -129,5 +129,5 @@ index 9c64ef8..f4b62a5 100644 break; \ default: \ -- -1.7.12.1 +1.8.0.2 diff --git a/0005-target-s390x-fix-style.patch b/0005-target-s390x-fix-style.patch index 0f0a63e..21b777d 100644 --- a/0005-target-s390x-fix-style.patch +++ b/0005-target-s390x-fix-style.patch @@ -1599,5 +1599,5 @@ index abc35dd..195e93e 100644 env->regs[r1] = ret; } -- -1.7.12.1 +1.8.0.2 diff --git a/0006-target-s390x-split-FPU-ops.patch b/0006-target-s390x-split-FPU-ops.patch index 5aabf6f..b5d1cfa 100644 --- a/0006-target-s390x-split-FPU-ops.patch +++ b/0006-target-s390x-split-FPU-ops.patch @@ -1752,5 +1752,5 @@ index 1c1baf5..c370df3 100644 break; case 0xd: /* DEB R1,D2(X2,B2) [RXE] */ -- -1.7.12.1 +1.8.0.2 diff --git a/0007-target-s390x-split-condition-code-helpers.patch b/0007-target-s390x-split-condition-code-helpers.patch index 33ddc67..ab12a6c 100644 --- a/0007-target-s390x-split-condition-code-helpers.patch +++ b/0007-target-s390x-split-condition-code-helpers.patch @@ -1154,5 +1154,5 @@ index 270bf14..eced890 100644 void HELPER(ipte)(uint64_t pte_addr, uint64_t vaddr) { -- -1.7.12.1 +1.8.0.2 diff --git a/0008-target-s390x-split-integer-helpers.patch b/0008-target-s390x-split-integer-helpers.patch index 5610e6d..998b49f 100644 --- a/0008-target-s390x-split-integer-helpers.patch +++ b/0008-target-s390x-split-integer-helpers.patch @@ -440,5 +440,5 @@ index eced890..3b8b997 100644 { int len_dest = len >> 4; -- -1.7.12.1 +1.8.0.2 diff --git a/0009-target-s390x-split-memory-access-helpers.patch b/0009-target-s390x-split-memory-access-helpers.patch index 0e87180..43e46a5 100644 --- a/0009-target-s390x-split-memory-access-helpers.patch +++ b/0009-target-s390x-split-memory-access-helpers.patch @@ -2420,5 +2420,5 @@ index 3b8b997..bb8dbf5 100644 - #endif -- -1.7.12.1 +1.8.0.2 diff --git a/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch b/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch index e96aa52..b9182c5 100644 --- a/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch +++ b/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch @@ -920,5 +920,5 @@ index bb8dbf5..0000000 -} -#endif -- -1.7.12.1 +1.8.0.2 diff --git a/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch b/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch index 597face..254d47f 100644 --- a/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch +++ b/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch @@ -1214,5 +1214,5 @@ index c370df3..b1f2071 100644 tcg_temp_free_i32(tmp32_1); tcg_temp_free_i32(tmp32_2); -- -1.7.12.1 +1.8.0.2 diff --git a/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch b/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch index 379d0f7..9e2b2ef 100644 --- a/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch +++ b/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch @@ -198,5 +198,5 @@ index b1f2071..2a61e92 100644 tcg_temp_free_i32(tmp32_1); tcg_temp_free_i32(tmp32_2); -- -1.7.12.1 +1.8.0.2 diff --git a/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch b/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch index eddecbb..fbda591 100644 --- a/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch +++ b/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch @@ -186,5 +186,5 @@ index 2a61e92..1d87272 100644 tcg_temp_free_i64(tmp2); tcg_temp_free_i64(tmp3); -- -1.7.12.1 +1.8.0.2 diff --git a/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch b/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch index 11ff8fb..b804afb 100644 --- a/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch +++ b/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch @@ -407,5 +407,5 @@ index 1d87272..0c61e63 100644 tcg_temp_free_i64(tmp); tcg_temp_free_i64(tmp2); -- -1.7.12.1 +1.8.0.2 diff --git a/0015-target-s390x-switch-to-AREG0-free-mode.patch b/0015-target-s390x-switch-to-AREG0-free-mode.patch index 2329cb2..a4b1a3e 100644 --- a/0015-target-s390x-switch-to-AREG0-free-mode.patch +++ b/0015-target-s390x-switch-to-AREG0-free-mode.patch @@ -1580,5 +1580,5 @@ index 0c61e63..66119cd 100644 set_cc_static(s); tcg_temp_free_i64(tmp); -- -1.7.12.1 +1.8.0.2 diff --git a/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch b/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch index 96c305e..ddfa091 100644 --- a/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch +++ b/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch @@ -60,5 +60,5 @@ index 04662c1..99b5339 100644 #endif tgen_calli(s, (tcg_target_ulong)qemu_ld_helpers[s_bits]); -- -1.7.12.1 +1.8.0.2 diff --git a/0017-target-arm-Fix-potential-buffer-overflow.patch b/0017-target-arm-Fix-potential-buffer-overflow.patch index 6b9726e..918e22d 100644 --- a/0017-target-arm-Fix-potential-buffer-overflow.patch +++ b/0017-target-arm-Fix-potential-buffer-overflow.patch @@ -43,5 +43,5 @@ index dceaa95..e27df96 100644 } env->cp15.c6_region[ri->crm] = value; -- -1.7.12.1 +1.8.0.2 diff --git a/0018-tcg-optimize-split-expression-simplification.patch b/0018-tcg-optimize-split-expression-simplification.patch index 0dcd9b0..7d5d7cd 100644 --- a/0018-tcg-optimize-split-expression-simplification.patch +++ b/0018-tcg-optimize-split-expression-simplification.patch @@ -53,5 +53,5 @@ index 9c65474..63f970d 100644 CASE_OP_32_64(and): if (args[1] == args[2]) { -- -1.7.12.1 +1.8.0.2 diff --git a/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch b/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch index 4f9dd62..3bb71ae 100644 --- a/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch +++ b/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch @@ -26,5 +26,5 @@ index 63f970d..0db849e 100644 /* Proceed with possible constant folding. */ break; -- -1.7.12.1 +1.8.0.2 diff --git a/0020-tcg-optimize-simplify-and-r-a-0-cases.patch b/0020-tcg-optimize-simplify-and-r-a-0-cases.patch index e609e66..26ba03d 100644 --- a/0020-tcg-optimize-simplify-and-r-a-0-cases.patch +++ b/0020-tcg-optimize-simplify-and-r-a-0-cases.patch @@ -25,5 +25,5 @@ index 0db849e..c12cb2b 100644 if ((temps[args[2]].state == TCG_TEMP_CONST && temps[args[2]].val == 0)) { -- -1.7.12.1 +1.8.0.2 diff --git a/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch b/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch index d77bf30..9af5fe4 100644 --- a/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch +++ b/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch @@ -44,5 +44,5 @@ index c12cb2b..1698ba3 100644 switch (op) { CASE_OP_32_64(add): -- -1.7.12.1 +1.8.0.2 diff --git a/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch b/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch index 19135ee..f003828 100644 --- a/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch +++ b/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch @@ -45,5 +45,5 @@ index 1698ba3..7debc8a 100644 break; } -- -1.7.12.1 +1.8.0.2 diff --git a/0023-tcg-optimize-add-constant-folding-for-setcond.patch b/0023-tcg-optimize-add-constant-folding-for-setcond.patch index 0968e1e..be84590 100644 --- a/0023-tcg-optimize-add-constant-folding-for-setcond.patch +++ b/0023-tcg-optimize-add-constant-folding-for-setcond.patch @@ -110,5 +110,5 @@ index 7debc8a..1cb1f36 100644 nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { -- -1.7.12.1 +1.8.0.2 diff --git a/0024-tcg-optimize-add-constant-folding-for-brcond.patch b/0024-tcg-optimize-add-constant-folding-for-brcond.patch index 0b4c73b..172d65e 100644 --- a/0024-tcg-optimize-add-constant-folding-for-brcond.patch +++ b/0024-tcg-optimize-add-constant-folding-for-brcond.patch @@ -56,5 +56,5 @@ index 1cb1f36..156e8d9 100644 for (i = 0; i < def->nb_args; i++) { *gen_args = *args; -- -1.7.12.1 +1.8.0.2 diff --git a/0025-tcg-optimize-fix-if-else-break-coding-style.patch b/0025-tcg-optimize-fix-if-else-break-coding-style.patch index ef77b6e..d922bed 100644 --- a/0025-tcg-optimize-fix-if-else-break-coding-style.patch +++ b/0025-tcg-optimize-fix-if-else-break-coding-style.patch @@ -140,5 +140,5 @@ index 156e8d9..fba0ed9 100644 nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { -- -1.7.12.1 +1.8.0.2 diff --git a/0026-target-s390x-avoid-cpu_single_env.patch b/0026-target-s390x-avoid-cpu_single_env.patch index 2b3e6a4..dbfe5b9 100644 --- a/0026-target-s390x-avoid-cpu_single_env.patch +++ b/0026-target-s390x-avoid-cpu_single_env.patch @@ -1333,5 +1333,5 @@ index 66119cd..3214783 100644 num_insns++; if (env->singlestep_enabled) { -- -1.7.12.1 +1.8.0.2 diff --git a/0027-target-lm32-switch-to-AREG0-free-mode.patch b/0027-target-lm32-switch-to-AREG0-free-mode.patch index 9a92a12..72668c5 100644 --- a/0027-target-lm32-switch-to-AREG0-free-mode.patch +++ b/0027-target-lm32-switch-to-AREG0-free-mode.patch @@ -278,5 +278,5 @@ index 872a2ba..5f6dcba 100644 num_insns++; -- -1.7.12.1 +1.8.0.2 diff --git a/0028-target-m68k-switch-to-AREG0-free-mode.patch b/0028-target-m68k-switch-to-AREG0-free-mode.patch index 220b78d..4e2b518 100644 --- a/0028-target-m68k-switch-to-AREG0-free-mode.patch +++ b/0028-target-m68k-switch-to-AREG0-free-mode.patch @@ -498,5 +498,5 @@ index 9fc1e31..10bb303 100644 switch(dc->is_jmp) { case DISAS_NEXT: -- -1.7.12.1 +1.8.0.2 diff --git a/0029-target-m68k-avoid-using-cpu_single_env.patch b/0029-target-m68k-avoid-using-cpu_single_env.patch index 871bbe8..0cb01b5 100644 --- a/0029-target-m68k-avoid-using-cpu_single_env.patch +++ b/0029-target-m68k-avoid-using-cpu_single_env.patch @@ -897,5 +897,5 @@ index 10bb303..fb707f2 100644 /* generate intermediate code for basic block 'tb'. */ -- -1.7.12.1 +1.8.0.2 diff --git a/0030-target-unicore32-switch-to-AREG0-free-mode.patch b/0030-target-unicore32-switch-to-AREG0-free-mode.patch index 4880417..c1fce32 100644 --- a/0030-target-unicore32-switch-to-AREG0-free-mode.patch +++ b/0030-target-unicore32-switch-to-AREG0-free-mode.patch @@ -433,5 +433,5 @@ index 188bf8c..b786a6b 100644 /* UniCore instructions class: -- -1.7.12.1 +1.8.0.2 diff --git a/0031-target-arm-convert-void-helpers.patch b/0031-target-arm-convert-void-helpers.patch index 3ea4640..8e50813 100644 --- a/0031-target-arm-convert-void-helpers.patch +++ b/0031-target-arm-convert-void-helpers.patch @@ -177,5 +177,5 @@ index edef79a..6f651d9 100644 case DISAS_SWI: gen_exception(EXCP_SWI); -- -1.7.12.1 +1.8.0.2 diff --git a/0032-target-arm-convert-remaining-helpers.patch b/0032-target-arm-convert-remaining-helpers.patch index 73dd928..e5a39f4 100644 --- a/0032-target-arm-convert-remaining-helpers.patch +++ b/0032-target-arm-convert-remaining-helpers.patch @@ -817,5 +817,5 @@ index 6f651d9..9ae3b26 100644 break; case 0xc: /* orr */ -- -1.7.12.1 +1.8.0.2 diff --git a/0033-target-arm-final-conversion-to-AREG0-free-mode.patch b/0033-target-arm-final-conversion-to-AREG0-free-mode.patch index 8a83359..0a3790a 100644 --- a/0033-target-arm-final-conversion-to-AREG0-free-mode.patch +++ b/0033-target-arm-final-conversion-to-AREG0-free-mode.patch @@ -175,5 +175,5 @@ index 9ae3b26..f4b447a 100644 switch (insn >> 12) { -- -1.7.12.1 +1.8.0.2 diff --git a/0034-target-microblaze-switch-to-AREG0-free-mode.patch b/0034-target-microblaze-switch-to-AREG0-free-mode.patch index fea6bb8..923f524 100644 --- a/0034-target-microblaze-switch-to-AREG0-free-mode.patch +++ b/0034-target-microblaze-switch-to-AREG0-free-mode.patch @@ -711,5 +711,5 @@ index 7470149..9c7d77f 100644 } else { switch(dc->is_jmp) { -- -1.7.12.1 +1.8.0.2 diff --git a/0035-target-cris-Avoid-AREG0-for-helpers.patch b/0035-target-cris-Avoid-AREG0-for-helpers.patch index 9314afb..ce3a4fd 100644 --- a/0035-target-cris-Avoid-AREG0-for-helpers.patch +++ b/0035-target-cris-Avoid-AREG0-for-helpers.patch @@ -519,5 +519,5 @@ index 3629629..9a39c6a 100644 break; case CRISV10_REG_DSTEP: -- -1.7.12.1 +1.8.0.2 diff --git a/0036-target-cris-Switch-to-AREG0-free-mode.patch b/0036-target-cris-Switch-to-AREG0-free-mode.patch index 1464e22..113ed4b 100644 --- a/0036-target-cris-Switch-to-AREG0-free-mode.patch +++ b/0036-target-cris-Switch-to-AREG0-free-mode.patch @@ -1534,5 +1534,5 @@ index 9a39c6a..d2cca89 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0037-target-sh4-switch-to-AREG0-free-mode.patch b/0037-target-sh4-switch-to-AREG0-free-mode.patch index dbbffb0..31c3ce3 100644 --- a/0037-target-sh4-switch-to-AREG0-free-mode.patch +++ b/0037-target-sh4-switch-to-AREG0-free-mode.patch @@ -1056,5 +1056,5 @@ index 6532ad2..d05c74c 100644 switch (ctx.bstate) { case BS_STOP: -- -1.7.12.1 +1.8.0.2 diff --git a/0038-target-mips-switch-to-AREG0-free-mode.patch b/0038-target-mips-switch-to-AREG0-free-mode.patch index 6c8ea5a..95e6466 100644 --- a/0038-target-mips-switch-to-AREG0-free-mode.patch +++ b/0038-target-mips-switch-to-AREG0-free-mode.patch @@ -6332,5 +6332,5 @@ index b293419..7ab769f 100644 switch (ctx.bstate) { case BS_STOP: -- -1.7.12.1 +1.8.0.2 diff --git a/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch b/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch index 72c61e8..cfa93c5 100644 --- a/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch +++ b/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch @@ -1679,5 +1679,5 @@ index b9ea9dd..ef9b172 100644 qemu_printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", pc, address, is_write, *(unsigned long *)old_set); -- -1.7.12.1 +1.8.0.2 diff --git a/0040-tcg-i386-allow-constants-in-load-store-ops.patch b/0040-tcg-i386-allow-constants-in-load-store-ops.patch index 0c9066c..e675050 100644 --- a/0040-tcg-i386-allow-constants-in-load-store-ops.patch +++ b/0040-tcg-i386-allow-constants-in-load-store-ops.patch @@ -110,5 +110,5 @@ index 34c2df8..3017858 100644 { INDEX_op_add_i64, { "r", "0", "re" } }, { INDEX_op_mul_i64, { "r", "0", "re" } }, -- -1.7.12.1 +1.8.0.2 diff --git a/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch b/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch index bfab53b..516e728 100644 --- a/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch +++ b/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch @@ -49,5 +49,5 @@ index 8386b70..c002a88 100644 args -= def->nb_args; break; -- -1.7.12.1 +1.8.0.2 diff --git a/0042-revert-TCG-fix-copy-propagation.patch b/0042-revert-TCG-fix-copy-propagation.patch index 9e0a169..809aeef 100644 --- a/0042-revert-TCG-fix-copy-propagation.patch +++ b/0042-revert-TCG-fix-copy-propagation.patch @@ -81,5 +81,5 @@ index d710694..8fbbc81 100644 /* If you call tcg_clear_temp_count() at the start of a section of * code which is not supposed to leak any TCG temporaries, then -- -1.7.12.1 +1.8.0.2 diff --git a/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch b/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch index 874c31e..e1b3f22 100644 --- a/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch +++ b/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch @@ -51,5 +51,5 @@ index 7ab769f..c31f91c 100644 tcg_temp_free(t0); tcg_temp_free(t1); -- -1.7.12.1 +1.8.0.2 diff --git a/0044-target-mips-Fix-MIPS_DEBUG.patch b/0044-target-mips-Fix-MIPS_DEBUG.patch index 0fa094a..72c05de 100644 --- a/0044-target-mips-Fix-MIPS_DEBUG.patch +++ b/0044-target-mips-Fix-MIPS_DEBUG.patch @@ -284,5 +284,5 @@ index c31f91c..4937f6b 100644 case OPC_J ... OPC_JAL: /* Jump */ offset = (int32_t)(ctx->opcode & 0x3FFFFFF) << 2; -- -1.7.12.1 +1.8.0.2 diff --git a/0045-target-mips-Always-evaluate-debugging-macro-argument.patch b/0045-target-mips-Always-evaluate-debugging-macro-argument.patch index e424bcf..d32bed4 100644 --- a/0045-target-mips-Always-evaluate-debugging-macro-argument.patch +++ b/0045-target-mips-Always-evaluate-debugging-macro-argument.patch @@ -66,5 +66,5 @@ index 4937f6b..aba7935 100644 /* General purpose registers moves. */ static inline void gen_load_gpr (TCGv t, int reg) -- -1.7.12.1 +1.8.0.2 diff --git a/0046-tcg-optimize-fix-end-of-basic-block-detection.patch b/0046-tcg-optimize-fix-end-of-basic-block-detection.patch index c498962..345bcab 100644 --- a/0046-tcg-optimize-fix-end-of-basic-block-detection.patch +++ b/0046-tcg-optimize-fix-end-of-basic-block-detection.patch @@ -58,5 +58,5 @@ index 10d9773..9da333c 100644 for (i = 0; i < def->nb_args; i++) { gen_args[i] = args[i]; -- -1.7.12.1 +1.8.0.2 diff --git a/0047-target-xtensa-fix-extui-shift-amount.patch b/0047-target-xtensa-fix-extui-shift-amount.patch index c654322..f2e209d 100644 --- a/0047-target-xtensa-fix-extui-shift-amount.patch +++ b/0047-target-xtensa-fix-extui-shift-amount.patch @@ -53,5 +53,5 @@ index 1900bd5..7a1c528 100644 } break; -- -1.7.12.1 +1.8.0.2 diff --git a/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch b/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch index 2e8e219..f7636fd 100644 --- a/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch +++ b/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch @@ -31,5 +31,5 @@ index 7a1c528..b6643eb 100644 return; -- -1.7.12.1 +1.8.0.2 diff --git a/0049-tcg-Introduce-movcond.patch b/0049-tcg-Introduce-movcond.patch index 3ead932..2f17299 100644 --- a/0049-tcg-Introduce-movcond.patch +++ b/0049-tcg-Introduce-movcond.patch @@ -329,5 +329,5 @@ index 30a0f21..6d89495 100644 /* Offset to user memory in user mode. */ -- -1.7.12.1 +1.8.0.2 diff --git a/0050-target-alpha-Use-movcond.patch b/0050-target-alpha-Use-movcond.patch index 0bd5272..ebbddcc 100644 --- a/0050-target-alpha-Use-movcond.patch +++ b/0050-target-alpha-Use-movcond.patch @@ -156,5 +156,5 @@ index 12de6a3..4a9011a 100644 #define QUAL_RM_N 0x080 /* Round mode nearest even */ -- -1.7.12.1 +1.8.0.2 diff --git a/0051-tcg-i386-Implement-movcond.patch b/0051-tcg-i386-Implement-movcond.patch index 4d3983f..b979337 100644 --- a/0051-tcg-i386-Implement-movcond.patch +++ b/0051-tcg-i386-Implement-movcond.patch @@ -114,5 +114,5 @@ index 504f953..b356d76 100644 #define TCG_TARGET_deposit_i32_valid(ofs, len) \ -- -1.7.12.1 +1.8.0.2 diff --git a/0052-tcg-Optimize-movcond-for-constant-comparisons.patch b/0052-tcg-Optimize-movcond-for-constant-comparisons.patch index ce0f00b..b5d36e2 100644 --- a/0052-tcg-Optimize-movcond-for-constant-comparisons.patch +++ b/0052-tcg-Optimize-movcond-for-constant-comparisons.patch @@ -69,5 +69,5 @@ index 9da333c..26038a6 100644 nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { -- -1.7.12.1 +1.8.0.2 diff --git a/0053-tcg-Optimize-two-address-commutative-operations.patch b/0053-tcg-Optimize-two-address-commutative-operations.patch index adacbb8..b142681 100644 --- a/0053-tcg-Optimize-two-address-commutative-operations.patch +++ b/0053-tcg-Optimize-two-address-commutative-operations.patch @@ -53,5 +53,5 @@ index 26038a6..1be7631 100644 break; } -- -1.7.12.1 +1.8.0.2 diff --git a/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch b/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch index 250f893..3c3c71e 100644 --- a/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch +++ b/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch @@ -188,5 +188,5 @@ index 5d37dd9..a91709f 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0055-tcg-Fix-USE_DIRECT_JUMP.patch b/0055-tcg-Fix-USE_DIRECT_JUMP.patch index 3f88ee8..6a1bb50 100644 --- a/0055-tcg-Fix-USE_DIRECT_JUMP.patch +++ b/0055-tcg-Fix-USE_DIRECT_JUMP.patch @@ -31,5 +31,5 @@ index f454107..609ed86 100644 uint16_t *tb_jmp_offset; /* != NULL if USE_DIRECT_JUMP */ -- -1.7.12.1 +1.8.0.2 diff --git a/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch b/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch index fa1f7cb..26a807a 100644 --- a/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch +++ b/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch @@ -104,5 +104,5 @@ index 8b81b70..a76569d 100644 tcg_out_mov(s, TCG_TYPE_I32, ret, scratch); -- -1.7.12.1 +1.8.0.2 diff --git a/0057-tcg-hppa-Fix-broken-load-store-helpers.patch b/0057-tcg-hppa-Fix-broken-load-store-helpers.patch index 3666a95..b23c10d 100644 --- a/0057-tcg-hppa-Fix-broken-load-store-helpers.patch +++ b/0057-tcg-hppa-Fix-broken-load-store-helpers.patch @@ -245,5 +245,5 @@ index a76569d..5385d45 100644 } tcg_out_qemu_st_direct(s, datalo_reg, datahi_reg, addrlo_reg, opc); -- -1.7.12.1 +1.8.0.2 diff --git a/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch b/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch index a4e1059..52839e3 100644 --- a/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch +++ b/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch @@ -61,5 +61,5 @@ index 74db83d..9293745 100644 #if TARGET_LONG_BITS == 32 -- -1.7.12.1 +1.8.0.2 diff --git a/0059-tcg-mips-kill-warnings-in-user-mode.patch b/0059-tcg-mips-kill-warnings-in-user-mode.patch index 96de9cb..3179bcb 100644 --- a/0059-tcg-mips-kill-warnings-in-user-mode.patch +++ b/0059-tcg-mips-kill-warnings-in-user-mode.patch @@ -162,5 +162,5 @@ index 9293745..a09c0d6 100644 #if defined(CONFIG_SOFTMMU) tcg_out_opc_sa(s, OPC_SRL, TCG_REG_A0, addr_regl, TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); -- -1.7.12.1 +1.8.0.2 diff --git a/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch b/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch index a6eb42f..7bd5d17 100644 --- a/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch +++ b/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch @@ -242,5 +242,5 @@ index a09c0d6..8b38f98 100644 #endif data_regl = *args++; -- -1.7.12.1 +1.8.0.2 diff --git a/0061-tcg-mips-don-t-use-global-pointer.patch b/0061-tcg-mips-don-t-use-global-pointer.patch index a9aaf69..27884f8 100644 --- a/0061-tcg-mips-don-t-use-global-pointer.patch +++ b/0061-tcg-mips-don-t-use-global-pointer.patch @@ -33,5 +33,5 @@ index 8b38f98..0ea6a76 100644 tcg_add_target_add_op_defs(mips_op_defs); tcg_set_frame(s, TCG_AREG0, offsetof(CPUArchState, temp_buf), -- -1.7.12.1 +1.8.0.2 diff --git a/0062-tcg-mips-use-stack-for-TCG-temps.patch b/0062-tcg-mips-use-stack-for-TCG-temps.patch index 09ea3fb..6be77f1 100644 --- a/0062-tcg-mips-use-stack-for-TCG-temps.patch +++ b/0062-tcg-mips-use-stack-for-TCG-temps.patch @@ -43,5 +43,5 @@ index 0ea6a76..c05169f 100644 - CPU_TEMP_BUF_NLONGS * sizeof(long)); } -- -1.7.12.1 +1.8.0.2 diff --git a/0063-tcg-mips-optimize-brcond-arg-0.patch b/0063-tcg-mips-optimize-brcond-arg-0.patch index e21fcac..9f5f839 100644 --- a/0063-tcg-mips-optimize-brcond-arg-0.patch +++ b/0063-tcg-mips-optimize-brcond-arg-0.patch @@ -95,5 +95,5 @@ index c05169f..6aa4527 100644 case TCG_COND_GTU: tcg_out_opc_reg(s, OPC_SLTU, TCG_REG_AT, arg2, arg1); -- -1.7.12.1 +1.8.0.2 diff --git a/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch b/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch index 45a881d..b3ca1c3 100644 --- a/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch +++ b/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch @@ -157,5 +157,5 @@ index 9c68a32..c5c13f7 100644 #define TCG_TARGET_HAS_neg_i32 0 /* sub rd, zero, rt */ #define TCG_TARGET_HAS_ext8u_i32 0 /* andi rt, rs, 0xff */ -- -1.7.12.1 +1.8.0.2 diff --git a/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch b/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch index 6134676..78f918c 100644 --- a/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch +++ b/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch @@ -88,5 +88,5 @@ index c5c13f7..470314c 100644 /* optional instructions automatically implemented */ -- -1.7.12.1 +1.8.0.2 diff --git a/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch b/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch index fe54bc0..eb38a58 100644 --- a/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch +++ b/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch @@ -73,5 +73,5 @@ index 470314c..897a737 100644 /* optional instructions automatically implemented */ -- -1.7.12.1 +1.8.0.2 diff --git a/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch b/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch index 7f06797..4ecf038 100644 --- a/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch +++ b/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch @@ -136,5 +136,5 @@ index 897a737..d147e70 100644 /* optional instructions only implemented on MIPS32R2 */ #ifdef _MIPS_ARCH_MIPS32R2 -- -1.7.12.1 +1.8.0.2 diff --git a/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch b/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch index 0702187..2002c81 100644 --- a/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch +++ b/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch @@ -58,5 +58,5 @@ index 1be7631..308b7f9 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0069-tcg-optimize-check-types-in-copy-propagation.patch b/0069-tcg-optimize-check-types-in-copy-propagation.patch index 6627679..e269b63 100644 --- a/0069-tcg-optimize-check-types-in-copy-propagation.patch +++ b/0069-tcg-optimize-check-types-in-copy-propagation.patch @@ -74,5 +74,5 @@ index 308b7f9..da8dffe 100644 args += 2; break; -- -1.7.12.1 +1.8.0.2 diff --git a/0070-tcg-optimize-rework-copy-progagation.patch b/0070-tcg-optimize-rework-copy-progagation.patch index ca39c5a..1ddca44 100644 --- a/0070-tcg-optimize-rework-copy-progagation.patch +++ b/0070-tcg-optimize-rework-copy-progagation.patch @@ -373,5 +373,5 @@ index da8dffe..1904b39 100644 } for (i = 0; i < def->nb_args; i++) { -- -1.7.12.1 +1.8.0.2 diff --git a/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch b/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch index 62a4efb..e0cd01c 100644 --- a/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch +++ b/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch @@ -38,5 +38,5 @@ index 1904b39..aeb2225 100644 if (temps[args[i]].state == TCG_TEMP_COPY) { args[i] = find_better_copy(s, args[i]); -- -1.7.12.1 +1.8.0.2 diff --git a/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch b/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch index 65f5c50..bc92f45 100644 --- a/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch +++ b/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch @@ -27,5 +27,5 @@ index aeb2225..b9a7da9 100644 gen_opc_buf[op_index] = INDEX_op_nop; } else { -- -1.7.12.1 +1.8.0.2 diff --git a/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch b/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch index 48ad5fe..32c5222 100644 --- a/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch +++ b/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch @@ -42,5 +42,5 @@ index b9a7da9..ceea644 100644 folding. Constants will be substituted to arguments by register allocator where needed and possible. Also detect copies. */ -- -1.7.12.1 +1.8.0.2 diff --git a/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch b/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch index 9b9180d..50401e3 100644 --- a/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch +++ b/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch @@ -188,5 +188,5 @@ index ceea644..abe016a 100644 gen_opc_buf[op_index] = INDEX_op_nop; } else if (temps[args[4-tmp]].state == TCG_TEMP_CONST) { -- -1.7.12.1 +1.8.0.2 diff --git a/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch b/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch index 4cb003b..14fcf13 100644 --- a/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch +++ b/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch @@ -34,5 +34,5 @@ index abe016a..c8ae50b 100644 args[1] = args[2]; args[2] = tmp; -- -1.7.12.1 +1.8.0.2 diff --git a/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch b/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch index 214a022..c335383 100644 --- a/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch +++ b/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch @@ -64,5 +64,5 @@ index 24ce830..93421cd 100644 break; case INDEX_op_debug_insn_start: -- -1.7.12.1 +1.8.0.2 diff --git a/0077-tcg-optimize-add-constant-folding-for-deposit.patch b/0077-tcg-optimize-add-constant-folding-for-deposit.patch index 63566ce..14d9783 100644 --- a/0077-tcg-optimize-add-constant-folding-for-deposit.patch +++ b/0077-tcg-optimize-add-constant-folding-for-deposit.patch @@ -42,5 +42,5 @@ index c8ae50b..35532a1 100644 tmp = do_constant_folding_cond(op, args[1], args[2], args[3]); if (tmp != 2) { -- -1.7.12.1 +1.8.0.2 diff --git a/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch b/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch index b47b1f1..3adb4c8 100644 --- a/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch +++ b/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch @@ -29,5 +29,5 @@ index d03ae05..33783ee 100644 * qemu_ld8u t0, t1, flags qemu_ld8s t0, t1, flags -- -1.7.12.1 +1.8.0.2 diff --git a/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch b/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch index 3cea914..686f492 100644 --- a/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch +++ b/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch @@ -53,5 +53,5 @@ index b356d76..ace63ba 100644 /* optional instructions */ #define TCG_TARGET_HAS_div2_i32 1 -- -1.7.12.1 +1.8.0.2 diff --git a/0080-tcg-ppc32-Implement-movcond32.patch b/0080-tcg-ppc32-Implement-movcond32.patch index 2877379..d992f78 100644 --- a/0080-tcg-ppc32-Implement-movcond32.patch +++ b/0080-tcg-ppc32-Implement-movcond32.patch @@ -133,5 +133,5 @@ index 177eea1..3259d89 100644 #define TCG_AREG0 TCG_REG_R27 -- -1.7.12.1 +1.8.0.2 diff --git a/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch b/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch index f84d719..8d2ac6a 100644 --- a/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch +++ b/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch @@ -26,5 +26,5 @@ index baed3b4..608fc46 100644 { -1 }, }; -- -1.7.12.1 +1.8.0.2 diff --git a/0082-tcg-sparc-Fix-ADDX-opcode.patch b/0082-tcg-sparc-Fix-ADDX-opcode.patch index af3a51a..87fbdbc 100644 --- a/0082-tcg-sparc-Fix-ADDX-opcode.patch +++ b/0082-tcg-sparc-Fix-ADDX-opcode.patch @@ -23,5 +23,5 @@ index 608fc46..0a19313 100644 #define ARITH_UMUL (INSN_OP(2) | INSN_OP3(0x0a)) #define ARITH_UDIV (INSN_OP(2) | INSN_OP3(0x0e)) -- -1.7.12.1 +1.8.0.2 diff --git a/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch b/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch index 3e7946c..3ed5c98 100644 --- a/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch +++ b/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch @@ -41,5 +41,5 @@ index 5834766..871a68a 100644 code_gen_buffer_size = (512 * 1024 * 1024); } -- -1.7.12.1 +1.8.0.2 diff --git a/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch b/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch index a68474a..901d583 100644 --- a/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch +++ b/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch @@ -282,5 +282,5 @@ index 93421cd..16c4e1d 100644 (tcg_target_long)sizeof(tcg_target_long) - 1) & ~(sizeof(tcg_target_long) - 1); -- -1.7.12.1 +1.8.0.2 diff --git a/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch b/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch index beaf45b..1e6b5e4 100644 --- a/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch +++ b/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch @@ -963,5 +963,5 @@ index 23c2fda..d89c19b 100644 }; -- -1.7.12.1 +1.8.0.2 diff --git a/0086-tcg-sparc-Support-GUEST_BASE.patch b/0086-tcg-sparc-Support-GUEST_BASE.patch index 3e8a175..e1996aa 100644 --- a/0086-tcg-sparc-Support-GUEST_BASE.patch +++ b/0086-tcg-sparc-Support-GUEST_BASE.patch @@ -109,5 +109,5 @@ index adca1d2..99e9f57 100644 #define TCG_AREG0 TCG_REG_G2 #elif HOST_LONG_BITS == 64 -- -1.7.12.1 +1.8.0.2 diff --git a/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch b/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch index 336d7fe..ed711b2 100644 --- a/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch +++ b/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch @@ -47,5 +47,5 @@ index 99e9f57..ee154d0 100644 static inline void flush_icache_range(tcg_target_ulong start, tcg_target_ulong stop) -- -1.7.12.1 +1.8.0.2 diff --git a/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch b/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch index 15c4571..edef4da 100644 --- a/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch +++ b/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch @@ -199,5 +199,5 @@ index ee154d0..6314ffb 100644 #if TCG_TARGET_REG_BITS == 64 -- -1.7.12.1 +1.8.0.2 diff --git a/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch b/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch index 7ce69d1..fdd8142 100644 --- a/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch +++ b/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch @@ -58,5 +58,5 @@ index e625aa3..be5c170 100644 c = ARITH_MULX; goto gen_arith; -- -1.7.12.1 +1.8.0.2 diff --git a/0090-tcg-sparc-Use-defines-for-temporaries.patch b/0090-tcg-sparc-Use-defines-for-temporaries.patch index c837d22..2dbc636 100644 --- a/0090-tcg-sparc-Use-defines-for-temporaries.patch +++ b/0090-tcg-sparc-Use-defines-for-temporaries.patch @@ -271,5 +271,5 @@ index be5c170..d401f8e 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch b/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch index 2bf9e95..03d8469 100644 --- a/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch +++ b/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch @@ -40,5 +40,5 @@ index d401f8e..03c385a 100644 static const int tcg_target_call_iarg_regs[6] = { -- -1.7.12.1 +1.8.0.2 diff --git a/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch b/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch index 7b876c0..6eea805 100644 --- a/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch +++ b/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch @@ -75,5 +75,5 @@ index 03c385a..1db0c9d 100644 + flush_icache_range(jmp_addr, jmp_addr + 4); +} -- -1.7.12.1 +1.8.0.2 diff --git a/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch b/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch index 167dc41..e002185 100644 --- a/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch +++ b/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch @@ -56,5 +56,5 @@ index 1db0c9d..876da4f 100644 #endif -- -1.7.12.1 +1.8.0.2 diff --git a/0094-target-alpha-Initialize-env-cpu_model_str.patch b/0094-target-alpha-Initialize-env-cpu_model_str.patch index 9734b0e..2b0155f 100644 --- a/0094-target-alpha-Initialize-env-cpu_model_str.patch +++ b/0094-target-alpha-Initialize-env-cpu_model_str.patch @@ -29,5 +29,5 @@ index 4a9011a..3f9aee1 100644 qemu_init_vcpu(env); return env; -- -1.7.12.1 +1.8.0.2 diff --git a/0095-tcg-mips-fix-MIPS32-R2-detection.patch b/0095-tcg-mips-fix-MIPS32-R2-detection.patch index e145e3b..a31cfdd 100644 --- a/0095-tcg-mips-fix-MIPS32-R2-detection.patch +++ b/0095-tcg-mips-fix-MIPS32-R2-detection.patch @@ -89,5 +89,5 @@ index d147e70..7020d65 100644 #define TCG_TARGET_HAS_bswap32_i32 1 #define TCG_TARGET_HAS_rot_i32 1 -- -1.7.12.1 +1.8.0.2 diff --git a/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch b/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch index 64c62cb..cfe0d8b 100644 --- a/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch +++ b/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch @@ -63,5 +63,5 @@ index 33783ee..27846f1 100644 Similar to setcond, except that the 64-bit values T1 and T2 are formed from two 32-bit arguments. The result is a 32-bit value. -- -1.7.12.1 +1.8.0.2 diff --git a/0097-tcg-i386-fix-build-with-march-i686.patch b/0097-tcg-i386-fix-build-with-march-i686.patch index a841086..f8bfc32 100644 --- a/0097-tcg-i386-fix-build-with-march-i686.patch +++ b/0097-tcg-i386-fix-build-with-march-i686.patch @@ -30,5 +30,5 @@ index 85c6b81..616ef23 100644 #if TCG_TARGET_REG_BITS == 32 { INDEX_op_mulu2_i32, { "a", "d", "a", "r" } }, -- -1.7.12.1 +1.8.0.2 diff --git a/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch b/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch index dfc44fa..2fca6d4 100644 --- a/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch +++ b/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch @@ -48,5 +48,5 @@ index 1f81da7..6516da0 100644 #define MAX_OPC_PARAM_ARGS (MAX_OPC_PARAM_IARGS + MAX_OPC_PARAM_OARGS) -- -1.7.12.1 +1.8.0.2 diff --git a/0099-tci-Fix-for-AREG0-free-mode.patch b/0099-tci-Fix-for-AREG0-free-mode.patch index c67e4a3..31b4673 100644 --- a/0099-tci-Fix-for-AREG0-free-mode.patch +++ b/0099-tci-Fix-for-AREG0-free-mode.patch @@ -115,5 +115,5 @@ index ce8a988..a4f7b78 100644 #endif break; -- -1.7.12.1 +1.8.0.2 diff --git a/0100-spice-abort-on-invalid-streaming-cmdline-params.patch b/0100-spice-abort-on-invalid-streaming-cmdline-params.patch index d73d347..67d3d35 100644 --- a/0100-spice-abort-on-invalid-streaming-cmdline-params.patch +++ b/0100-spice-abort-on-invalid-streaming-cmdline-params.patch @@ -37,5 +37,5 @@ index 4fc48f8..bb4f585 100644 static const char *compression_names[] = { [ SPICE_IMAGE_COMPRESS_OFF ] = "off", -- -1.7.12.1 +1.8.0.2 diff --git a/0101-spice-notify-spice-server-on-vm-start-stop.patch b/0101-spice-notify-spice-server-on-vm-start-stop.patch index 708bfe0..6e08d98 100644 --- a/0101-spice-notify-spice-server-on-vm-start-stop.patch +++ b/0101-spice-notify-spice-server-on-vm-start-stop.patch @@ -51,5 +51,5 @@ index bb4f585..a515c94 100644 g_free(x509_cert_file); g_free(x509_cacert_file); -- -1.7.12.1 +1.8.0.2 diff --git a/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch b/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch index c599743..6c96f49 100644 --- a/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch +++ b/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch @@ -169,5 +169,5 @@ index 12e50b6..672d65e 100644 +#endif +int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd); -- -1.7.12.1 +1.8.0.2 diff --git a/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch b/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch index e8580c2..fbfabaa 100644 --- a/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch +++ b/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch @@ -89,5 +89,5 @@ index 1a7a773..851e869 100644 spice_server_migrate_end(spice_server, true); } else if (migration_has_failed(s)) { -- -1.7.12.1 +1.8.0.2 diff --git a/0104-spice-add-migrated-flag-to-spice-info.patch b/0104-spice-add-migrated-flag-to-spice-info.patch index 0247edd..458d912 100644 --- a/0104-spice-add-migrated-flag-to-spice-info.patch +++ b/0104-spice-add-migrated-flag-to-spice-info.patch @@ -93,5 +93,5 @@ index 851e869..ab069c5 100644 spice_server_migrate_end(spice_server, true); } else if (migration_has_failed(s)) { -- -1.7.12.1 +1.8.0.2 diff --git a/0105-spice-adding-seamless-migration-option-to-the-comman.patch b/0105-spice-adding-seamless-migration-option-to-the-comman.patch index 70eb7c0..c43d3fb 100644 --- a/0105-spice-adding-seamless-migration-option-to-the-comman.patch +++ b/0105-spice-adding-seamless-migration-option-to-the-comman.patch @@ -75,5 +75,5 @@ index ab069c5..ba0d0bd 100644 error_report("failed to initialize spice server"); exit(1); -- -1.7.12.1 +1.8.0.2 diff --git a/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch b/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch index 24ad9ff..77c0890 100644 --- a/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch +++ b/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch @@ -46,5 +46,5 @@ index dd7aa63..1af4fec 100644 @item -spice @var{option}[,@var{option}[,...]] @findex -spice -- -1.7.12.1 +1.8.0.2 diff --git a/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch b/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch index 7572299..341717c 100644 --- a/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch +++ b/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch @@ -36,5 +36,5 @@ index 95bbc03..baf9bb4 100644 cookie = qxl_cookie_new(QXL_COOKIE_TYPE_IO, QXL_IO_UPDATE_AREA_ASYNC); -- -1.7.12.1 +1.8.0.2 diff --git a/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch b/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch index 50dbee0..bdfcbe8 100644 --- a/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch +++ b/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch @@ -323,5 +323,5 @@ index 672d65e..bcff114 100644 typedef struct QXLCookie { -- -1.7.12.1 +1.8.0.2 diff --git a/0109-configure-print-spice-protocol-and-spice-server-vers.patch b/0109-configure-print-spice-protocol-and-spice-server-vers.patch index 9e7f529..2990c3f 100644 --- a/0109-configure-print-spice-protocol-and-spice-server-vers.patch +++ b/0109-configure-print-spice-protocol-and-spice-server-vers.patch @@ -35,5 +35,5 @@ index b5cea26..d7a948f 100755 echo "xfsctl support $xfs" echo "nss used $smartcard_nss" -- -1.7.12.1 +1.8.0.2 diff --git a/0110-fix-doc-of-using-raw-values-with-sendkey.patch b/0110-fix-doc-of-using-raw-values-with-sendkey.patch index 9e59097..855f817 100644 --- a/0110-fix-doc-of-using-raw-values-with-sendkey.patch +++ b/0110-fix-doc-of-using-raw-values-with-sendkey.patch @@ -38,5 +38,5 @@ index 13f28cf..a72614d 100644 sendkey ctrl-alt-f1 @end example -- -1.7.12.1 +1.8.0.2 diff --git a/0111-qapi-Fix-potential-NULL-pointer-segfault.patch b/0111-qapi-Fix-potential-NULL-pointer-segfault.patch index 8f15921..ff6d326 100644 --- a/0111-qapi-Fix-potential-NULL-pointer-segfault.patch +++ b/0111-qapi-Fix-potential-NULL-pointer-segfault.patch @@ -34,5 +34,5 @@ index 04ef7c4..5b15ee3 100644 if (!err) { switch ((*obj)->kind) { -- -1.7.12.1 +1.8.0.2 diff --git a/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch b/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch index 8198f24..c7737da 100644 --- a/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch +++ b/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch @@ -36,5 +36,5 @@ index d42386d..9124649 100644 /* Initialize an object to default values */ #define QOBJECT_INIT(obj, qtype_type) \ -- -1.7.12.1 +1.8.0.2 diff --git a/0113-pcie-drop-version_id-field-for-live-migration.patch b/0113-pcie-drop-version_id-field-for-live-migration.patch index c3a469f..3f8f0dc 100644 --- a/0113-pcie-drop-version_id-field-for-live-migration.patch +++ b/0113-pcie-drop-version_id-field-for-live-migration.patch @@ -75,5 +75,5 @@ index b8ab0c7..4889194 100644 .vmsd = &vmstate_pcie_device, \ .flags = VMS_STRUCT, \ -- -1.7.12.1 +1.8.0.2 diff --git a/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch b/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch index 80aad2b..e1f0739 100644 --- a/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch +++ b/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch @@ -36,5 +36,5 @@ index 3b6981c..b04c164 100644 void pcie_aer_root_reset(PCIDevice *dev) -- -1.7.12.1 +1.8.0.2 diff --git a/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch b/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch index 4488d60..02f9105 100644 --- a/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch +++ b/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch @@ -38,5 +38,5 @@ index fa65ce2..731a983 100644 rom_add_blob_fixed(label, data, mem_size, addr); -- -1.7.12.1 +1.8.0.2 diff --git a/0116-lan9118-fix-multicast-filtering.patch b/0116-lan9118-fix-multicast-filtering.patch index 19cb229..877e6a4 100644 --- a/0116-lan9118-fix-multicast-filtering.patch +++ b/0116-lan9118-fix-multicast-filtering.patch @@ -33,5 +33,5 @@ index ff0a50b..ceaf96f 100644 return (s->mac_hashh >> (hash & 0x1f)) & 1; } else { -- -1.7.12.1 +1.8.0.2 diff --git a/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch b/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch index e98d248..427408f 100644 --- a/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch +++ b/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch @@ -192,5 +192,5 @@ index aba7935..4e04e97 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0118-Add-MAINTAINERS-entry-for-leon3.patch b/0118-Add-MAINTAINERS-entry-for-leon3.patch index cbc0ff8..3b14753 100644 --- a/0118-Add-MAINTAINERS-entry-for-leon3.patch +++ b/0118-Add-MAINTAINERS-entry-for-leon3.patch @@ -30,5 +30,5 @@ index 6d864c1..61f8b45 100644 ------------- S390 Virtio -- -1.7.12.1 +1.8.0.2 diff --git a/0119-musicpal-Fix-flash-mapping.patch b/0119-musicpal-Fix-flash-mapping.patch index 9c95c49..1ec2830 100644 --- a/0119-musicpal-Fix-flash-mapping.patch +++ b/0119-musicpal-Fix-flash-mapping.patch @@ -38,5 +38,5 @@ index ad725b5..f305e21 100644 dinfo->bdrv, 0x10000, (flash_size + 0xffff) >> 16, -- -1.7.12.1 +1.8.0.2 diff --git a/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch b/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch index 40caa2c..f2b0456 100644 --- a/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch +++ b/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch @@ -80,5 +80,5 @@ index badf1d8..90c71f9 100644 int ret = qemu_madvise(start, size, QEMU_MADV_DONTFORK); -- -1.7.12.1 +1.8.0.2 diff --git a/0121-hw-wm8750-Fix-potential-buffer-overflow.patch b/0121-hw-wm8750-Fix-potential-buffer-overflow.patch index 2b3acbe..36802b7 100644 --- a/0121-hw-wm8750-Fix-potential-buffer-overflow.patch +++ b/0121-hw-wm8750-Fix-potential-buffer-overflow.patch @@ -39,5 +39,5 @@ index 11bcec3..44f138f 100644 s->i2c_data[s->i2c_len ++] = data; if (s->i2c_len != 2) -- -1.7.12.1 +1.8.0.2 diff --git a/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch b/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch index c5fe15f..7f385bd 100644 --- a/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch +++ b/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch @@ -83,5 +83,5 @@ index 539b391..27753e2 100644 } width = m5206_mbar_width[offset >> 2]; -- -1.7.12.1 +1.8.0.2 diff --git a/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch b/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch index 9764f22..5020cb2 100644 --- a/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch +++ b/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch @@ -1,8 +1,8 @@ From 6762c144443bca8fa97a389289bda7693bd4c8d4 Mon Sep 17 00:00:00 2001 From: Michael Tokarev Date: Thu, 7 Jun 2012 01:11:00 +0400 -Subject: [PATCH] use --libexecdir instead of ignoring it first and - reinventing it later +Subject: [PATCH] use --libexecdir instead of ignoring it first and reinventing + it later MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit @@ -90,5 +90,5 @@ index 8874eff..d01f9dc 100755 echo "ARCH=$ARCH" >> $config_host_mak if test "$debug_tcg" = "yes" ; then -- -1.7.12.1 +1.8.0.2 diff --git a/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch b/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch index cff77f8..babe9ee 100644 --- a/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch +++ b/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch @@ -39,5 +39,5 @@ index 398baf1..767da93 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0125-Add-ability-to-force-enable-disable-of-tools-build.patch b/0125-Add-ability-to-force-enable-disable-of-tools-build.patch index 35e05ee..c76157c 100644 --- a/0125-Add-ability-to-force-enable-disable-of-tools-build.patch +++ b/0125-Add-ability-to-force-enable-disable-of-tools-build.patch @@ -79,5 +79,5 @@ index d01f9dc..a8061c1 100755 # Mac OS X ships with a broken assembler -- -1.7.12.1 +1.8.0.2 diff --git a/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch b/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch index 2630139..3ad2a65 100644 --- a/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch +++ b/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch @@ -54,5 +54,5 @@ index b0db921..c7c8786 100644 *int_mask |= 0x02; /* short packet: do not update QH */ -- -1.7.12.1 +1.8.0.2 diff --git a/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch b/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch index 1bbaed0..348947d 100644 --- a/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch +++ b/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch @@ -33,5 +33,5 @@ index 2da38e7..be6d936 100644 } else { ret = USB_RET_ASYNC; -- -1.7.12.1 +1.8.0.2 diff --git a/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch b/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch index 994e450..c975292 100644 --- a/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch +++ b/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch @@ -50,5 +50,5 @@ index be6d936..fe431d0 100644 + return NULL; +} -- -1.7.12.1 +1.8.0.2 diff --git a/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch b/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch index c264ca1..7186113 100644 --- a/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch +++ b/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch @@ -31,5 +31,5 @@ index fe431d0..b9f1f7a 100644 p->result = ret; usb_packet_set_state(p, USB_PACKET_COMPLETE); -- -1.7.12.1 +1.8.0.2 diff --git a/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch b/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch index ae5d4d3..7600ddb 100644 --- a/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch +++ b/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch @@ -120,5 +120,5 @@ index 9523247..e7c36f4 100644 default: -- -1.7.12.1 +1.8.0.2 diff --git a/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch b/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch index a0b0897..27a76c8 100644 --- a/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch +++ b/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch @@ -82,5 +82,5 @@ index e7c36f4..35eb441 100644 q->dev = ehci_find_device(q->ehci, devaddr); } -- -1.7.12.1 +1.8.0.2 diff --git a/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch b/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch index 020cb38..e557925 100644 --- a/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch +++ b/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch @@ -31,5 +31,5 @@ index 35eb441..78a248f 100644 * EHCI project was started by Mark Burkley, with contributions by * Niels de Vos. David S. Ahern continued working on it. Kevin Wolf, -- -1.7.12.1 +1.8.0.2 diff --git a/0133-ehci-Properly-cleanup-packets-on-cancel.patch b/0133-ehci-Properly-cleanup-packets-on-cancel.patch index 1e20c4f..3cdc6a4 100644 --- a/0133-ehci-Properly-cleanup-packets-on-cancel.patch +++ b/0133-ehci-Properly-cleanup-packets-on-cancel.patch @@ -25,5 +25,5 @@ index 78a248f..4fe85c8 100644 QTAILQ_REMOVE(&p->queue->packets, p, next); usb_packet_cleanup(&p->packet); -- -1.7.12.1 +1.8.0.2 diff --git a/0134-ehci-Properly-report-completed-but-not-yet-processed.patch b/0134-ehci-Properly-report-completed-but-not-yet-processed.patch index e70d469..430ea91 100644 --- a/0134-ehci-Properly-report-completed-but-not-yet-processed.patch +++ b/0134-ehci-Properly-report-completed-but-not-yet-processed.patch @@ -1,8 +1,8 @@ From c7251f2557d09ce4b8466eeccd0f3264c297c515 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 30 Aug 2012 15:18:24 +0200 -Subject: [PATCH] ehci: Properly report completed but not yet processed - packets to the guest +Subject: [PATCH] ehci: Properly report completed but not yet processed packets + to the guest Reported packets which have completed before being cancelled as such to the host. Note that the new code path this patch adds is untested since it I've @@ -48,5 +48,5 @@ index 4fe85c8..0a6c9ef 100644 usb_packet_cleanup(&p->packet); g_free(p); -- -1.7.12.1 +1.8.0.2 diff --git a/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch b/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch index f53bbe2..56269e4 100644 --- a/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch +++ b/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch @@ -1,8 +1,7 @@ From b3950fe894e2b26f9dba0888af092cb43d01a466 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 31 Aug 2012 10:31:54 +0200 -Subject: [PATCH] ehci: check for EHCI_ASYNC_FINISHED first in - ehci_free_packet +Subject: [PATCH] ehci: check for EHCI_ASYNC_FINISHED first in ehci_free_packet Otherwise we'll see the packet free twice in the trace log even though it actually happens only once. @@ -46,5 +45,5 @@ index 0a6c9ef..23221d0 100644 usb_packet_cleanup(&p->packet); g_free(p); -- -1.7.12.1 +1.8.0.2 diff --git a/0136-ehci-trace-guest-bugs.patch b/0136-ehci-trace-guest-bugs.patch index 52c2f4a..f93ccca 100644 --- a/0136-ehci-trace-guest-bugs.patch +++ b/0136-ehci-trace-guest-bugs.patch @@ -105,5 +105,5 @@ index 8fcbc50..5112a47 100644 # hw/usb/hcd-uhci.c usb_uhci_reset(void) "=== RESET ===" -- -1.7.12.1 +1.8.0.2 diff --git a/0137-ehci-add-doorbell-trace-events.patch b/0137-ehci-add-doorbell-trace-events.patch index 33fb2a2..4b5e7a1 100644 --- a/0137-ehci-add-doorbell-trace-events.patch +++ b/0137-ehci-add-doorbell-trace-events.patch @@ -47,5 +47,5 @@ index 5112a47..10bc04e 100644 # hw/usb/hcd-uhci.c usb_uhci_reset(void) "=== RESET ===" -- -1.7.12.1 +1.8.0.2 diff --git a/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch b/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch index 8a62ee7..73b4755 100644 --- a/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch +++ b/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch @@ -84,5 +84,5 @@ index 398f5e0..5a88268 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch b/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch index b144ab4..d80e373 100644 --- a/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch +++ b/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch @@ -116,5 +116,5 @@ index 5a88268..d87aca8 100644 break; case EHCI_ASYNC_FINISHED: -- -1.7.12.1 +1.8.0.2 diff --git a/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch b/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch index 74b2853..b934bd6 100644 --- a/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch +++ b/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch @@ -53,5 +53,5 @@ index d87aca8..2534394 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch b/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch index 99c1351..99a1f6e 100644 --- a/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch +++ b/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch @@ -33,5 +33,5 @@ index 2534394..2f3e9c0 100644 break; } -- -1.7.12.1 +1.8.0.2 diff --git a/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch b/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch index f2723ac..4506477 100644 --- a/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch +++ b/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch @@ -1,8 +1,7 @@ From 262c9bb1e59c2cd561dad1cf9d47c50f07af0e0f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 17 Aug 2012 17:27:08 +0200 -Subject: [PATCH] usb-redir: Never return USB_RET_NAK for async handled - packets +Subject: [PATCH] usb-redir: Never return USB_RET_NAK for async handled packets USB_RET_NAK is not a valid response for async handled packets (and will trigger an assert as such). @@ -43,5 +42,5 @@ index 10b4fbb..7f3719b 100644 return USB_RET_BABBLE; case usb_redir_ioerror: -- -1.7.12.1 +1.8.0.2 diff --git a/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch b/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch index 33f3ae9..e38ae3d 100644 --- a/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch +++ b/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch @@ -180,5 +180,5 @@ index 7f3719b..5cc3334 100644 qemu_del_timer(dev->attach_timer); qemu_free_timer(dev->attach_timer); -- -1.7.12.1 +1.8.0.2 diff --git a/0144-usb-redir-Get-rid-of-async-struct-get-member.patch b/0144-usb-redir-Get-rid-of-async-struct-get-member.patch index 7ac41ee..9eaadb9 100644 --- a/0144-usb-redir-Get-rid-of-async-struct-get-member.patch +++ b/0144-usb-redir-Get-rid-of-async-struct-get-member.patch @@ -72,5 +72,5 @@ index 5cc3334..2cae8c5 100644 len = 1; } -- -1.7.12.1 +1.8.0.2 diff --git a/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch b/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch index eb581df..f9403bb 100644 --- a/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch +++ b/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch @@ -105,5 +105,5 @@ index 2cae8c5..e4ef372 100644 aurb->packet->result = usbredir_handle_status(dev, interrupt_packet->status, len); -- -1.7.12.1 +1.8.0.2 diff --git a/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch b/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch index 18c7c1f..20cab1e 100644 --- a/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch +++ b/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch @@ -37,5 +37,5 @@ index e4ef372..6593d50 100644 aurb->packet_id = dev->packet_id; QTAILQ_INSERT_TAIL(&dev->asyncq, aurb, next); -- -1.7.12.1 +1.8.0.2 diff --git a/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch b/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch index f32e6cc..a99b211 100644 --- a/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch +++ b/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch @@ -498,5 +498,5 @@ index 6593d50..fd1f8cc 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch b/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch index 4c4e98b..ee4691f 100644 --- a/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch +++ b/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch @@ -33,5 +33,5 @@ index fd1f8cc..ee75217 100644 } p->result = len; -- -1.7.12.1 +1.8.0.2 diff --git a/0149-Better-name-usb-braille-device.patch b/0149-Better-name-usb-braille-device.patch index 00c8599..26c4728 100644 --- a/0149-Better-name-usb-braille-device.patch +++ b/0149-Better-name-usb-braille-device.patch @@ -29,5 +29,5 @@ index 8aa6552..69b6e48 100644 }; -- -1.7.12.1 +1.8.0.2 diff --git a/0150-usb-audio-fix-usb-version.patch b/0150-usb-audio-fix-usb-version.patch index ceeb70d..7170c9f 100644 --- a/0150-usb-audio-fix-usb-version.patch +++ b/0150-usb-audio-fix-usb-version.patch @@ -28,5 +28,5 @@ index 79b75fb..2594c78 100644 .bNumConfigurations = 1, .confs = (USBDescConfig[]) { -- -1.7.12.1 +1.8.0.2 diff --git a/0151-xhci-rip-out-background-transfer-code.patch b/0151-xhci-rip-out-background-transfer-code.patch index e728029..1622c3a 100644 --- a/0151-xhci-rip-out-background-transfer-code.patch +++ b/0151-xhci-rip-out-background-transfer-code.patch @@ -323,5 +323,5 @@ index 3eb27fa..c0a2476 100644 } length = xhci_ring_chain_length(xhci, &epctx->ring); -- -1.7.12.1 +1.8.0.2 diff --git a/0152-xhci-drop-buffering.patch b/0152-xhci-drop-buffering.patch index af60c86..210e4ea 100644 --- a/0152-xhci-drop-buffering.patch +++ b/0152-xhci-drop-buffering.patch @@ -382,5 +382,5 @@ index 10bc04e..c83d65e 100644 usb_xhci_xfer_nak(void *xfer) "%p" usb_xhci_xfer_retry(void *xfer) "%p" -- -1.7.12.1 +1.8.0.2 diff --git a/0153-xhci-fix-runtime-write-tracepoint.patch b/0153-xhci-fix-runtime-write-tracepoint.patch index 133df2e..af2878a 100644 --- a/0153-xhci-fix-runtime-write-tracepoint.patch +++ b/0153-xhci-fix-runtime-write-tracepoint.patch @@ -25,5 +25,5 @@ index 446d692..24b1f87 100644 switch (reg) { case 0x20: /* IMAN */ -- -1.7.12.1 +1.8.0.2 diff --git a/0154-xhci-allow-bytewise-capability-register-reads.patch b/0154-xhci-allow-bytewise-capability-register-reads.patch index 0870f14..5f733da 100644 --- a/0154-xhci-allow-bytewise-capability-register-reads.patch +++ b/0154-xhci-allow-bytewise-capability-register-reads.patch @@ -35,5 +35,5 @@ index 24b1f87..333df59 100644 }; -- -1.7.12.1 +1.8.0.2 diff --git a/0155-qxl-dont-update-invalid-area.patch b/0155-qxl-dont-update-invalid-area.patch index 902566d..01d79db 100644 --- a/0155-qxl-dont-update-invalid-area.patch +++ b/0155-qxl-dont-update-invalid-area.patch @@ -40,5 +40,5 @@ index 27f3779..038a8bb 100644 cookie = qxl_cookie_new(QXL_COOKIE_TYPE_IO, QXL_IO_UPDATE_AREA_ASYNC); -- -1.7.12.1 +1.8.0.2 diff --git a/0156-usb-host-allow-emulated-non-async-control-requests-w.patch b/0156-usb-host-allow-emulated-non-async-control-requests-w.patch index 11fcb3f..72b7216 100644 --- a/0156-usb-host-allow-emulated-non-async-control-requests-w.patch +++ b/0156-usb-host-allow-emulated-non-async-control-requests-w.patch @@ -1,8 +1,8 @@ From e84037892a04dac64104b43d0a6342aee4c4e6f4 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 6 Sep 2012 12:03:41 +0200 -Subject: [PATCH] usb-host: allow emulated (non-async) control requests - without USBPacket +Subject: [PATCH] usb-host: allow emulated (non-async) control requests without + USBPacket xhci needs this for USB_REQ_SET_ADDRESS due to the way usb addressing is handled by the xhci hardware. @@ -36,5 +36,5 @@ index 8df9207..44f1a64 100644 if (length > sizeof(dev->data_buf)) { fprintf(stderr, "husb: ctrl buffer too small (%d > %zu)\n", -- -1.7.12.1 +1.8.0.2 diff --git a/0157-qxl-better-cleanup-for-surface-destroy.patch b/0157-qxl-better-cleanup-for-surface-destroy.patch index b796173..090e57b 100644 --- a/0157-qxl-better-cleanup-for-surface-destroy.patch +++ b/0157-qxl-better-cleanup-for-surface-destroy.patch @@ -31,5 +31,5 @@ index 038a8bb..67f7100 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0158-ehci-switch-to-new-style-memory-ops.patch b/0158-ehci-switch-to-new-style-memory-ops.patch index 4932df4..00e00dc 100644 --- a/0158-ehci-switch-to-new-style-memory-ops.patch +++ b/0158-ehci-switch-to-new-style-memory-ops.patch @@ -366,5 +366,5 @@ index c83d65e..cf05414 100644 usb_ehci_state(const char *schedule, const char *state) "%s schedule %s" usb_ehci_qh_ptrs(void *q, uint32_t addr, uint32_t nxt, uint32_t c_qtd, uint32_t n_qtd, uint32_t a_qtd) "q %p - QH @ %08x: next %08x qtds %08x,%08x,%08x" -- -1.7.12.1 +1.8.0.2 diff --git a/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch b/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch index bd8d88b..c92665f 100644 --- a/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch +++ b/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch @@ -34,5 +34,5 @@ index f5ba8e1..54273d7 100644 } else { ehci->usbsts_frindex = 0; -- -1.7.12.1 +1.8.0.2 diff --git a/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch b/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch index f0a4b00..0825bfc 100644 --- a/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch +++ b/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch @@ -56,5 +56,5 @@ index 54273d7..017a01d 100644 ehci_advance_periodic_state(ehci); ehci->last_run_ns += FRAME_TIMER_NS; -- -1.7.12.1 +1.8.0.2 diff --git a/0161-sheepdog-fix-savevm-and-loadvm.patch b/0161-sheepdog-fix-savevm-and-loadvm.patch index f85cc0b..01e836a 100644 --- a/0161-sheepdog-fix-savevm-and-loadvm.patch +++ b/0161-sheepdog-fix-savevm-and-loadvm.patch @@ -37,5 +37,5 @@ index df4f441..e0753ee 100644 } ret = size; -- -1.7.12.1 +1.8.0.2 diff --git a/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch b/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch index 62a21ce..9ace08e 100644 --- a/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch +++ b/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch @@ -63,5 +63,5 @@ index d65ef3d..d6fb69c 100644 for(i = 0; i < 11; i++) { s->io_buffer[2+i+(n*12)] = smart_attributes[n][i]; -- -1.7.12.1 +1.8.0.2 diff --git a/0163-block-curl-Fix-wrong-free-statement.patch b/0163-block-curl-Fix-wrong-free-statement.patch index a37ad7f..4ee0e8d 100644 --- a/0163-block-curl-Fix-wrong-free-statement.patch +++ b/0163-block-curl-Fix-wrong-free-statement.patch @@ -33,5 +33,5 @@ index e7c3634..c1074cd 100644 static int64_t curl_getlength(BlockDriverState *bs) -- -1.7.12.1 +1.8.0.2 diff --git a/0164-vdi-Fix-warning-from-clang.patch b/0164-vdi-Fix-warning-from-clang.patch index c8e751d..fbefc69 100644 --- a/0164-vdi-Fix-warning-from-clang.patch +++ b/0164-vdi-Fix-warning-from-clang.patch @@ -71,5 +71,5 @@ index c4f1529..550cf58 100644 if (ftruncate(fd, sizeof(header) + bmap_size + blocks * block_size)) { result = -errno; -- -1.7.12.1 +1.8.0.2 diff --git a/0165-block-fix-block-tray-status.patch b/0165-block-fix-block-tray-status.patch index 6db09b8..47861e3 100644 --- a/0165-block-fix-block-tray-status.patch +++ b/0165-block-fix-block-tray-status.patch @@ -32,5 +32,5 @@ index 470bdcc..c754353 100644 if (bs->io_limits_enabled) { bdrv_io_limits_disable(bs); -- -1.7.12.1 +1.8.0.2 diff --git a/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch b/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch index ad2d6b5..e496d34 100644 --- a/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch +++ b/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch @@ -60,5 +60,5 @@ index 5ea3cad..68671bc 100644 } } -- -1.7.12.1 +1.8.0.2 diff --git a/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch b/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch index 6b9d67f..f44ff81 100644 --- a/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch +++ b/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch @@ -1,8 +1,7 @@ From 4812a358ff2d7442c33a517a6c80d7d3c301ec56 Mon Sep 17 00:00:00 2001 From: "Daniel P. Berrange" Date: Mon, 10 Sep 2012 12:11:31 +0100 -Subject: [PATCH] Don't require encryption password for 'qemu-img info' - command +Subject: [PATCH] Don't require encryption password for 'qemu-img info' command The encryption password is only required if I/O is going to be performed on a disk image. The 'qemu-img info' command merely @@ -117,5 +116,5 @@ index b41e670..0d208e8 100644 ret = -1; goto out; -- -1.7.12.1 +1.8.0.2 diff --git a/0168-block-Don-t-forget-to-delete-temporary-file.patch b/0168-block-Don-t-forget-to-delete-temporary-file.patch index 90d07b9..4eef95e 100644 --- a/0168-block-Don-t-forget-to-delete-temporary-file.patch +++ b/0168-block-Don-t-forget-to-delete-temporary-file.patch @@ -32,5 +32,5 @@ index c754353..e78039b 100644 } return 0; -- -1.7.12.1 +1.8.0.2 diff --git a/0169-hw-qxl-tracing-fixes.patch b/0169-hw-qxl-tracing-fixes.patch index 74c400f..11c1085 100644 --- a/0169-hw-qxl-tracing-fixes.patch +++ b/0169-hw-qxl-tracing-fixes.patch @@ -95,5 +95,5 @@ index cf05414..aa79836 100644 # hw/qxl-render.c qxl_render_blit_guest_primary_initialized(void) "" -- -1.7.12.1 +1.8.0.2 diff --git a/0170-configure-usbredir-fixes.patch b/0170-configure-usbredir-fixes.patch index cf87afa..f896be4 100644 --- a/0170-configure-usbredir-fixes.patch +++ b/0170-configure-usbredir-fixes.patch @@ -32,5 +32,5 @@ index a8061c1..dcd8e7b 100755 if test "$usb_redir" = "yes"; then feature_not_found "usb-redir" -- -1.7.12.1 +1.8.0.2 diff --git a/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch b/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch index de9f4ac..438e18e 100644 --- a/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch +++ b/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch @@ -100,5 +100,5 @@ index 017a01d..bc86460 100644 default: -- -1.7.12.1 +1.8.0.2 diff --git a/0172-ehci-Walk-async-schedule-before-and-after-migration.patch b/0172-ehci-Walk-async-schedule-before-and-after-migration.patch index 476e41e..882a426 100644 --- a/0172-ehci-Walk-async-schedule-before-and-after-migration.patch +++ b/0172-ehci-Walk-async-schedule-before-and-after-migration.patch @@ -66,5 +66,5 @@ index bc86460..6a5da84 100644 memory_region_init(&s->mem, "ehci", MMIO_SIZE); memory_region_init_io(&s->mem_caps, &ehci_mmio_caps_ops, s, -- -1.7.12.1 +1.8.0.2 diff --git a/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch b/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch index 11125f2..2d13524 100644 --- a/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch +++ b/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch @@ -59,5 +59,5 @@ index ee75217..ab8d79a 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch b/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch index a135563..95ee36e 100644 --- a/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch +++ b/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch @@ -43,5 +43,5 @@ index c7c8786..cdc8bc3 100644 } link = curr_qh ? qh.link : td.link; -- -1.7.12.1 +1.8.0.2 diff --git a/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch b/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch index 365d586..c34a7a5 100644 --- a/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch +++ b/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch @@ -33,5 +33,5 @@ index 025b374..5890d7a 100644 DEBUG_ARG("seq = %u", seq); DEBUG_ARG("flags = %x", flags); -- -1.7.12.1 +1.8.0.2 diff --git a/0176-slirp-Fix-error-reported-by-static-code-analysis.patch b/0176-slirp-Fix-error-reported-by-static-code-analysis.patch index 7f2a90a..d85c027 100644 --- a/0176-slirp-Fix-error-reported-by-static-code-analysis.patch +++ b/0176-slirp-Fix-error-reported-by-static-code-analysis.patch @@ -33,5 +33,5 @@ index 5890d7a..1542e43 100644 tlen = 0; m->m_data += IF_MAXLINKHDR; -- -1.7.12.1 +1.8.0.2 diff --git a/0177-slirp-improve-TFTP-performance.patch b/0177-slirp-improve-TFTP-performance.patch index 65dce5d..f7124da 100644 --- a/0177-slirp-improve-TFTP-performance.patch +++ b/0177-slirp-improve-TFTP-performance.patch @@ -102,5 +102,5 @@ index 72e5e91..9c364ea 100644 struct in_addr client_ip; uint16_t client_port; -- -1.7.12.1 +1.8.0.2 diff --git a/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch b/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch index 0a87572..d5bbebb 100644 --- a/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch +++ b/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch @@ -117,5 +117,5 @@ index 9c364ea..51704e4 100644 int timestamp; }; -- -1.7.12.1 +1.8.0.2 diff --git a/0179-slirp-Implement-TFTP-Blocksize-option.patch b/0179-slirp-Implement-TFTP-Blocksize-option.patch index 38ebba3..08a6554 100644 --- a/0179-slirp-Implement-TFTP-Blocksize-option.patch +++ b/0179-slirp-Implement-TFTP-Blocksize-option.patch @@ -119,5 +119,5 @@ index c6a5df2..37b0387 100644 tftp_send_next_block(spt, tp); } -- -1.7.12.1 +1.8.0.2 diff --git a/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch b/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch index 00cb718..ccad49f 100644 --- a/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch +++ b/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch @@ -59,5 +59,5 @@ index 3009bd5..5e0cad5 100644 enum { SRP_RSP_FLAG_RSPVALID = 1 << 0, -- -1.7.12.1 +1.8.0.2 diff --git a/0181-Spelling-fixes-in-comments-and-documentation.patch b/0181-Spelling-fixes-in-comments-and-documentation.patch index 5b696ed..676fbc4 100644 --- a/0181-Spelling-fixes-in-comments-and-documentation.patch +++ b/0181-Spelling-fixes-in-comments-and-documentation.patch @@ -179,5 +179,5 @@ index 6b42e35..360543b 100644 Only the formats @code{qcow2}, @code{qed} and @code{vdi} support consistency checks. -- -1.7.12.1 +1.8.0.2 diff --git a/0182-console-Clean-up-bytes-per-pixel-calculation.patch b/0182-console-Clean-up-bytes-per-pixel-calculation.patch index 7815a2d..a7705ea 100644 --- a/0182-console-Clean-up-bytes-per-pixel-calculation.patch +++ b/0182-console-Clean-up-bytes-per-pixel-calculation.patch @@ -47,5 +47,5 @@ index 3b5cabb..8b5e21d 100644 pf.gmask = 0x000003E0; pf.bmask = 0x0000001F; -- -1.7.12.1 +1.8.0.2 diff --git a/0183-qapi-Fix-enumeration-typo-error.patch b/0183-qapi-Fix-enumeration-typo-error.patch index 8fc3e9f..ec44860 100644 --- a/0183-qapi-Fix-enumeration-typo-error.patch +++ b/0183-qapi-Fix-enumeration-typo-error.patch @@ -50,5 +50,5 @@ index 8ddde12..29dacb5 100644 # @client: Mouse cursor position is determined by the client. # -- -1.7.12.1 +1.8.0.2 diff --git a/0184-kvm-Fix-warning-from-static-code-analysis.patch b/0184-kvm-Fix-warning-from-static-code-analysis.patch index 87ad81d..b31cc6d 100644 --- a/0184-kvm-Fix-warning-from-static-code-analysis.patch +++ b/0184-kvm-Fix-warning-from-static-code-analysis.patch @@ -45,5 +45,5 @@ index 90c71f9..08d6051 100644 g_free(s); -- -1.7.12.1 +1.8.0.2 diff --git a/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch b/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch index 7fcc366..a4b0068 100644 --- a/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch +++ b/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch @@ -50,5 +50,5 @@ index 5a1173e..47977de 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0186-net-notify-iothread-after-flushing-queue.patch b/0186-net-notify-iothread-after-flushing-queue.patch index b6a9f65..7a5625d 100644 --- a/0186-net-notify-iothread-after-flushing-queue.patch +++ b/0186-net-notify-iothread-after-flushing-queue.patch @@ -101,5 +101,5 @@ index 9d44a9b..fc02b33 100644 #endif /* QEMU_NET_QUEUE_H */ -- -1.7.12.1 +1.8.0.2 diff --git a/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch b/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch index 9d61ff8..da0e2a3 100644 --- a/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch +++ b/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch @@ -47,5 +47,5 @@ index ae8a6c5..ec3a7c4 100644 static void -- -1.7.12.1 +1.8.0.2 diff --git a/0188-xen-flush-queue-when-getting-an-event.patch b/0188-xen-flush-queue-when-getting-an-event.patch index 6c52eb4..e01d7fa 100644 --- a/0188-xen-flush-queue-when-getting-an-event.patch +++ b/0188-xen-flush-queue-when-getting-an-event.patch @@ -33,5 +33,5 @@ index 8b79bfb..cf7d559 100644 static int net_free(struct XenDevice *xendev) -- -1.7.12.1 +1.8.0.2 diff --git a/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch b/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch index 4e2df82..cdb886a 100644 --- a/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch +++ b/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch @@ -68,5 +68,5 @@ index 50d117e..5b23116 100644 if (rfd_command & COMMAND_S) { /* S bit is set. */ -- -1.7.12.1 +1.8.0.2 diff --git a/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch b/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch index f94a29e..fdb1ad8 100644 --- a/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch +++ b/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch @@ -61,5 +61,5 @@ index 76a8336..1303819 100644 ssize_t qemu_sendv_packet_async(NetClientState *sender, -- -1.7.12.1 +1.8.0.2 diff --git a/0191-net-do-not-report-queued-packets-as-sent.patch b/0191-net-do-not-report-queued-packets-as-sent.patch index b6deca0..4ebde09 100644 --- a/0191-net-do-not-report-queued-packets-as-sent.patch +++ b/0191-net-do-not-report-queued-packets-as-sent.patch @@ -99,5 +99,5 @@ index 6e64091..254f280 100644 ret = qemu_net_queue_deliver_iov(queue, sender, flags, iov, iovcnt); -- -1.7.12.1 +1.8.0.2 diff --git a/0192-net-add-netdev-options-to-man-page.patch b/0192-net-add-netdev-options-to-man-page.patch index b0272da..e2585d5 100644 --- a/0192-net-add-netdev-options-to-man-page.patch +++ b/0192-net-add-netdev-options-to-man-page.patch @@ -77,5 +77,5 @@ index 1af4fec..1021ab7 100644 Connect VLAN @var{n} to PORT @var{n} of a vde switch running on host and listening for incoming connections on @var{socketpath}. Use GROUP @var{groupname} -- -1.7.12.1 +1.8.0.2 diff --git a/0193-net-clean-up-usbnet_receive.patch b/0193-net-clean-up-usbnet_receive.patch index c92890e..e86c6bb 100644 --- a/0193-net-clean-up-usbnet_receive.patch +++ b/0193-net-clean-up-usbnet_receive.patch @@ -76,5 +76,5 @@ index c84892c..0b5cb71 100644 return size; } -- -1.7.12.1 +1.8.0.2 diff --git a/0194-net-fix-usbnet_receive-packet-drops.patch b/0194-net-fix-usbnet_receive-packet-drops.patch index bbe1c76..b2c99c8 100644 --- a/0194-net-fix-usbnet_receive-packet-drops.patch +++ b/0194-net-fix-usbnet_receive-packet-drops.patch @@ -77,5 +77,5 @@ index 0b5cb71..e4a4359 100644 struct rndis_packet_msg_type *msg; -- -1.7.12.1 +1.8.0.2 diff --git a/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch b/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch index 5cb7e1c..e5f9771 100644 --- a/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch +++ b/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch @@ -47,5 +47,5 @@ index ac157e3..650a8b4 100644 static ssize_t net_hub_port_receive(NetClientState *nc, -- -1.7.12.1 +1.8.0.2 diff --git a/0196-net-asynchronous-send-receive-infrastructure-for-net.patch b/0196-net-asynchronous-send-receive-infrastructure-for-net.patch index 53f0722..e4f77f9 100644 --- a/0196-net-asynchronous-send-receive-infrastructure-for-net.patch +++ b/0196-net-asynchronous-send-receive-infrastructure-for-net.patch @@ -129,5 +129,5 @@ index c172c24..54e32f0 100644 static NetClientInfo net_socket_info = { -- -1.7.12.1 +1.8.0.2 diff --git a/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch b/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch index 9745eaa..c39e101 100644 --- a/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch +++ b/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch @@ -41,5 +41,5 @@ index 54e32f0..e5e4e8d 100644 static void net_socket_send(void *opaque) -- -1.7.12.1 +1.8.0.2 diff --git a/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch b/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch index d318bf1..76ae44a 100644 --- a/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch +++ b/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch @@ -93,5 +93,5 @@ index e5e4e8d..c3e55b8 100644 static ssize_t net_socket_receive_dgram(NetClientState *nc, const uint8_t *buf, size_t size) -- -1.7.12.1 +1.8.0.2 diff --git a/0199-configure-fix-seccomp-check.patch b/0199-configure-fix-seccomp-check.patch index bf742c6..020826d 100644 --- a/0199-configure-fix-seccomp-check.patch +++ b/0199-configure-fix-seccomp-check.patch @@ -41,5 +41,5 @@ index dcd8e7b..9e53cc2 100755 fi ########################################## -- -1.7.12.1 +1.8.0.2 diff --git a/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch b/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch index 2e9a949..d1ff74d 100644 --- a/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch +++ b/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch @@ -76,5 +76,5 @@ index 9e53cc2..a1f256c 100755 if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \ -- -1.7.12.1 +1.8.0.2 diff --git a/0201-Revert-455aa1e08-and-c3767ed0eb.patch b/0201-Revert-455aa1e08-and-c3767ed0eb.patch index 5466652..00b3564 100644 --- a/0201-Revert-455aa1e08-and-c3767ed0eb.patch +++ b/0201-Revert-455aa1e08-and-c3767ed0eb.patch @@ -47,5 +47,5 @@ index 767da93..10d1504 100644 } } -- -1.7.12.1 +1.8.0.2 diff --git a/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch b/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch index 74f8f39..88569ff 100644 --- a/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch +++ b/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch @@ -55,5 +55,5 @@ index 10d1504..7f0f895 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch b/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch index cceb39c..c4950ba 100644 --- a/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch +++ b/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch @@ -48,5 +48,5 @@ index ad175db..3fdbbde 100644 } len -= l; -- -1.7.12.1 +1.8.0.2 diff --git a/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch b/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch index d9001a5..5630073 100644 --- a/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch +++ b/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch @@ -1,8 +1,8 @@ From 8daf993d3d75acea92ef5054c924c7d825ae812e Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Wed, 19 Sep 2012 14:51:38 +0100 -Subject: [PATCH] arch_init.c: Improve '-soundhw help' for - non-HAS_AUDIO_CHOICE archs +Subject: [PATCH] arch_init.c: Improve '-soundhw help' for non-HAS_AUDIO_CHOICE + archs For architectures which don't set HAS_AUDIO_CHOICE, improve the '-soundhw help' message so that it doesn't simply print an empty @@ -39,5 +39,5 @@ index 47977de..f849f9b 100644 } else { -- -1.7.12.1 +1.8.0.2 diff --git a/0205-xilinx_timer-Removed-comma-in-device-name.patch b/0205-xilinx_timer-Removed-comma-in-device-name.patch index 26b5d66..10b5802 100644 --- a/0205-xilinx_timer-Removed-comma-in-device-name.patch +++ b/0205-xilinx_timer-Removed-comma-in-device-name.patch @@ -50,5 +50,5 @@ index b562bd0..053ba02 100644 .instance_size = sizeof(struct timerblock), .class_init = xilinx_timer_class_init, -- -1.7.12.1 +1.8.0.2 diff --git a/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch b/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch index e7b8ea1..ee2fab9 100644 --- a/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch +++ b/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch @@ -52,5 +52,5 @@ index 053ba02..c02e6ca 100644 if (xt->regs[R_TCSR] & TCSR_ARHT) -- -1.7.12.1 +1.8.0.2 diff --git a/0207-xilinx.h-Error-check-when-setting-links.patch b/0207-xilinx.h-Error-check-when-setting-links.patch index 924d91f..1bcbfe6 100644 --- a/0207-xilinx.h-Error-check-when-setting-links.patch +++ b/0207-xilinx.h-Error-check-when-setting-links.patch @@ -50,5 +50,5 @@ index df06a00..35d6681 100644 sysbus_mmio_map(sysbus_from_qdev(dev), 0, base); -- -1.7.12.1 +1.8.0.2 diff --git a/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch b/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch index 7c084bf..7e32f7d 100644 --- a/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch +++ b/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch @@ -37,5 +37,5 @@ index c02e6ca..f410487 100644 if (xt->regs[R_TCSR] & TCSR_ARHT) -- -1.7.12.1 +1.8.0.2 diff --git a/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch b/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch index 40c0e51..5244dfd 100644 --- a/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch +++ b/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch @@ -45,5 +45,5 @@ index d1c7423..d56b51a 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch b/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch index 17385e6..8cf16da 100644 --- a/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch +++ b/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch @@ -32,5 +32,5 @@ index 61f8b45..25733fc 100644 M: Peter Crosthwaite M: Alexander Graf -- -1.7.12.1 +1.8.0.2 diff --git a/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch b/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch index 856ed96..2af6fe3 100644 --- a/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch +++ b/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch @@ -55,5 +55,5 @@ index 0b96165..ea16609 100644 return -1; } -- -1.7.12.1 +1.8.0.2 diff --git a/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch b/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch index d2d4b2d..5236629 100644 --- a/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch +++ b/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch @@ -35,5 +35,5 @@ index ea16609..fb001b9 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0213-scsi-disk-introduce-check_lba_range.patch b/0213-scsi-disk-introduce-check_lba_range.patch index 567728d..52bac3e 100644 --- a/0213-scsi-disk-introduce-check_lba_range.patch +++ b/0213-scsi-disk-introduce-check_lba_range.patch @@ -78,5 +78,5 @@ index 1585683..3959603 100644 } r->sector = r->req.cmd.lba * (s->qdev.blocksize / 512); -- -1.7.12.1 +1.8.0.2 diff --git a/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch b/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch index 9deef86..8d7d358 100644 --- a/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch +++ b/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch @@ -34,5 +34,5 @@ index 3959603..d621852 100644 typedef struct UnmapCBData { -- -1.7.12.1 +1.8.0.2 diff --git a/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch b/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch index 840be83..6465ed5 100644 --- a/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch +++ b/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch @@ -39,5 +39,5 @@ index d621852..7ed1bde 100644 if (buflen > 36) { outbuf[4] = buflen - 5; /* Additional Length = (Len - 1) - 4 */ -- -1.7.12.1 +1.8.0.2 diff --git a/0216-audio-Fix-warning-from-static-code-analysis.patch b/0216-audio-Fix-warning-from-static-code-analysis.patch index d25383c..838551d 100644 --- a/0216-audio-Fix-warning-from-static-code-analysis.patch +++ b/0216-audio-Fix-warning-from-static-code-analysis.patch @@ -43,5 +43,5 @@ index 519432a..16f7880 100644 audio_print_settings (as); goto fail; -- -1.7.12.1 +1.8.0.2 diff --git a/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch b/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch index 5b64003..7daf257 100644 --- a/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch +++ b/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch @@ -36,5 +36,5 @@ index 7623079..b747470 100644 return true; -- -1.7.12.1 +1.8.0.2 diff --git a/0218-qemu-sockets-Fix-potential-memory-leak.patch b/0218-qemu-sockets-Fix-potential-memory-leak.patch index 35d9a44..e3693c2 100644 --- a/0218-qemu-sockets-Fix-potential-memory-leak.patch +++ b/0218-qemu-sockets-Fix-potential-memory-leak.patch @@ -28,5 +28,5 @@ index 361d890..037775b 100644 /* create socket */ -- -1.7.12.1 +1.8.0.2 diff --git a/0219-cadence_uart-Fix-buffer-overflow.patch b/0219-cadence_uart-Fix-buffer-overflow.patch index 3dbf127..8e22ca1 100644 --- a/0219-cadence_uart-Fix-buffer-overflow.patch +++ b/0219-cadence_uart-Fix-buffer-overflow.patch @@ -31,5 +31,5 @@ index d98e531..f8afc4e 100644 } else if (offset == R_TX_RX) { uart_read_rx_fifo(s, &c); -- -1.7.12.1 +1.8.0.2 diff --git a/0220-lm4549-Fix-buffer-overflow.patch b/0220-lm4549-Fix-buffer-overflow.patch index 656c9aa..bea3118 100644 --- a/0220-lm4549-Fix-buffer-overflow.patch +++ b/0220-lm4549-Fix-buffer-overflow.patch @@ -43,5 +43,5 @@ index 80b3ec4..e0137d5 100644 return 0; } -- -1.7.12.1 +1.8.0.2 diff --git a/0221-ioh3420-Remove-unreachable-code.patch b/0221-ioh3420-Remove-unreachable-code.patch index e465486..92346da 100644 --- a/0221-ioh3420-Remove-unreachable-code.patch +++ b/0221-ioh3420-Remove-unreachable-code.patch @@ -29,5 +29,5 @@ index 94a537c..4d31473 100644 pcie_cap_root_init(d); rc = pcie_aer_init(d, IOH_EP_AER_OFFSET); -- -1.7.12.1 +1.8.0.2 diff --git a/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch b/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch index ef3cecd..f0204a8 100644 --- a/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch +++ b/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch @@ -61,5 +61,5 @@ index d56b51a..ac503cf 100644 /* Should never happen */ DPRINTF("%s: invalid write state\n", __func__); -- -1.7.12.1 +1.8.0.2 diff --git a/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch b/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch index 9f29c5e..71d0d75 100644 --- a/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch +++ b/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch @@ -86,5 +86,5 @@ index c681c33..49d7a52 100644 #endif #if defined(CONFIG_SDL) -- -1.7.12.1 +1.8.0.2 diff --git a/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch b/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch index 523d5f4..78c8155 100644 --- a/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch +++ b/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch @@ -32,5 +32,5 @@ index 8b5e21d..314f5a5 100644 } else { if (s->nb_esc_params < MAX_ESC_PARAMS) -- -1.7.12.1 +1.8.0.2 diff --git a/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch b/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch index acb18c0..1c36efc 100644 --- a/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch +++ b/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch @@ -38,5 +38,5 @@ index 6257a04..471d060 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch b/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch index e3cb65f..a227db4 100644 --- a/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch +++ b/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch @@ -64,5 +64,5 @@ index e5c2bcd..15d9e4e 100644 /* Error handling. */ -- -1.7.12.1 +1.8.0.2 diff --git a/0227-w32-Always-use-standard-instead-of-native-format-str.patch b/0227-w32-Always-use-standard-instead-of-native-format-str.patch index 91b7bba..16b1f5a 100644 --- a/0227-w32-Always-use-standard-instead-of-native-format-str.patch +++ b/0227-w32-Always-use-standard-instead-of-native-format-str.patch @@ -48,5 +48,5 @@ index 07ba1f8..c734a71 100644 #if defined(_WIN32) #define GCC_WEAK __attribute__((weak)) -- -1.7.12.1 +1.8.0.2 diff --git a/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch b/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch index 16473ea..3895884 100644 --- a/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch +++ b/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch @@ -77,5 +77,5 @@ index b3e451b..8ba466d 100644 static inline void os_daemonize(void) {} static inline void os_setup_post(void) {} -- -1.7.12.1 +1.8.0.2 diff --git a/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch b/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch index 19bbd20..d44d264 100644 --- a/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch +++ b/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch @@ -33,5 +33,5 @@ index 4a5266e..9ba3503 100644 dinfo->type = type; dinfo->bus = bus_id; -- -1.7.12.1 +1.8.0.2 diff --git a/0230-block-correctly-set-the-keep_read_only-flag.patch b/0230-block-correctly-set-the-keep_read_only-flag.patch index ec1affa..33605d9 100644 --- a/0230-block-correctly-set-the-keep_read_only-flag.patch +++ b/0230-block-correctly-set-the-keep_read_only-flag.patch @@ -100,5 +100,5 @@ index 2e2be11..4d919c2 100644 #define BDRV_O_CACHE_MASK (BDRV_O_NOCACHE | BDRV_O_CACHE_WB | BDRV_O_NO_FLUSH) -- -1.7.12.1 +1.8.0.2 diff --git a/0231-configure-Allow-builds-without-any-system-or-user-em.patch b/0231-configure-Allow-builds-without-any-system-or-user-em.patch index d40c6dc..47ca6f3 100644 --- a/0231-configure-Allow-builds-without-any-system-or-user-em.patch +++ b/0231-configure-Allow-builds-without-any-system-or-user-em.patch @@ -55,5 +55,5 @@ index a1f256c..f528146 100755 case " $target_list " in *"-softmmu "*) softmmu=yes -- -1.7.12.1 +1.8.0.2 diff --git a/0232-Refactor-inet_connect_opts-function.patch b/0232-Refactor-inet_connect_opts-function.patch index bd8702f..b0a1b17 100644 --- a/0232-Refactor-inet_connect_opts-function.patch +++ b/0232-Refactor-inet_connect_opts-function.patch @@ -203,5 +203,5 @@ index 037775b..22797bf 100644 int inet_dgram_opts(QemuOpts *opts) -- -1.7.12.1 +1.8.0.2 diff --git a/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch b/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch index e017ef0..691792d 100644 --- a/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch +++ b/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch @@ -184,5 +184,5 @@ index 385e345..01b2daf 100644 g_free(vs->display); vs->display = NULL; -- -1.7.12.1 +1.8.0.2 diff --git a/0234-Fix-address-handling-in-inet_nonblocking_connect.patch b/0234-Fix-address-handling-in-inet_nonblocking_connect.patch index 9e64c16..c089ea3 100644 --- a/0234-Fix-address-handling-in-inet_nonblocking_connect.patch +++ b/0234-Fix-address-handling-in-inet_nonblocking_connect.patch @@ -365,5 +365,5 @@ index 80696aa..3e8aee9 100644 const char *inet_strfamily(int family); -- -1.7.12.1 +1.8.0.2 diff --git a/0235-Clear-handler-only-for-valid-fd.patch b/0235-Clear-handler-only-for-valid-fd.patch index 3ddcd80..cf1ef37 100644 --- a/0235-Clear-handler-only-for-valid-fd.patch +++ b/0235-Clear-handler-only-for-valid-fd.patch @@ -28,5 +28,5 @@ index 1edeec5..22a05c4 100644 if (s->file) { DPRINTF("closing file\n"); -- -1.7.12.1 +1.8.0.2 diff --git a/0236-pl190-fix-read-of-VECTADDR.patch b/0236-pl190-fix-read-of-VECTADDR.patch index c306cb5..c4b99ae 100644 --- a/0236-pl190-fix-read-of-VECTADDR.patch +++ b/0236-pl190-fix-read-of-VECTADDR.patch @@ -47,5 +47,5 @@ index cb50afb..7332f4d 100644 We return the default address. */ if (i == PL190_NUM_PRIO) -- -1.7.12.1 +1.8.0.2 diff --git a/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch b/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch index 2f3f36d..faf59ef 100644 --- a/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch +++ b/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch @@ -1,8 +1,8 @@ From f4a5b8185d067430cd605a740af654cd1cd2e2aa Mon Sep 17 00:00:00 2001 From: Meador Inge Date: Wed, 26 Sep 2012 16:46:28 +0100 -Subject: [PATCH] hw/armv7m_nvic: Correctly register GIC region when setting - up NVIC +Subject: [PATCH] hw/armv7m_nvic: Correctly register GIC region when setting up + NVIC When setting up the NVIC memory regions the memory range 0x100..0xcff is aliased to an IO memory region that belongs @@ -36,5 +36,5 @@ index 6a0832e..5c09116 100644 * by the v7M architecture. */ -- -1.7.12.1 +1.8.0.2 diff --git a/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch b/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch index 4fd2f11..4161dc7 100644 --- a/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch +++ b/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch @@ -52,5 +52,5 @@ index b615844..454c2bb 100644 sram_size = 0x2000000; -- -1.7.12.1 +1.8.0.2 diff --git a/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch b/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch index 772314f..30e7bcd 100644 --- a/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch +++ b/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch @@ -32,5 +32,5 @@ index 6790180..acb9369 100644 } break; -- -1.7.12.1 +1.8.0.2 diff --git a/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch b/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch index 37e5c3a..c94ba5d 100644 --- a/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch +++ b/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch @@ -40,5 +40,5 @@ index b29256a..91497e8 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch b/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch index 7edb0b2..7950b22 100644 --- a/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch +++ b/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch @@ -62,5 +62,5 @@ index abd847f..38098f7 100644 && ((opcode & 0x3) == 0)) { spapr_hcall_fn fn = papr_hypercall_table[opcode / 4]; -- -1.7.12.1 +1.8.0.2 diff --git a/0242-update-VERSION-for-v1.2.1.patch b/0242-update-VERSION-for-v1.2.1.patch index 5a2045d..c68a13d 100644 --- a/0242-update-VERSION-for-v1.2.1.patch +++ b/0242-update-VERSION-for-v1.2.1.patch @@ -16,5 +16,5 @@ index 26aaba0..6085e94 100644 -1.2.0 +1.2.1 -- -1.7.12.1 +1.8.0.2 diff --git a/0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch b/0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch similarity index 70% rename from 0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch rename to 0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch index dfaf285..2ba6e0e 100644 --- a/0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch +++ b/0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch @@ -1,4 +1,4 @@ -From 38f419f35225decdbaea9fe1fd00218f8924ce84 Mon Sep 17 00:00:00 2001 +From abd9b89fe95879eb73ff4728397de6a390464de3 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Wed, 17 Oct 2012 19:09:25 +0200 Subject: [PATCH] configure: Fix CONFIG_QEMU_HELPERDIR generation @@ -9,15 +9,22 @@ CONFIG_QEMU_HELPERDIR. Signed-off-by: Jan Kiszka Signed-off-by: Aurelien Jarno +(cherry picked from commit 38f419f35225decdbaea9fe1fd00218f8924ce84) + +Conflicts: + + configure + +Signed-off-by: Michael Roth --- configure | 2 +- - 1 file modificato, 1 inserzione(+). 1 rimozione(-) + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure b/configure -index f9c31f4..9f33c7d 100755 +index f528146..2de0900 100755 --- a/configure +++ b/configure -@@ -3200,7 +3200,7 @@ echo "qemu_confdir=$qemu_confdir" >> $config_host_mak +@@ -3201,7 +3201,7 @@ echo "sysconfdir=$sysconfdir" >> $config_host_mak echo "qemu_confdir=$qemu_confdir" >> $config_host_mak echo "qemu_datadir=$qemu_datadir" >> $config_host_mak echo "qemu_docdir=$qemu_docdir" >> $config_host_mak @@ -27,5 +34,5 @@ index f9c31f4..9f33c7d 100755 echo "ARCH=$ARCH" >> $config_host_mak if test "$debug_tcg" = "yes" ; then -- -1.7.12.1 +1.8.0.2 diff --git a/0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch b/0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch new file mode 100644 index 0000000..31c7a78 --- /dev/null +++ b/0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch @@ -0,0 +1,40 @@ +From 6cfdf00d58feb60e60a4844dc073a5995e6c08d5 Mon Sep 17 00:00:00 2001 +From: Michael Tokarev +Date: Sun, 21 Oct 2012 22:52:54 +0400 +Subject: [PATCH] fix CONFIG_QEMU_HELPERDIR generation again + +commit 38f419f35225 fixed a breakage with CONFIG_QEMU_HELPERDIR +which has been introduced by 8bf188aa18ef7a8. But while techinically +that fix has been correct, all other similar variables are handled +differently. Make it consistent, and let scripts/create_config +expand and capitalize the variable properly like for all other +qemu_*dir variables. + +Signed-off-by: Michael Tokarev +(cherry picked from commit f354b1a1ee7a1c72d51b42808724a2b10eec315f) + +Conflicts: + + configure + +Signed-off-by: Michael Roth +--- + configure | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/configure b/configure +index 2de0900..4d11fe3 100755 +--- a/configure ++++ b/configure +@@ -3201,7 +3201,7 @@ echo "sysconfdir=$sysconfdir" >> $config_host_mak + echo "qemu_confdir=$qemu_confdir" >> $config_host_mak + echo "qemu_datadir=$qemu_datadir" >> $config_host_mak + echo "qemu_docdir=$qemu_docdir" >> $config_host_mak +-echo "CONFIG_QEMU_HELPERDIR=\"`eval echo $libexecdir`\"" >> $config_host_mak ++echo "qemu_helperdir=$libexecdir" >> $config_host_mak + + echo "ARCH=$ARCH" >> $config_host_mak + if test "$debug_tcg" = "yes" ; then +-- +1.8.0.2 + diff --git a/0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch b/0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch new file mode 100644 index 0000000..c0c468c --- /dev/null +++ b/0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch @@ -0,0 +1,42 @@ +From c441420055790934d7f344800a46c7ae644002a4 Mon Sep 17 00:00:00 2001 +From: Joel Martin +Date: Wed, 16 May 2012 12:54:25 +0000 +Subject: [PATCH] ui/vnc: Only report/use TIGHT_PNG encoding if enabled. + +If TIGHT_PNG is not enabled by the --enable-vnc-png configure flag +then do not report to the client that it is supported. + +Also, since TIGHT_PNG is the same as the TIGHT encoding but with the +filter/copy replaced with PNG data, adding it to the supported +encodings list when it is disabled will cause the TIGHT encoding to be +used even though the client requested TIGHT_PNG. + +Signed-off-by: Joel Martin +Signed-off-by: Stefan Hajnoczi +(cherry picked from commit fe3e7f2dc05225cdd2ba40defcd4e2581bebc5e0) + +Signed-off-by: Michael Roth +--- + ui/vnc.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/ui/vnc.c b/ui/vnc.c +index 01b2daf..18ec101 100644 +--- a/ui/vnc.c ++++ b/ui/vnc.c +@@ -1802,10 +1802,12 @@ static void set_encodings(VncState *vs, int32_t *encodings, size_t n_encodings) + vs->features |= VNC_FEATURE_TIGHT_MASK; + vs->vnc_encoding = enc; + break; ++#ifdef CONFIG_VNC_PNG + case VNC_ENCODING_TIGHT_PNG: + vs->features |= VNC_FEATURE_TIGHT_PNG_MASK; + vs->vnc_encoding = enc; + break; ++#endif + case VNC_ENCODING_ZLIB: + vs->features |= VNC_FEATURE_ZLIB_MASK; + vs->vnc_encoding = enc; +-- +1.8.0.2 + diff --git a/0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch b/0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch new file mode 100644 index 0000000..66871c6 --- /dev/null +++ b/0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch @@ -0,0 +1,54 @@ +From 07a824f03fe1e820b5a0f19c380b19595ac0caa9 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Wed, 10 Oct 2012 14:30:58 +0200 +Subject: [PATCH] vnc: fix "info vnc" with "-vnc ..., reverse=on" + +When reverse connection is in use, there is no active VNC server +socket. Because of this, getsockopt(-1, ...) is attempted and +the following error is emitted: + + $ socat TCP-LISTEN:5900,reuseaddr TCP-LISTEN:5901,reuseaddr & + $ x86_64-softmmu/qemu-system-x86_64 -vnc localhost:5900,reverse -monitor stdio + QEMU 1.2.50 monitor - type 'help' for more information + (qemu) info vnc + An undefined error has occurred + +Because however the host, family, service and auth fields are +optional, we can just exit if there is no active server socket. + + $ x86_64-softmmu/qemu-system-x86_64 -vnc localhost:5900,reverse -monitor stdio + QEMU 1.2.50 monitor - type 'help' for more information + (qemu) info vnc + Server: + Client: + address: 127.0.0.1:5900 + x509_dname: none + username: none + +Signed-off-by: Paolo Bonzini +Signed-off-by: Stefan Hajnoczi +(cherry picked from commit 417b0b88904fe1dd8c41bff8092dfbab0134d9cb) + +Signed-off-by: Michael Roth +--- + ui/vnc.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/ui/vnc.c b/ui/vnc.c +index 18ec101..66ae930 100644 +--- a/ui/vnc.c ++++ b/ui/vnc.c +@@ -372,6 +372,10 @@ VncInfo *qmp_query_vnc(Error **errp) + } + } + ++ if (vnc_display->lsock == -1) { ++ return info; ++ } ++ + if (getsockname(vnc_display->lsock, (struct sockaddr *)&sa, + &salen) == -1) { + error_set(errp, QERR_UNDEFINED_ERROR); +-- +1.8.0.2 + diff --git a/0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch b/0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch new file mode 100644 index 0000000..962838d --- /dev/null +++ b/0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch @@ -0,0 +1,51 @@ +From 7fdcb0738e43e49ac3081cc28212c1b7985f8bae Mon Sep 17 00:00:00 2001 +From: Hans de Goede +Date: Wed, 10 Oct 2012 15:50:36 +0200 +Subject: [PATCH] uhci: Raise interrupt when requested even for non active tds + +According to the spec we must raise an interrupt when one is requested +even for non active tds. + +Linux depends on this, for bulk transfers it runs an inactivity timer +to work around a bug in early uhci revisions, when we take longer then +200 ms to process a packet, this timer goes of, and as part of the +handling Linux then unlinks the qh, and relinks it after the frindex +has increased by atleast 1, the problem is Linux only checks for the +frindex increases on an interrupt, and we don't send that, causing +the qh to go inactive for more then 32 frames, at which point we +consider the packet cancelled. + +Signed-off-by: Hans de Goede +Signed-off-by: Gerd Hoffmann +(cherry picked from commit 883bca776daa43111e9c39008f0038f7c62ae723) + +Signed-off-by: Michael Roth +--- + hw/usb/hcd-uhci.c | 10 +++++++++- + 1 file changed, 9 insertions(+), 1 deletion(-) + +diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c +index cdc8bc3..c2f08e3 100644 +--- a/hw/usb/hcd-uhci.c ++++ b/hw/usb/hcd-uhci.c +@@ -826,8 +826,16 @@ static int uhci_handle_td(UHCIState *s, uint32_t addr, UHCI_TD *td, + USBEndpoint *ep; + + /* Is active ? */ +- if (!(td->ctrl & TD_CTRL_ACTIVE)) ++ if (!(td->ctrl & TD_CTRL_ACTIVE)) { ++ /* ++ * ehci11d spec page 22: "Even if the Active bit in the TD is already ++ * cleared when the TD is fetched ... an IOC interrupt is generated" ++ */ ++ if (td->ctrl & TD_CTRL_IOC) { ++ *int_mask |= 0x01; ++ } + return TD_RESULT_NEXT_QH; ++ } + + async = uhci_async_find_td(s, addr, td); + if (async) { +-- +1.8.0.2 + diff --git a/0516-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch b/0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch similarity index 67% rename from 0516-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch rename to 0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch index e285559..15c9c57 100644 --- a/0516-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch +++ b/0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch @@ -1,21 +1,24 @@ -From d59685f5667e25d0805bde93c068052afb30efda Mon Sep 17 00:00:00 2001 +From d03ab137143aeae21ab7bb4e8cab72e1f49b8309 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Sun, 7 Oct 2012 17:03:35 +0200 -Subject: [PATCH 516/647] hw/qxl: qxl_dirty_surfaces: use uintptr_t +Subject: [PATCH] hw/qxl: qxl_dirty_surfaces: use uintptr_t As suggested by Paolo Bonzini, to avoid possible integer overflow issues. Signed-off-by: Alon Levy Signed-off-by: Gerd Hoffmann +(cherry picked from commit c5825ac6c861bfe1a4adfa27517931b56079e298) + +Signed-off-by: Michael Roth --- hw/qxl.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c -index e3a164a..5a9bf1c 100644 +index 59bf822..89e9ad9 100644 --- a/hw/qxl.c +++ b/hw/qxl.c -@@ -1803,7 +1803,7 @@ static void qxl_hw_text_update(void *opaque, console_ch_t *chardata) +@@ -1703,7 +1703,7 @@ static void qxl_hw_text_update(void *opaque, console_ch_t *chardata) static void qxl_dirty_surfaces(PCIQXLDevice *qxl) { @@ -24,7 +27,7 @@ index e3a164a..5a9bf1c 100644 int i; if (qxl->mode != QXL_MODE_NATIVE && qxl->mode != QXL_MODE_COMPAT) { -@@ -1814,7 +1814,7 @@ static void qxl_dirty_surfaces(PCIQXLDevice *qxl) +@@ -1714,7 +1714,7 @@ static void qxl_dirty_surfaces(PCIQXLDevice *qxl) qxl_set_dirty(&qxl->vga.vram, qxl->shadow_rom.draw_area_offset, qxl->shadow_rom.surface0_area_size); @@ -32,7 +35,7 @@ index e3a164a..5a9bf1c 100644 + vram_start = (uintptr_t)memory_region_get_ram_ptr(&qxl->vram_bar); /* dirty the off-screen surfaces */ - for (i = 0; i < qxl->ssd.num_surfaces; i++) { + for (i = 0; i < NUM_SURFACES; i++) { -- -1.7.12.1 +1.8.0.2 diff --git a/0511-qxl-always-update-displaysurface-on-resize.patch b/0307-qxl-always-update-displaysurface-on-resize.patch similarity index 88% rename from 0511-qxl-always-update-displaysurface-on-resize.patch rename to 0307-qxl-always-update-displaysurface-on-resize.patch index 4b556c7..c981d7e 100644 --- a/0511-qxl-always-update-displaysurface-on-resize.patch +++ b/0307-qxl-always-update-displaysurface-on-resize.patch @@ -1,4 +1,4 @@ -From d0b5c82d532ef14bbbc770b06a6ae68f6ec3c1a8 Mon Sep 17 00:00:00 2001 +From 5100d7f2beedd5248337f956c74aee4300a00915 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 14 Sep 2012 22:09:23 +0200 Subject: [PATCH] qxl: always update displaysurface on resize @@ -13,6 +13,9 @@ and X11 use the display same resolution. Then watch X11 screen being upside down. Signed-off-by: Gerd Hoffmann +(cherry picked from commit 0ec8df3974d2a4ff95b5fd4785b9bd3def7252f3) + +Signed-off-by: Michael Roth --- hw/qxl-render.c | 4 ---- 1 file changed, 4 deletions(-) @@ -40,5 +43,5 @@ index e2e3fe2..b66c168 100644 qemu_free_displaysurface(vga->ds); qemu_create_displaysurface_from(qxl->guest_primary.surface.width, -- -1.7.12.1 +1.8.0.2 diff --git a/0308-rtc-fix-overflow-in-mktimegm.patch b/0308-rtc-fix-overflow-in-mktimegm.patch new file mode 100644 index 0000000..ca4541b --- /dev/null +++ b/0308-rtc-fix-overflow-in-mktimegm.patch @@ -0,0 +1,100 @@ +From 6dfc8874df8648e37f19f099cb8c2efee19bcee3 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Mon, 1 Oct 2012 14:22:06 +0200 +Subject: [PATCH] rtc: fix overflow in mktimegm + +When setting a date in 1980, Linux is actually disregarding the century +byte and setting the year to 2080. This causes a year-2038 overflow +in mktimegm. Fix this by doing the days-to-seconds computation in +64-bit math. + +Reported-by: Lucas Meneghel Rodrigues +Signed-off-by: Paolo Bonzini +Signed-off-by: Anthony Liguori +(cherry picked from commit b6db4aca20e9af4f62c9c9e08b9b9672a6ed3390) + +Signed-off-by: Michael Roth +--- + cutils.c | 2 +- + tests/rtc-test.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ + 2 files changed, 46 insertions(+), 1 deletion(-) + +diff --git a/cutils.c b/cutils.c +index 8ef648f..8edd8fa 100644 +--- a/cutils.c ++++ b/cutils.c +@@ -115,7 +115,7 @@ time_t mktimegm(struct tm *tm) + m += 12; + y--; + } +- t = 86400 * (d + (153 * m - 457) / 5 + 365 * y + y / 4 - y / 100 + ++ t = 86400ULL * (d + (153 * m - 457) / 5 + 365 * y + y / 4 - y / 100 + + y / 400 - 719469); + t += 3600 * tm->tm_hour + 60 * tm->tm_min + tm->tm_sec; + return t; +diff --git a/tests/rtc-test.c b/tests/rtc-test.c +index f23ac3a..2b9aa63 100644 +--- a/tests/rtc-test.c ++++ b/tests/rtc-test.c +@@ -179,6 +179,50 @@ static void check_time(int wiggle) + + static int wiggle = 2; + ++static void set_year(void) ++{ ++ /* Set BCD mode */ ++ cmos_write(RTC_REG_B, cmos_read(RTC_REG_B) & ~REG_B_DM); ++ cmos_write(RTC_REG_A, 0x76); ++ cmos_write(RTC_YEAR, 0x11); ++ cmos_write(RTC_MONTH, 0x02); ++ cmos_write(RTC_DAY_OF_MONTH, 0x02); ++ cmos_write(RTC_HOURS, 0x02); ++ cmos_write(RTC_MINUTES, 0x04); ++ cmos_write(RTC_SECONDS, 0x58); ++ cmos_write(RTC_REG_A, 0x26); ++ ++ g_assert_cmpint(cmos_read(RTC_HOURS), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_MINUTES), ==, 0x04); ++ g_assert_cmpint(cmos_read(RTC_SECONDS), >=, 0x58); ++ g_assert_cmpint(cmos_read(RTC_DAY_OF_MONTH), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_MONTH), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_YEAR), ==, 0x11); ++ ++ /* Set a date in 2080 to ensure there is no year-2038 overflow. */ ++ cmos_write(RTC_REG_A, 0x76); ++ cmos_write(RTC_YEAR, 0x80); ++ cmos_write(RTC_REG_A, 0x26); ++ ++ g_assert_cmpint(cmos_read(RTC_HOURS), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_MINUTES), ==, 0x04); ++ g_assert_cmpint(cmos_read(RTC_SECONDS), >=, 0x58); ++ g_assert_cmpint(cmos_read(RTC_DAY_OF_MONTH), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_MONTH), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_YEAR), ==, 0x80); ++ ++ cmos_write(RTC_REG_A, 0x76); ++ cmos_write(RTC_YEAR, 0x11); ++ cmos_write(RTC_REG_A, 0x26); ++ ++ g_assert_cmpint(cmos_read(RTC_HOURS), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_MINUTES), ==, 0x04); ++ g_assert_cmpint(cmos_read(RTC_SECONDS), >=, 0x58); ++ g_assert_cmpint(cmos_read(RTC_DAY_OF_MONTH), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_MONTH), ==, 0x02); ++ g_assert_cmpint(cmos_read(RTC_YEAR), ==, 0x11); ++} ++ + static void bcd_check_time(void) + { + /* Set BCD mode */ +@@ -269,6 +313,7 @@ int main(int argc, char **argv) + qtest_add_func("/rtc/bcd/check-time", bcd_check_time); + qtest_add_func("/rtc/dec/check-time", dec_check_time); + qtest_add_func("/rtc/alarm-time", alarm_time); ++ qtest_add_func("/rtc/set-year", set_year); + qtest_add_func("/rtc/fuzz-registers", fuzz_registers); + ret = g_test_run(); + +-- +1.8.0.2 + diff --git a/0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch b/0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch new file mode 100644 index 0000000..b7021cc --- /dev/null +++ b/0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch @@ -0,0 +1,201 @@ +From 4c9e1e2839d81b65a1b4a3a150c793d577e4ce70 Mon Sep 17 00:00:00 2001 +From: Stefan Weil +Date: Sun, 23 Sep 2012 08:51:01 +0200 +Subject: [PATCH] hw: Fix return value check for bdrv_read, bdrv_write + +Those functions return -errno in case of an error. +The old code would typically only detect EPERM (1) errors. + +Signed-off-by: Stefan Weil +Signed-off-by: Stefan Hajnoczi +(cherry picked from commit 7a608f562ebd91e811ed0b725e528c894e4f19c4) + +Signed-off-by: Michael Roth +--- + hw/nand.c | 34 ++++++++++++++++++++++------------ + hw/onenand.c | 2 +- + hw/sd.c | 16 +++++++++------- + 3 files changed, 32 insertions(+), 20 deletions(-) + +diff --git a/hw/nand.c b/hw/nand.c +index e9501ae..01f3ada 100644 +--- a/hw/nand.c ++++ b/hw/nand.c +@@ -654,7 +654,7 @@ static void glue(nand_blk_write_, PAGE_SIZE)(NANDFlashState *s) + sector = SECTOR(s->addr); + off = (s->addr & PAGE_MASK) + s->offset; + soff = SECTOR_OFFSET(s->addr); +- if (bdrv_read(s->bdrv, sector, iobuf, PAGE_SECTORS) == -1) { ++ if (bdrv_read(s->bdrv, sector, iobuf, PAGE_SECTORS) < 0) { + printf("%s: read error in sector %" PRIu64 "\n", __func__, sector); + return; + } +@@ -666,21 +666,23 @@ static void glue(nand_blk_write_, PAGE_SIZE)(NANDFlashState *s) + MIN(OOB_SIZE, off + s->iolen - PAGE_SIZE)); + } + +- if (bdrv_write(s->bdrv, sector, iobuf, PAGE_SECTORS) == -1) ++ if (bdrv_write(s->bdrv, sector, iobuf, PAGE_SECTORS) < 0) { + printf("%s: write error in sector %" PRIu64 "\n", __func__, sector); ++ } + } else { + off = PAGE_START(s->addr) + (s->addr & PAGE_MASK) + s->offset; + sector = off >> 9; + soff = off & 0x1ff; +- if (bdrv_read(s->bdrv, sector, iobuf, PAGE_SECTORS + 2) == -1) { ++ if (bdrv_read(s->bdrv, sector, iobuf, PAGE_SECTORS + 2) < 0) { + printf("%s: read error in sector %" PRIu64 "\n", __func__, sector); + return; + } + + mem_and(iobuf + soff, s->io, s->iolen); + +- if (bdrv_write(s->bdrv, sector, iobuf, PAGE_SECTORS + 2) == -1) ++ if (bdrv_write(s->bdrv, sector, iobuf, PAGE_SECTORS + 2) < 0) { + printf("%s: write error in sector %" PRIu64 "\n", __func__, sector); ++ } + } + s->offset = 0; + } +@@ -704,31 +706,37 @@ static void glue(nand_blk_erase_, PAGE_SIZE)(NANDFlashState *s) + i = SECTOR(addr); + page = SECTOR(addr + (ADDR_SHIFT + s->erase_shift)); + for (; i < page; i ++) +- if (bdrv_write(s->bdrv, i, iobuf, 1) == -1) ++ if (bdrv_write(s->bdrv, i, iobuf, 1) < 0) { + printf("%s: write error in sector %" PRIu64 "\n", __func__, i); ++ } + } else { + addr = PAGE_START(addr); + page = addr >> 9; +- if (bdrv_read(s->bdrv, page, iobuf, 1) == -1) ++ if (bdrv_read(s->bdrv, page, iobuf, 1) < 0) { + printf("%s: read error in sector %" PRIu64 "\n", __func__, page); ++ } + memset(iobuf + (addr & 0x1ff), 0xff, (~addr & 0x1ff) + 1); +- if (bdrv_write(s->bdrv, page, iobuf, 1) == -1) ++ if (bdrv_write(s->bdrv, page, iobuf, 1) < 0) { + printf("%s: write error in sector %" PRIu64 "\n", __func__, page); ++ } + + memset(iobuf, 0xff, 0x200); + i = (addr & ~0x1ff) + 0x200; + for (addr += ((PAGE_SIZE + OOB_SIZE) << s->erase_shift) - 0x200; + i < addr; i += 0x200) +- if (bdrv_write(s->bdrv, i >> 9, iobuf, 1) == -1) ++ if (bdrv_write(s->bdrv, i >> 9, iobuf, 1) < 0) { + printf("%s: write error in sector %" PRIu64 "\n", + __func__, i >> 9); ++ } + + page = i >> 9; +- if (bdrv_read(s->bdrv, page, iobuf, 1) == -1) ++ if (bdrv_read(s->bdrv, page, iobuf, 1) < 0) { + printf("%s: read error in sector %" PRIu64 "\n", __func__, page); ++ } + memset(iobuf, 0xff, ((addr - 1) & 0x1ff) + 1); +- if (bdrv_write(s->bdrv, page, iobuf, 1) == -1) ++ if (bdrv_write(s->bdrv, page, iobuf, 1) < 0) { + printf("%s: write error in sector %" PRIu64 "\n", __func__, page); ++ } + } + } + +@@ -740,18 +748,20 @@ static void glue(nand_blk_load_, PAGE_SIZE)(NANDFlashState *s, + + if (s->bdrv) { + if (s->mem_oob) { +- if (bdrv_read(s->bdrv, SECTOR(addr), s->io, PAGE_SECTORS) == -1) ++ if (bdrv_read(s->bdrv, SECTOR(addr), s->io, PAGE_SECTORS) < 0) { + printf("%s: read error in sector %" PRIu64 "\n", + __func__, SECTOR(addr)); ++ } + memcpy(s->io + SECTOR_OFFSET(s->addr) + PAGE_SIZE, + s->storage + (PAGE(s->addr) << OOB_SHIFT), + OOB_SIZE); + s->ioaddr = s->io + SECTOR_OFFSET(s->addr) + offset; + } else { + if (bdrv_read(s->bdrv, PAGE_START(addr) >> 9, +- s->io, (PAGE_SECTORS + 2)) == -1) ++ s->io, (PAGE_SECTORS + 2)) < 0) { + printf("%s: read error in sector %" PRIu64 "\n", + __func__, PAGE_START(addr) >> 9); ++ } + s->ioaddr = s->io + (PAGE_START(addr) & 0x1ff) + offset; + } + } else { +diff --git a/hw/onenand.c b/hw/onenand.c +index db6af68..0f7b755 100644 +--- a/hw/onenand.c ++++ b/hw/onenand.c +@@ -351,7 +351,7 @@ static inline int onenand_erase(OneNANDState *s, int sec, int num) + for (; num > 0; num--, sec++) { + if (s->bdrv_cur) { + int erasesec = s->secs_cur + (sec >> 5); +- if (bdrv_write(s->bdrv_cur, sec, blankbuf, 1)) { ++ if (bdrv_write(s->bdrv_cur, sec, blankbuf, 1) < 0) { + goto fail; + } + if (bdrv_read(s->bdrv_cur, erasesec, tmpbuf, 1) < 0) { +diff --git a/hw/sd.c b/hw/sd.c +index ec26407..297580a 100644 +--- a/hw/sd.c ++++ b/hw/sd.c +@@ -1407,7 +1407,7 @@ static void sd_blk_read(SDState *sd, uint64_t addr, uint32_t len) + + DPRINTF("sd_blk_read: addr = 0x%08llx, len = %d\n", + (unsigned long long) addr, len); +- if (!sd->bdrv || bdrv_read(sd->bdrv, addr >> 9, sd->buf, 1) == -1) { ++ if (!sd->bdrv || bdrv_read(sd->bdrv, addr >> 9, sd->buf, 1) < 0) { + fprintf(stderr, "sd_blk_read: read error on host side\n"); + return; + } +@@ -1415,7 +1415,7 @@ static void sd_blk_read(SDState *sd, uint64_t addr, uint32_t len) + if (end > (addr & ~511) + 512) { + memcpy(sd->data, sd->buf + (addr & 511), 512 - (addr & 511)); + +- if (bdrv_read(sd->bdrv, end >> 9, sd->buf, 1) == -1) { ++ if (bdrv_read(sd->bdrv, end >> 9, sd->buf, 1) < 0) { + fprintf(stderr, "sd_blk_read: read error on host side\n"); + return; + } +@@ -1429,29 +1429,31 @@ static void sd_blk_write(SDState *sd, uint64_t addr, uint32_t len) + uint64_t end = addr + len; + + if ((addr & 511) || len < 512) +- if (!sd->bdrv || bdrv_read(sd->bdrv, addr >> 9, sd->buf, 1) == -1) { ++ if (!sd->bdrv || bdrv_read(sd->bdrv, addr >> 9, sd->buf, 1) < 0) { + fprintf(stderr, "sd_blk_write: read error on host side\n"); + return; + } + + if (end > (addr & ~511) + 512) { + memcpy(sd->buf + (addr & 511), sd->data, 512 - (addr & 511)); +- if (bdrv_write(sd->bdrv, addr >> 9, sd->buf, 1) == -1) { ++ if (bdrv_write(sd->bdrv, addr >> 9, sd->buf, 1) < 0) { + fprintf(stderr, "sd_blk_write: write error on host side\n"); + return; + } + +- if (bdrv_read(sd->bdrv, end >> 9, sd->buf, 1) == -1) { ++ if (bdrv_read(sd->bdrv, end >> 9, sd->buf, 1) < 0) { + fprintf(stderr, "sd_blk_write: read error on host side\n"); + return; + } + memcpy(sd->buf, sd->data + 512 - (addr & 511), end & 511); +- if (bdrv_write(sd->bdrv, end >> 9, sd->buf, 1) == -1) ++ if (bdrv_write(sd->bdrv, end >> 9, sd->buf, 1) < 0) { + fprintf(stderr, "sd_blk_write: write error on host side\n"); ++ } + } else { + memcpy(sd->buf + (addr & 511), sd->data, len); +- if (!sd->bdrv || bdrv_write(sd->bdrv, addr >> 9, sd->buf, 1) == -1) ++ if (!sd->bdrv || bdrv_write(sd->bdrv, addr >> 9, sd->buf, 1) < 0) { + fprintf(stderr, "sd_blk_write: write error on host side\n"); ++ } + } + } + +-- +1.8.0.2 + diff --git a/0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch b/0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch new file mode 100644 index 0000000..6508c64 --- /dev/null +++ b/0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch @@ -0,0 +1,33 @@ +From 4c512ed2aa98b5219b84fa98e8b3ac9ef0128436 Mon Sep 17 00:00:00 2001 +From: Don Slutz +Date: Fri, 21 Sep 2012 20:13:13 -0400 +Subject: [PATCH] target-i386: Allow tsc-frequency to be larger then 2.147G + +The check using INT_MAX (2147483647) is wrong in this case. + +Signed-off-by: Fred Oliveira +Signed-off-by: Don Slutz +Signed-off-by: Stefan Hajnoczi +(cherry picked from commit 2e84849aa2cc7f220d3b3668f5f7e3c57bb1b590) + +Signed-off-by: Michael Roth +--- + target-i386/cpu.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/target-i386/cpu.c b/target-i386/cpu.c +index 423e009..cbc172e 100644 +--- a/target-i386/cpu.c ++++ b/target-i386/cpu.c +@@ -846,7 +846,7 @@ static void x86_cpuid_set_tsc_freq(Object *obj, Visitor *v, void *opaque, + { + X86CPU *cpu = X86_CPU(obj); + const int64_t min = 0; +- const int64_t max = INT_MAX; ++ const int64_t max = INT64_MAX; + int64_t value; + + visit_type_int(v, &value, name, errp); +-- +1.8.0.2 + diff --git a/0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch b/0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch new file mode 100644 index 0000000..dd3a367 --- /dev/null +++ b/0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch @@ -0,0 +1,65 @@ +From 0b8f2583c9cd2b06b422c80ceec6a7f2641fc4e0 Mon Sep 17 00:00:00 2001 +From: Dmitry Fleytman +Date: Fri, 19 Oct 2012 07:56:55 +0200 +Subject: [PATCH] e1000: drop check_rxov, always treat RX ring with RDH == RDT + as empty + +Real HW always treats RX ring with RDH == RDT as empty. +Emulation is supposed to behave the same. + +Reported-by: Chris Webb +Reported-by: Richard Davies +Signed-off-by: Dmitry Fleytman +Signed-off-by: Stefan Hajnoczi +(cherry picked from commit e5b8b0d4ba29fe1268ba049519a1b0cf8552a21a) + +Signed-off-by: Michael Roth +--- + hw/e1000.c | 7 ++----- + 1 file changed, 2 insertions(+), 5 deletions(-) + +diff --git a/hw/e1000.c b/hw/e1000.c +index ec3a7c4..4d4ac32 100644 +--- a/hw/e1000.c ++++ b/hw/e1000.c +@@ -92,7 +92,6 @@ typedef struct E1000State_st { + + uint32_t rxbuf_size; + uint32_t rxbuf_min_shift; +- int check_rxov; + struct e1000_tx { + unsigned char header[256]; + unsigned char vlan_header[4]; +@@ -741,11 +740,11 @@ static bool e1000_has_rxbufs(E1000State *s, size_t total_size) + int bufs; + /* Fast-path short packets */ + if (total_size <= s->rxbuf_size) { +- return s->mac_reg[RDH] != s->mac_reg[RDT] || !s->check_rxov; ++ return s->mac_reg[RDH] != s->mac_reg[RDT]; + } + if (s->mac_reg[RDH] < s->mac_reg[RDT]) { + bufs = s->mac_reg[RDT] - s->mac_reg[RDH]; +- } else if (s->mac_reg[RDH] > s->mac_reg[RDT] || !s->check_rxov) { ++ } else if (s->mac_reg[RDH] > s->mac_reg[RDT]) { + bufs = s->mac_reg[RDLEN] / sizeof(struct e1000_rx_desc) + + s->mac_reg[RDT] - s->mac_reg[RDH]; + } else { +@@ -848,7 +847,6 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size) + + if (++s->mac_reg[RDH] * sizeof(desc) >= s->mac_reg[RDLEN]) + s->mac_reg[RDH] = 0; +- s->check_rxov = 1; + /* see comment in start_xmit; same here */ + if (s->mac_reg[RDH] == rdh_start) { + DBGOUT(RXERR, "RDH wraparound @%x, RDT %x, RDLEN %x\n", +@@ -925,7 +923,6 @@ mac_writereg(E1000State *s, int index, uint32_t val) + static void + set_rdt(E1000State *s, int index, uint32_t val) + { +- s->check_rxov = 0; + s->mac_reg[index] = val & 0xffff; + if (e1000_has_rxbufs(s, 1)) { + qemu_flush_queued_packets(&s->nic->nc); +-- +1.8.0.2 + diff --git a/0312-memory-fix-rendering-of-a-region-obscured-by-another.patch b/0312-memory-fix-rendering-of-a-region-obscured-by-another.patch new file mode 100644 index 0000000..8e08900 --- /dev/null +++ b/0312-memory-fix-rendering-of-a-region-obscured-by-another.patch @@ -0,0 +1,57 @@ +From 4d172af076079d753cb666af31d93ed9a7b452ff Mon Sep 17 00:00:00 2001 +From: Avi Kivity +Date: Mon, 29 Oct 2012 18:22:36 +0200 +Subject: [PATCH] memory: fix rendering of a region obscured by another + +The memory core drops regions that are hidden by another region (for example, +during BAR sizing), but it doesn't do so correctly if the lower address of the +existing range is below the lower address of the new range. + +Example (qemu-system-mips -M malta -kernel vmlinux-2.6.32-5-4kc-malta + -append "console=ttyS0" -nographic -vga cirrus): + +Existing range: 10000000-107fffff +New range: 100a0000-100bffff + +Correct behaviour: drop new range +Incorrect behaviour: add new range + +Fix by taking this case into account (previously we only considered +equal lower boundaries). + +Tested-by: Aurelien Jarno +Signed-off-by: Avi Kivity +Signed-off-by: Anthony Liguori +(cherry picked from commit d26a8caea3f160782841efb87b5e8bea606b512b) + +Signed-off-by: Michael Roth +--- + memory.c | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/memory.c b/memory.c +index d528d1f..7144020 100644 +--- a/memory.c ++++ b/memory.c +@@ -538,12 +538,12 @@ static void render_memory_region(FlatView *view, + offset_in_region += int128_get64(now); + int128_subfrom(&remain, now); + } +- if (int128_eq(base, view->ranges[i].addr.start)) { +- now = int128_min(remain, view->ranges[i].addr.size); +- int128_addto(&base, now); +- offset_in_region += int128_get64(now); +- int128_subfrom(&remain, now); +- } ++ now = int128_sub(int128_min(int128_add(base, remain), ++ addrrange_end(view->ranges[i].addr)), ++ base); ++ int128_addto(&base, now); ++ offset_in_region += int128_get64(now); ++ int128_subfrom(&remain, now); + } + if (int128_nz(remain)) { + fr.mr = mr; +-- +1.8.0.2 + diff --git a/0313-s390x-fix-initrd-in-virtio-machine.patch b/0313-s390x-fix-initrd-in-virtio-machine.patch new file mode 100644 index 0000000..25f40a8 --- /dev/null +++ b/0313-s390x-fix-initrd-in-virtio-machine.patch @@ -0,0 +1,37 @@ +From a89b91d1d8a0bf914c44deaca4f743de6971bdc7 Mon Sep 17 00:00:00 2001 +From: Alexander Graf +Date: Wed, 19 Sep 2012 17:24:46 +0200 +Subject: [PATCH] s390x: fix -initrd in virtio machine + +When using -initrd in the virtio machine, we need to indicate the initrd +start and size inside the kernel image. These parameters need to be stored +in native endianness. + +Signed-off-by: Alexander Graf +Acked-by: Richard Henderson +Acked-by: Christian Borntraeger +(cherry picked from commit 235a3f0bed3584fe65079ffa07c7a842971f261e) + +Signed-off-by: Michael Roth +--- + hw/s390-virtio.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/s390-virtio.c b/hw/s390-virtio.c +index 47eed35..12ae612 100644 +--- a/hw/s390-virtio.c ++++ b/hw/s390-virtio.c +@@ -284,8 +284,8 @@ static void s390_init(ram_addr_t my_ram_size, + } + + /* we have to overwrite values in the kernel image, which are "rom" */ +- memcpy(rom_ptr(INITRD_PARM_START), &initrd_offset, 8); +- memcpy(rom_ptr(INITRD_PARM_SIZE), &initrd_size, 8); ++ stq_p(rom_ptr(INITRD_PARM_START), initrd_offset); ++ stq_p(rom_ptr(INITRD_PARM_SIZE), initrd_size); + } + + if (rom_ptr(KERN_PARM_AREA)) { +-- +1.8.0.2 + diff --git a/0314-PPC-Bamboo-Fix-memory-size-DT-property.patch b/0314-PPC-Bamboo-Fix-memory-size-DT-property.patch new file mode 100644 index 0000000..a40ac4c --- /dev/null +++ b/0314-PPC-Bamboo-Fix-memory-size-DT-property.patch @@ -0,0 +1,33 @@ +From ef7b114db1a56aaa69cb872ea0212a8cbe5c438d Mon Sep 17 00:00:00 2001 +From: Alexander Graf +Date: Sat, 6 Oct 2012 02:02:05 +0200 +Subject: [PATCH] PPC: Bamboo: Fix memory size DT property + +Device tree properties need to be specified in big endian. Fix the +bamboo memory size property accordingly. + +Signed-off-by: Alexander Graf +CC: qemu-stable@nongnu.org +(cherry picked from commit 5232fa59b17b45c04bd24e0d38224964816bf391) + +Signed-off-by: Michael Roth +--- + hw/ppc440_bamboo.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/ppc440_bamboo.c b/hw/ppc440_bamboo.c +index c198071..9286438 100644 +--- a/hw/ppc440_bamboo.c ++++ b/hw/ppc440_bamboo.c +@@ -59,7 +59,7 @@ static int bamboo_load_device_tree(target_phys_addr_t addr, + { + int ret = -1; + #ifdef CONFIG_FDT +- uint32_t mem_reg_property[] = { 0, 0, ramsize }; ++ uint32_t mem_reg_property[] = { 0, 0, cpu_to_be32(ramsize) }; + char *filename; + int fdt_size; + void *fdt; +-- +1.8.0.2 + diff --git a/0315-target-sparc64-disable-VGA-cirrus.patch b/0315-target-sparc64-disable-VGA-cirrus.patch new file mode 100644 index 0000000..55a8715 --- /dev/null +++ b/0315-target-sparc64-disable-VGA-cirrus.patch @@ -0,0 +1,37 @@ +From d88afebe37fbaf40a5f43c1c82609abc69a629b3 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Mon, 22 Oct 2012 00:50:58 +0200 +Subject: [PATCH] target-sparc64: disable VGA cirrus + +OpenBIOS on sparc64 only support Standard VGA and not Cirrus VGA. Don't +build Cirrus VGA support so that it can't be selected. + +This fixes the breakage introduced by commit f2898771. + +Reported-by: Richard Henderson +Cc: Blue Swirl +Signed-off-by: Aurelien Jarno +Tested-by: Richard Henderson +Signed-off-by: Blue Swirl +(cherry picked from commit 0356404b0f1da939657cad1efeb556745cd430d5) + +Signed-off-by: Michael Roth +--- + default-configs/sparc64-softmmu.mak | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/default-configs/sparc64-softmmu.mak b/default-configs/sparc64-softmmu.mak +index c9a36c1..03e8b42 100644 +--- a/default-configs/sparc64-softmmu.mak ++++ b/default-configs/sparc64-softmmu.mak +@@ -6,7 +6,6 @@ CONFIG_M48T59=y + CONFIG_PTIMER=y + CONFIG_VGA=y + CONFIG_VGA_PCI=y +-CONFIG_VGA_CIRRUS=y + CONFIG_SERIAL=y + CONFIG_PARALLEL=y + CONFIG_PCKBD=y +-- +1.8.0.2 + diff --git a/0316-xhci-fix-usb-name-in-caps.patch b/0316-xhci-fix-usb-name-in-caps.patch new file mode 100644 index 0000000..1f3e668 --- /dev/null +++ b/0316-xhci-fix-usb-name-in-caps.patch @@ -0,0 +1,40 @@ +From 57f23d23f079eaea5605e636ba3fa5d1bd2fe377 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Wed, 24 Oct 2012 16:19:21 +0200 +Subject: [PATCH] xhci: fix usb name in caps + +Used to be "UTB" not "USB". + +Signed-off-by: Gerd Hoffmann +(cherry picked from commit 0ebfb144e8ad3f2da436d630fdcc5aa9ab646341) + +Signed-off-by: Michael Roth +--- + hw/usb/hcd-xhci.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c +index 333df59..30cb0d5 100644 +--- a/hw/usb/hcd-xhci.c ++++ b/hw/usb/hcd-xhci.c +@@ -2098,7 +2098,7 @@ static uint32_t xhci_cap_read(XHCIState *xhci, uint32_t reg) + ret = 0x02000402; /* USB 2.0 */ + break; + case 0x24: /* Supported Protocol:04 */ +- ret = 0x20425455; /* "USB " */ ++ ret = 0x20425355; /* "USB " */ + break; + case 0x28: /* Supported Protocol:08 */ + ret = 0x00000001 | (USB2_PORTS<<8); +@@ -2110,7 +2110,7 @@ static uint32_t xhci_cap_read(XHCIState *xhci, uint32_t reg) + ret = 0x03000002; /* USB 3.0 */ + break; + case 0x34: /* Supported Protocol:04 */ +- ret = 0x20425455; /* "USB " */ ++ ret = 0x20425355; /* "USB " */ + break; + case 0x38: /* Supported Protocol:08 */ + ret = 0x00000000 | (USB2_PORTS+1) | (USB3_PORTS<<8); +-- +1.8.0.2 + diff --git a/0317-tools-initialize-main-loop-before-block-layer.patch b/0317-tools-initialize-main-loop-before-block-layer.patch new file mode 100644 index 0000000..178620a --- /dev/null +++ b/0317-tools-initialize-main-loop-before-block-layer.patch @@ -0,0 +1,57 @@ +From cea4225aa439953117384764cb5c0b3c3fc325d4 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Sat, 3 Nov 2012 18:10:17 +0100 +Subject: [PATCH] tools: initialize main loop before block layer + +Tools were broken because they initialized the block layer while +qemu_aio_context was still NULL. + +Reported-by: malc +Signed-off-by: Paolo Bonzini +Signed-off-by: malc +(cherry picked from commit 2592c59a66d456fe98fe96cb5787b356c40ee66f) + +Signed-off-by: Michael Roth +--- + qemu-img.c | 3 +-- + qemu-io.c | 3 +-- + 2 files changed, 2 insertions(+), 4 deletions(-) + +diff --git a/qemu-img.c b/qemu-img.c +index 7615e91..c90ae4a 100644 +--- a/qemu-img.c ++++ b/qemu-img.c +@@ -1698,14 +1698,13 @@ int main(int argc, char **argv) + + error_set_progname(argv[0]); + ++ qemu_init_main_loop(); + bdrv_init(); + if (argc < 2) + help(); + cmdname = argv[1]; + argc--; argv++; + +- qemu_init_main_loop(); +- + /* find the command */ + for(cmd = img_cmds; cmd->name != NULL; cmd++) { + if (!strcmp(cmdname, cmd->name)) { +diff --git a/qemu-io.c b/qemu-io.c +index d0f4fb7..1ad7d3a 100644 +--- a/qemu-io.c ++++ b/qemu-io.c +@@ -1892,9 +1892,8 @@ int main(int argc, char **argv) + exit(1); + } + +- bdrv_init(); +- + qemu_init_main_loop(); ++ bdrv_init(); + + /* initialize commands */ + quit_init(); +-- +1.8.0.2 + diff --git a/0318-m68k-Return-semihosting-errno-values-correctly.patch b/0318-m68k-Return-semihosting-errno-values-correctly.patch new file mode 100644 index 0000000..397a8a3 --- /dev/null +++ b/0318-m68k-Return-semihosting-errno-values-correctly.patch @@ -0,0 +1,39 @@ +From 85c9ce8e19f0a652e121144f6b6c21d618325363 Mon Sep 17 00:00:00 2001 +From: Meador Inge +Date: Mon, 29 Oct 2012 12:05:09 +0000 +Subject: [PATCH] m68k: Return semihosting errno values correctly +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Fixing a simple typo, s/errno/err/, that caused +the error status from GDB semihosted system calls +to be returned incorrectly. + +Signed-off-by: Meador Inge +Reviewed-by: Andreas Färber +Signed-off-by: Peter Maydell +Signed-off-by: Blue Swirl +(cherry picked from commit aed91c1bff5e568c7b0fbd0e1e7e2f9e62409e73) + +Signed-off-by: Michael Roth +--- + target-m68k/m68k-semi.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/target-m68k/m68k-semi.c b/target-m68k/m68k-semi.c +index 3bb30cd..fed44ea 100644 +--- a/target-m68k/m68k-semi.c ++++ b/target-m68k/m68k-semi.c +@@ -150,7 +150,7 @@ static void m68k_semi_cb(CPUM68KState *env, target_ulong ret, target_ulong err) + } + /* FIXME - handle put_user() failure */ + put_user_u32(ret, args); +- put_user_u32(errno, args + 4); ++ put_user_u32(err, args + 4); + } + + #define ARG(n) \ +-- +1.8.0.2 + diff --git a/0319-nbd-fixes-to-read-only-handling.patch b/0319-nbd-fixes-to-read-only-handling.patch new file mode 100644 index 0000000..fdefe80 --- /dev/null +++ b/0319-nbd-fixes-to-read-only-handling.patch @@ -0,0 +1,62 @@ +From bcbf10c15f43cfc079622c25ef282688965a7128 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Tue, 13 Nov 2012 10:34:17 +0100 +Subject: [PATCH] nbd: fixes to read-only handling + +We do not need BLKROSET if the kernel supports setting flags. +Also, always do BLKROSET even for a read-write export, otherwise +the read-only state remains "sticky" after the invocation of +"qemu-nbd -r". + +Signed-off-by: Paolo Bonzini +(cherry picked from commit c8969eded252058e90e91f12f75f32aceae46ec9) + +Signed-off-by: Michael Roth +--- + nbd.c | 25 ++++++++++++------------- + 1 file changed, 12 insertions(+), 13 deletions(-) + +diff --git a/nbd.c b/nbd.c +index 206f75c..19f6cd8 100644 +--- a/nbd.c ++++ b/nbd.c +@@ -399,24 +399,23 @@ int nbd_init(int fd, int csock, uint32_t flags, off_t size, size_t blocksize) + return -serrno; + } + +- if (flags & NBD_FLAG_READ_ONLY) { +- int read_only = 1; +- TRACE("Setting readonly attribute"); +- +- if (ioctl(fd, BLKROSET, (unsigned long) &read_only) < 0) { ++ if (ioctl(fd, NBD_SET_FLAGS, flags) < 0) { ++ if (errno == ENOTTY) { ++ int read_only = (flags & NBD_FLAG_READ_ONLY) != 0; ++ TRACE("Setting readonly attribute"); ++ ++ if (ioctl(fd, BLKROSET, (unsigned long) &read_only) < 0) { ++ int serrno = errno; ++ LOG("Failed setting read-only attribute"); ++ return -serrno; ++ } ++ } else { + int serrno = errno; +- LOG("Failed setting read-only attribute"); ++ LOG("Failed setting flags"); + return -serrno; + } + } + +- if (ioctl(fd, NBD_SET_FLAGS, flags) < 0 +- && errno != ENOTTY) { +- int serrno = errno; +- LOG("Failed setting flags"); +- return -serrno; +- } +- + TRACE("Negotiation ended"); + + return 0; +-- +1.8.0.2 + diff --git a/0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch b/0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch new file mode 100644 index 0000000..841a1d5 --- /dev/null +++ b/0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch @@ -0,0 +1,41 @@ +From e6cd59a324a330fe7fd50f3b91df4f34ad2ea111 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Wed, 14 Nov 2012 15:04:42 +0100 +Subject: [PATCH] mips/malta: fix CBUS UART interrupt pin + +According to the MIPS Malta Developement Platform User's Manual, the +i8259 interrupt controller is supposed to be connected to the hardware +IRQ0, and the CBUS UART to the hardware interrupt 2. + +In QEMU they are both connected to hardware interrupt 0, the CBUS UART +interrupt being wrong. This patch fixes that. It should be noted that +the irq array in QEMU includes the software interrupts, hence +env->irq[2] is the first hardware interrupt. + +Cc: Ralf Baechle +Reviewed-by: Eric Johnson +Signed-off-by: Aurelien Jarno +(cherry picked from commit 68d001928b151a0c50f367c0bdca645b3d5e9ed3) + +Signed-off-by: Michael Roth +--- + hw/mips_malta.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/hw/mips_malta.c b/hw/mips_malta.c +index ad23f26..9289a28 100644 +--- a/hw/mips_malta.c ++++ b/hw/mips_malta.c +@@ -860,7 +860,8 @@ void mips_malta_init (ram_addr_t ram_size, + be = 0; + #endif + /* FPGA */ +- malta_fpga_init(system_memory, FPGA_ADDRESS, env->irq[2], serial_hds[2]); ++ /* The CBUS UART is attached to the MIPS CPU INT2 pin, ie interrupt 4 */ ++ malta_fpga_init(system_memory, FPGA_ADDRESS, env->irq[4], serial_hds[2]); + + /* Load firmware in flash / BIOS. */ + dinfo = drive_get(IF_PFLASH, 0, fl_idx); +-- +1.8.0.2 + diff --git a/0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch b/0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch new file mode 100644 index 0000000..31f19ff --- /dev/null +++ b/0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch @@ -0,0 +1,38 @@ +From 7575e5a249f1bc38ee9498f2663771b1ccd7702e Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?=E9=99=B3=E9=9F=8B=E4=BB=BB=20=28Wei-Ren=20Chen=29?= + +Date: Wed, 14 Nov 2012 10:49:55 +0800 +Subject: [PATCH] target-mips: fix wrong microMIPS opcode encoding + +While reading microMIPS decoding, I found a possible wrong opcode +encoding. According to [1] page 166, the bits 13..12 for MULTU is +0x01 rather than 0x00. Please review, thanks. + +[1] MIPS Architecture for Programmers VolumeIV-e: The MIPS DSP + Application-Specific Extension to the microMIPS32 Architecture + +Signed-off-by: Chen Wei-Ren +Signed-off-by: Aurelien Jarno +(cherry picked from commit 6801038bc52d61f81ac8a25fbe392f1bad982887) + +Signed-off-by: Michael Roth +--- + target-mips/translate.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/target-mips/translate.c b/target-mips/translate.c +index 4e04e97..49907bb 100644 +--- a/target-mips/translate.c ++++ b/target-mips/translate.c +@@ -9486,7 +9486,7 @@ enum { + + /* bits 13..12 for 0x32 */ + MULT_ACC = 0x0, +- MULTU_ACC = 0x0, ++ MULTU_ACC = 0x1, + + /* bits 15..12 for 0x2c */ + SEB = 0x2, +-- +1.8.0.2 + diff --git a/0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch b/0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch new file mode 100644 index 0000000..a181d1a --- /dev/null +++ b/0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch @@ -0,0 +1,169 @@ +From 7482be857b0d55189020bef699b65903be9c256a Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Tue, 9 Oct 2012 21:53:11 +0200 +Subject: [PATCH] tcg/arm: fix TLB access in qemu-ld/st ops + +The TCG arm backend considers likely that the offset to the TLB +entries does not exceed 12 bits for mem_index = 0. In practice this is +not true for at least the MIPS target. + +The current patch fixes that by loading the bits 23-12 with a separate +instruction, and using loads with address writeback, independently of +the value of mem_idx. In total this allow a 24-bit offset, which is a +lot more than needed. + +Cc: Andrzej Zaborowski +Cc: Peter Maydell +Cc: qemu-stable@nongnu.org +Signed-off-by: Aurelien Jarno +(cherry picked from commit d17bd1d8cc27f8c1a24c65f555a77a661c332b7f) + +Signed-off-by: Michael Roth +--- + tcg/arm/tcg-target.c | 78 ++++++++++++++++++++++++++++------------------------ + 1 file changed, 42 insertions(+), 36 deletions(-) + +diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c +index aed3b53..fbad716 100644 +--- a/tcg/arm/tcg-target.c ++++ b/tcg/arm/tcg-target.c +@@ -630,6 +630,22 @@ static inline void tcg_out_ld32_12(TCGContext *s, int cond, + (rn << 16) | (rd << 12) | ((-im) & 0xfff)); + } + ++/* Offset pre-increment with base writeback. */ ++static inline void tcg_out_ld32_12wb(TCGContext *s, int cond, ++ int rd, int rn, tcg_target_long im) ++{ ++ /* ldr with writeback and both register equals is UNPREDICTABLE */ ++ assert(rd != rn); ++ ++ if (im >= 0) { ++ tcg_out32(s, (cond << 28) | 0x05b00000 | ++ (rn << 16) | (rd << 12) | (im & 0xfff)); ++ } else { ++ tcg_out32(s, (cond << 28) | 0x05300000 | ++ (rn << 16) | (rd << 12) | ((-im) & 0xfff)); ++ } ++} ++ + static inline void tcg_out_st32_12(TCGContext *s, int cond, + int rd, int rn, tcg_target_long im) + { +@@ -1062,7 +1078,7 @@ static inline void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, int opc) + { + int addr_reg, data_reg, data_reg2, bswap; + #ifdef CONFIG_SOFTMMU +- int mem_index, s_bits; ++ int mem_index, s_bits, tlb_offset; + TCGReg argreg; + # if TARGET_LONG_BITS == 64 + int addr_reg2; +@@ -1102,19 +1118,15 @@ static inline void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, int opc) + TCG_REG_R0, TCG_REG_R8, CPU_TLB_SIZE - 1); + tcg_out_dat_reg(s, COND_AL, ARITH_ADD, TCG_REG_R0, TCG_AREG0, + TCG_REG_R0, SHIFT_IMM_LSL(CPU_TLB_ENTRY_BITS)); +- /* In the +- * ldr r1 [r0, #(offsetof(CPUArchState, tlb_table[mem_index][0].addr_read))] +- * below, the offset is likely to exceed 12 bits if mem_index != 0 and +- * not exceed otherwise, so use an +- * add r0, r0, #(mem_index * sizeof *CPUArchState.tlb_table) +- * before. +- */ +- if (mem_index) ++ /* We assume that the offset is contained within 20 bits. */ ++ tlb_offset = offsetof(CPUArchState, tlb_table[mem_index][0].addr_read); ++ assert(tlb_offset & ~0xfffff == 0); ++ if (tlb_offset > 0xfff) { + tcg_out_dat_imm(s, COND_AL, ARITH_ADD, TCG_REG_R0, TCG_REG_R0, +- (mem_index << (TLB_SHIFT & 1)) | +- ((16 - (TLB_SHIFT >> 1)) << 8)); +- tcg_out_ld32_12(s, COND_AL, TCG_REG_R1, TCG_REG_R0, +- offsetof(CPUArchState, tlb_table[0][0].addr_read)); ++ 0xa00 | (tlb_offset >> 12)); ++ tlb_offset &= 0xfff; ++ } ++ tcg_out_ld32_12wb(s, COND_AL, TCG_REG_R1, TCG_REG_R0, tlb_offset); + tcg_out_dat_reg(s, COND_AL, ARITH_CMP, 0, TCG_REG_R1, + TCG_REG_R8, SHIFT_IMM_LSL(TARGET_PAGE_BITS)); + /* Check alignment. */ +@@ -1122,15 +1134,14 @@ static inline void tcg_out_qemu_ld(TCGContext *s, const TCGArg *args, int opc) + tcg_out_dat_imm(s, COND_EQ, ARITH_TST, + 0, addr_reg, (1 << s_bits) - 1); + # if TARGET_LONG_BITS == 64 +- /* XXX: possibly we could use a block data load or writeback in +- * the first access. */ +- tcg_out_ld32_12(s, COND_EQ, TCG_REG_R1, TCG_REG_R0, +- offsetof(CPUArchState, tlb_table[0][0].addr_read) + 4); ++ /* XXX: possibly we could use a block data load in the first access. */ ++ tcg_out_ld32_12(s, COND_EQ, TCG_REG_R1, TCG_REG_R0, 4); + tcg_out_dat_reg(s, COND_EQ, ARITH_CMP, 0, + TCG_REG_R1, addr_reg2, SHIFT_IMM_LSL(0)); + # endif + tcg_out_ld32_12(s, COND_EQ, TCG_REG_R1, TCG_REG_R0, +- offsetof(CPUArchState, tlb_table[0][0].addend)); ++ offsetof(CPUTLBEntry, addend) ++ - offsetof(CPUTLBEntry, addr_read)); + + switch (opc) { + case 0: +@@ -1288,7 +1299,7 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, int opc) + { + int addr_reg, data_reg, data_reg2, bswap; + #ifdef CONFIG_SOFTMMU +- int mem_index, s_bits; ++ int mem_index, s_bits, tlb_offset; + TCGReg argreg; + # if TARGET_LONG_BITS == 64 + int addr_reg2; +@@ -1325,19 +1336,15 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, int opc) + TCG_REG_R0, TCG_REG_R8, CPU_TLB_SIZE - 1); + tcg_out_dat_reg(s, COND_AL, ARITH_ADD, TCG_REG_R0, + TCG_AREG0, TCG_REG_R0, SHIFT_IMM_LSL(CPU_TLB_ENTRY_BITS)); +- /* In the +- * ldr r1 [r0, #(offsetof(CPUArchState, tlb_table[mem_index][0].addr_write))] +- * below, the offset is likely to exceed 12 bits if mem_index != 0 and +- * not exceed otherwise, so use an +- * add r0, r0, #(mem_index * sizeof *CPUArchState.tlb_table) +- * before. +- */ +- if (mem_index) ++ /* We assume that the offset is contained within 20 bits. */ ++ tlb_offset = offsetof(CPUArchState, tlb_table[mem_index][0].addr_write); ++ assert(tlb_offset & ~0xfffff == 0); ++ if (tlb_offset > 0xfff) { + tcg_out_dat_imm(s, COND_AL, ARITH_ADD, TCG_REG_R0, TCG_REG_R0, +- (mem_index << (TLB_SHIFT & 1)) | +- ((16 - (TLB_SHIFT >> 1)) << 8)); +- tcg_out_ld32_12(s, COND_AL, TCG_REG_R1, TCG_REG_R0, +- offsetof(CPUArchState, tlb_table[0][0].addr_write)); ++ 0xa00 | (tlb_offset >> 12)); ++ tlb_offset &= 0xfff; ++ } ++ tcg_out_ld32_12wb(s, COND_AL, TCG_REG_R1, TCG_REG_R0, tlb_offset); + tcg_out_dat_reg(s, COND_AL, ARITH_CMP, 0, TCG_REG_R1, + TCG_REG_R8, SHIFT_IMM_LSL(TARGET_PAGE_BITS)); + /* Check alignment. */ +@@ -1345,15 +1352,14 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, int opc) + tcg_out_dat_imm(s, COND_EQ, ARITH_TST, + 0, addr_reg, (1 << s_bits) - 1); + # if TARGET_LONG_BITS == 64 +- /* XXX: possibly we could use a block data load or writeback in +- * the first access. */ +- tcg_out_ld32_12(s, COND_EQ, TCG_REG_R1, TCG_REG_R0, +- offsetof(CPUArchState, tlb_table[0][0].addr_write) + 4); ++ /* XXX: possibly we could use a block data load in the first access. */ ++ tcg_out_ld32_12(s, COND_EQ, TCG_REG_R1, TCG_REG_R0, 4); + tcg_out_dat_reg(s, COND_EQ, ARITH_CMP, 0, + TCG_REG_R1, addr_reg2, SHIFT_IMM_LSL(0)); + # endif + tcg_out_ld32_12(s, COND_EQ, TCG_REG_R1, TCG_REG_R0, +- offsetof(CPUArchState, tlb_table[0][0].addend)); ++ offsetof(CPUTLBEntry, addend) ++ - offsetof(CPUTLBEntry, addr_write)); + + switch (opc) { + case 0: +-- +1.8.0.2 + diff --git a/0323-tcg-arm-fix-cross-endian-qemu_st16.patch b/0323-tcg-arm-fix-cross-endian-qemu_st16.patch new file mode 100644 index 0000000..a4ba0d9 --- /dev/null +++ b/0323-tcg-arm-fix-cross-endian-qemu_st16.patch @@ -0,0 +1,77 @@ +From c6f924c195da25e7211db91abfe0f2942d631509 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Tue, 9 Oct 2012 21:53:11 +0200 +Subject: [PATCH] tcg/arm: fix cross-endian qemu_st16 + +The bswap16 TCG opcode assumes that the high bytes of the temp equal +to 0 before calling it. The ARM backend implementation takes this +assumption to slightly optimize the generated code. + +The same implementation is called for implementing the cross-endian +qemu_st16 opcode, where this assumption is not true anymore. One way to +fix that would be to zero the high bytes before calling it. Given the +store instruction just ignore them, it is possible to provide a slightly +more optimized version. With ARMv6+ the rev16 instruction does the work +correctly. For lower ARM versions the patch provides a version which +behaves correctly with non-zero high bytes, but fill them with junk. + +Cc: Andrzej Zaborowski +Cc: Peter Maydell +Cc: qemu-stable@nongnu.org +Reviewed-by: Peter Maydell +Signed-off-by: Aurelien Jarno +(cherry picked from commit 7aab08aa786e3a8838beac758ee61c5000144937) + +Signed-off-by: Michael Roth +--- + tcg/arm/tcg-target.c | 20 ++++++++++++++++++-- + 1 file changed, 18 insertions(+), 2 deletions(-) + +diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c +index fbad716..83aa856 100644 +--- a/tcg/arm/tcg-target.c ++++ b/tcg/arm/tcg-target.c +@@ -602,6 +602,22 @@ static inline void tcg_out_bswap16(TCGContext *s, int cond, int rd, int rn) + } + } + ++/* swap the two low bytes assuming that the two high input bytes and the ++ two high output bit can hold any value. */ ++static inline void tcg_out_bswap16st(TCGContext *s, int cond, int rd, int rn) ++{ ++ if (use_armv6_instructions) { ++ /* rev16 */ ++ tcg_out32(s, 0x06bf0fb0 | (cond << 28) | (rd << 12) | rn); ++ } else { ++ tcg_out_dat_reg(s, cond, ARITH_MOV, ++ TCG_REG_R8, 0, rn, SHIFT_IMM_LSR(8)); ++ tcg_out_dat_imm(s, cond, ARITH_AND, TCG_REG_R8, TCG_REG_R8, 0xff); ++ tcg_out_dat_reg(s, cond, ARITH_ORR, ++ rd, TCG_REG_R8, rn, SHIFT_IMM_LSL(8)); ++ } ++} ++ + static inline void tcg_out_bswap32(TCGContext *s, int cond, int rd, int rn) + { + if (use_armv6_instructions) { +@@ -1367,7 +1383,7 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, int opc) + break; + case 1: + if (bswap) { +- tcg_out_bswap16(s, COND_EQ, TCG_REG_R0, data_reg); ++ tcg_out_bswap16st(s, COND_EQ, TCG_REG_R0, data_reg); + tcg_out_st16_r(s, COND_EQ, TCG_REG_R0, addr_reg, TCG_REG_R1); + } else { + tcg_out_st16_r(s, COND_EQ, data_reg, addr_reg, TCG_REG_R1); +@@ -1453,7 +1469,7 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, int opc) + break; + case 1: + if (bswap) { +- tcg_out_bswap16(s, COND_AL, TCG_REG_R0, data_reg); ++ tcg_out_bswap16st(s, COND_AL, TCG_REG_R0, data_reg); + tcg_out_st16_8(s, COND_AL, TCG_REG_R0, addr_reg, 0); + } else { + tcg_out_st16_8(s, COND_AL, data_reg, addr_reg, 0); +-- +1.8.0.2 + diff --git a/0324-target-openrisc-remove-conflicting-definitions-from-.patch b/0324-target-openrisc-remove-conflicting-definitions-from-.patch new file mode 100644 index 0000000..fc77240 --- /dev/null +++ b/0324-target-openrisc-remove-conflicting-definitions-from-.patch @@ -0,0 +1,52 @@ +From 1a51e9b66a61238e56668d647a74a6ceeeeaa727 Mon Sep 17 00:00:00 2001 +From: Aurelien Jarno +Date: Tue, 9 Oct 2012 21:53:12 +0200 +Subject: [PATCH] target-openrisc: remove conflicting definitions from cpu.h + +On an ARM host, the registers definitions from cpu.h clash +with /usr/include/sys/ucontext.h. As there are unused, just remove +them. + +Cc: Jia Liu +Cc: qemu-stable@nongnu.org +Reviewed-by: Peter Maydell +Signed-off-by: Aurelien Jarno +(cherry picked from commit 44e04d3b945ba6f5cc87e65192081da4783f73fa) + +Signed-off-by: Michael Roth +--- + target-openrisc/cpu.h | 18 ------------------ + 1 file changed, 18 deletions(-) + +diff --git a/target-openrisc/cpu.h b/target-openrisc/cpu.h +index de21a87..244788c 100644 +--- a/target-openrisc/cpu.h ++++ b/target-openrisc/cpu.h +@@ -89,24 +89,6 @@ enum { + /* Interrupt */ + #define NR_IRQS 32 + +-/* Registers */ +-enum { +- R0 = 0, R1, R2, R3, R4, R5, R6, R7, R8, R9, R10, +- R11, R12, R13, R14, R15, R16, R17, R18, R19, R20, +- R21, R22, R23, R24, R25, R26, R27, R28, R29, R30, +- R31 +-}; +- +-/* Register aliases */ +-enum { +- R_ZERO = R0, +- R_SP = R1, +- R_FP = R2, +- R_LR = R9, +- R_RV = R11, +- R_RVH = R12 +-}; +- + /* Unit presece register */ + enum { + UPR_UP = (1 << 0), +-- +1.8.0.2 + diff --git a/0325-configure-avoid-compiler-warning-in-pipe2-detection.patch b/0325-configure-avoid-compiler-warning-in-pipe2-detection.patch new file mode 100644 index 0000000..fe952fa --- /dev/null +++ b/0325-configure-avoid-compiler-warning-in-pipe2-detection.patch @@ -0,0 +1,38 @@ +From b61abbc18c7ba7cfb58a0d3a51fb377f4a5af5e4 Mon Sep 17 00:00:00 2001 +From: Bruce Rogers +Date: Mon, 20 Aug 2012 12:45:08 -0600 +Subject: [PATCH] configure: avoid compiler warning in pipe2 detection + +When building qemu-kvm for openSUSE:Factory, I am getting a +warning in the pipe2 detection performed by configure, which +prevents using --enable-werror. + +Change detection code to use return value of pipe2. + +Signed-off-by: Bruce Rogers +Reviewed-by: Peter Maydell +Signed-off-by: Blue Swirl +(cherry picked from commit 9bca81624ef9299b9a06013fd29cd6899079aab4) + +Signed-off-by: Michael Roth +--- + configure | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/configure b/configure +index 4d11fe3..9129433 100755 +--- a/configure ++++ b/configure +@@ -2399,8 +2399,7 @@ cat > $TMPC << EOF + int main(void) + { + int pipefd[2]; +- pipe2(pipefd, O_CLOEXEC); +- return 0; ++ return pipe2(pipefd, O_CLOEXEC); + } + EOF + if compile_prog "" "" ; then +-- +1.8.0.2 + diff --git a/0326-qcow2-Fix-refcount-table-size-calculation.patch b/0326-qcow2-Fix-refcount-table-size-calculation.patch new file mode 100644 index 0000000..ec32c1a --- /dev/null +++ b/0326-qcow2-Fix-refcount-table-size-calculation.patch @@ -0,0 +1,36 @@ +From 1687a813ebbb6915be5c103ba99221d11db5647f Mon Sep 17 00:00:00 2001 +From: Kevin Wolf +Date: Fri, 26 Oct 2012 16:33:32 +0200 +Subject: [PATCH] qcow2: Fix refcount table size calculation + +A missing factor for the refcount table entry size in the calculation +could mean that too little memory was allocated for the in-memory +representation of the table, resulting in a buffer overflow. + +Signed-off-by: Kevin Wolf +Reviewed-by: Michael Tokarev +Tested-by: Michael Tokarev +(cherry picked from commit a3548077062dd9dc2701ebffd931ba6eaef40bec) + +Signed-off-by: Michael Roth +--- + block/qcow2-refcount.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c +index 5e3f915..96224d1 100644 +--- a/block/qcow2-refcount.c ++++ b/block/qcow2-refcount.c +@@ -301,7 +301,8 @@ static int alloc_refcount_block(BlockDriverState *bs, + uint64_t last_table_size; + uint64_t blocks_clusters; + do { +- uint64_t table_clusters = size_to_clusters(s, table_size); ++ uint64_t table_clusters = ++ size_to_clusters(s, table_size * sizeof(uint64_t)); + blocks_clusters = 1 + + ((table_clusters + refcount_block_clusters - 1) + / refcount_block_clusters); +-- +1.8.0.2 + diff --git a/0327-tci-Fix-type-of-tci_read_label.patch b/0327-tci-Fix-type-of-tci_read_label.patch new file mode 100644 index 0000000..82dbb6b --- /dev/null +++ b/0327-tci-Fix-type-of-tci_read_label.patch @@ -0,0 +1,39 @@ +From e261b15047dbc9f8309f4e6b94b84f530402edc2 Mon Sep 17 00:00:00 2001 +From: Richard Henderson +Date: Mon, 19 Nov 2012 12:43:14 -0800 +Subject: [PATCH] tci: Fix type of tci_read_label + +Fixes the pointer truncation that was occurring for branches. + +Cc: Stefan Weil +Cc: Blue Swirl +Signed-off-by: Richard Henderson +Reviewed-by: Stefan Weil +Tested-by: Stefan Weil +Signed-off-by: Blue Swirl +(cherry picked from commit c6c5063c7a5bb1d3fe6b9931a1ec15294e39b8b1) + +Signed-off-by: Michael Roth +--- + tci.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/tci.c b/tci.c +index a4f7b78..bb456d2 100644 +--- a/tci.c ++++ b/tci.c +@@ -338,9 +338,9 @@ static uint64_t tci_read_ri64(uint8_t **tb_ptr) + } + #endif + +-static target_ulong tci_read_label(uint8_t **tb_ptr) ++static tcg_target_ulong tci_read_label(uint8_t **tb_ptr) + { +- target_ulong label = tci_read_i(tb_ptr); ++ tcg_target_ulong label = tci_read_i(tb_ptr); + assert(label != 0); + return label; + } +-- +1.8.0.2 + diff --git a/0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch b/0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch new file mode 100644 index 0000000..7e864bf --- /dev/null +++ b/0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch @@ -0,0 +1,41 @@ +From 9eeac8cebac645531dd0b9d79710bea732e76c40 Mon Sep 17 00:00:00 2001 +From: Stefan Weil +Date: Thu, 22 Nov 2012 07:25:48 +0100 +Subject: [PATCH] block: Fix regression for MinGW (assertion caused by short + string) + +The local string tmp_filename is passed to function get_tmp_filename +which expects a string with minimum size MAX_PATH for w32 hosts. + +MAX_PATH is 260 and PATH_MAX is 259, so tmp_filename was too short. + +Commit eba25057b9a5e19d10ace2bc7716667a31297169 introduced this +regression. + +Signed-off-by: Stefan Weil +Reviewed-by: Stefan Hajnoczi +Signed-off-by: Blue Swirl +(cherry picked from commit 89c9bc3d147fdaa932db99b0463b4af1d3e7cda1) + +Signed-off-by: Michael Roth +--- + block.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/block.c b/block.c +index 4c0e7f5..e49a999 100644 +--- a/block.c ++++ b/block.c +@@ -739,7 +739,8 @@ int bdrv_open(BlockDriverState *bs, const char *filename, int flags, + BlockDriver *drv) + { + int ret; +- char tmp_filename[PATH_MAX]; ++ /* TODO: extra byte is a hack to ensure MAX_PATH space on Windows. */ ++ char tmp_filename[PATH_MAX + 1]; + + if (flags & BDRV_O_SNAPSHOT) { + BlockDriverState *bs1; +-- +1.8.0.2 + diff --git a/0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch b/0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch new file mode 100644 index 0000000..2faa00e --- /dev/null +++ b/0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch @@ -0,0 +1,44 @@ +From 6ec7c05b9b753df2058dda52b10b6943a5626036 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Fri, 23 Nov 2012 16:56:17 +0100 +Subject: [PATCH] qom: dynamic_cast of NULL is always NULL + +Trying to cast a NULL value will cause a crash. Returning +NULL is also sensible, and it is also what the type-unsafe +DO_UPCAST macro does. + +Reported-by: Markus Armbruster +Signed-off-by: Paolo Bonzini +Signed-off-by: Anthony Liguori +(cherry picked from commit b7f43fe46029d8fd0594cd599fa2599dcce0f553) + +Signed-off-by: Michael Roth +--- + qom/object.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/qom/object.c b/qom/object.c +index e3e9242..f33e84d 100644 +--- a/qom/object.c ++++ b/qom/object.c +@@ -417,7 +417,7 @@ void object_delete(Object *obj) + + Object *object_dynamic_cast(Object *obj, const char *typename) + { +- if (object_class_dynamic_cast(object_get_class(obj), typename)) { ++ if (obj && object_class_dynamic_cast(object_get_class(obj), typename)) { + return obj; + } + +@@ -430,7 +430,7 @@ Object *object_dynamic_cast_assert(Object *obj, const char *typename) + + inst = object_dynamic_cast(obj, typename); + +- if (!inst) { ++ if (!inst && obj) { + fprintf(stderr, "Object %p is not an instance of type %s\n", + obj, typename); + abort(); +-- +1.8.0.2 + diff --git a/0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch b/0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch new file mode 100644 index 0000000..b7a710f --- /dev/null +++ b/0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch @@ -0,0 +1,46 @@ +From 7c0aea40a3318d914d791f23a85d0c488cae60fe Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Fri, 23 Nov 2012 16:56:18 +0100 +Subject: [PATCH] hmp: do not crash on invalid SCSI hotplug + +Commit 0d93692 (qdev: Convert busses to QEMU Object Model, 2012-05-02) +removed a check on the type of the bus where a SCSI disk is hotplugged. +However, hot-plugging to the wrong kind of device now causes a crash +due to either a NULL pointer dereference (avoided by the previous patch) +or a failed QOM cast. + +Instead, in this case we need to use object_dynamic_cast and check for +the result, similar to what was done before that commit. + +Reported-by: Markus Armbruster +Signed-off-by: Paolo Bonzini +Signed-off-by: Anthony Liguori +(cherry picked from commit b5007bcc9729acd995518c52eb1038c4d8416b5d) + +Signed-off-by: Michael Roth +--- + hw/pci-hotplug.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/hw/pci-hotplug.c b/hw/pci-hotplug.c +index e7fb780..0ca5546 100644 +--- a/hw/pci-hotplug.c ++++ b/hw/pci-hotplug.c +@@ -80,7 +80,13 @@ static int scsi_hot_add(Monitor *mon, DeviceState *adapter, + SCSIBus *scsibus; + SCSIDevice *scsidev; + +- scsibus = SCSI_BUS(QLIST_FIRST(&adapter->child_bus)); ++ scsibus = (SCSIBus *) ++ object_dynamic_cast(OBJECT(QLIST_FIRST(&adapter->child_bus)), ++ TYPE_SCSI_BUS); ++ if (!scsibus) { ++ error_report("Device is not a SCSI adapter"); ++ return -1; ++ } + + /* + * drive_init() tries to find a default for dinfo->unit. Doesn't +-- +1.8.0.2 + diff --git a/0331-PPC-Fix-missing-TRACE-exception.patch b/0331-PPC-Fix-missing-TRACE-exception.patch new file mode 100644 index 0000000..da3348a --- /dev/null +++ b/0331-PPC-Fix-missing-TRACE-exception.patch @@ -0,0 +1,85 @@ +From 1e597afb2b3581ddcda1eeac81475452520ae43f Mon Sep 17 00:00:00 2001 +From: Julio Guerra +Date: Fri, 19 Oct 2012 00:17:13 +0000 +Subject: [PATCH] PPC: Fix missing TRACE exception + +This patch fixes bug 1031698 : +https://bugs.launchpad.net/qemu/+bug/1031698 + +If we look at the (truncated) translation of the conditional branch +instruction in the test submitted in the bug post, the call to the +exception helper is missing in the "bne-false" chunk of translated +code : + +IN: +bne- 0x1800278 + +OUT: +0xb544236d: jne 0xb5442396 + +0xb5442373: mov %ebp,(%esp) +0xb5442376: mov $0x44,%ebx +0xb544237b: mov %ebx,0x4(%esp) +0xb544237f: mov $0x1800278,%ebx +0xb5442384: mov %ebx,0x25c(%ebp) +0xb544238a: call 0x827475a + ^^^^^^^^^^^^^^^^^^ + +0xb5442396: mov %ebp,(%esp) +0xb5442399: mov $0x44,%ebx +0xb544239e: mov %ebx,0x4(%esp) +0xb54423a2: mov $0x1800270,%ebx +0xb54423a7: mov %ebx,0x25c(%ebp) + +Indeed, gen_exception(ctx, excp) called by gen_goto_tb (called by +gen_bcond) changes ctx->exception's value to excp's : + +gen_bcond() +{ + gen_goto_tb(ctx, 0, ctx->nip + li - 4); + /* ctx->exception value is POWERPC_EXCP_BRANCH */ + + gen_goto_tb(ctx, 1, ctx->nip); + /* ctx->exception now value is POWERPC_EXCP_TRACE */ +} + +Making the following gen_goto_tb()'s test false during the second call : + +if ((ctx->singlestep_enabled & + (CPU_BRANCH_STEP | CPU_SINGLE_STEP)) && + ctx->exception == POWERPC_EXCP_BRANCH /* false...*/) { + target_ulong tmp = ctx->nip; + ctx->nip = dest; + /* ... and this is the missing call */ + gen_exception(ctx, POWERPC_EXCP_TRACE); + ctx->nip = tmp; +} + +So the patch simply adds the missing matching case, fixing our problem. + +Signed-off-by: Julio Guerra +Signed-off-by: Alexander Graf +(cherry picked from commit f0cc4aa8450376ca2aee3ebb09db71f9f2ff333b) + +Signed-off-by: Michael Roth +--- + target-ppc/translate.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/target-ppc/translate.c b/target-ppc/translate.c +index ac915cc..3c49ca9 100644 +--- a/target-ppc/translate.c ++++ b/target-ppc/translate.c +@@ -3466,7 +3466,8 @@ static inline void gen_goto_tb(DisasContext *ctx, int n, target_ulong dest) + if (unlikely(ctx->singlestep_enabled)) { + if ((ctx->singlestep_enabled & + (CPU_BRANCH_STEP | CPU_SINGLE_STEP)) && +- ctx->exception == POWERPC_EXCP_BRANCH) { ++ (ctx->exception == POWERPC_EXCP_BRANCH || ++ ctx->exception == POWERPC_EXCP_TRACE)) { + target_ulong tmp = ctx->nip; + ctx->nip = dest; + gen_exception(ctx, POWERPC_EXCP_TRACE); +-- +1.8.0.2 + diff --git a/0332-qom-fix-refcount-of-non-heap-allocated-objects.patch b/0332-qom-fix-refcount-of-non-heap-allocated-objects.patch new file mode 100644 index 0000000..893a667 --- /dev/null +++ b/0332-qom-fix-refcount-of-non-heap-allocated-objects.patch @@ -0,0 +1,50 @@ +From 3f7b149e9d80fee4274dfaf46eb7989420a9f046 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Fri, 23 Nov 2012 09:47:12 +0100 +Subject: [PATCH] qom: fix refcount of non-heap-allocated objects +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +The reference count for embedded objects is always one too low, because +object_initialize_with_type returns with zero references to the object. +This causes premature finalization of the object (or an assertion failure) +after calling object_ref to add an extra reference and object_unref to +remove it. + +The fix is to move the initial object_ref call from object_new_with_type +to object_initialize_with_type. + +Acked-by: Andreas Färber +Signed-off-by: Paolo Bonzini +Signed-off-by: Anthony Liguori +(cherry picked from commit 764b63125a77dab54ed405d493452a4e05679c2e) + +Signed-off-by: Michael Roth +--- + qom/object.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qom/object.c b/qom/object.c +index f33e84d..5499318 100644 +--- a/qom/object.c ++++ b/qom/object.c +@@ -307,6 +307,7 @@ void object_initialize_with_type(void *data, TypeImpl *type) + + memset(obj, 0, type->instance_size); + obj->class = type->class; ++ object_ref(obj); + QTAILQ_INIT(&obj->properties); + object_init_with_type(obj, type); + } +@@ -395,7 +396,6 @@ Object *object_new_with_type(Type type) + + obj = g_malloc(type->instance_size); + object_initialize_with_type(obj, type); +- object_ref(obj); + + return obj; + } +-- +1.8.0.2 + diff --git a/0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch b/0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch new file mode 100644 index 0000000..f808218 --- /dev/null +++ b/0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch @@ -0,0 +1,57 @@ +From 0e647462940092c7af035c69613c799fd65bd0cb Mon Sep 17 00:00:00 2001 +From: Stefan Hajnoczi +Date: Mon, 26 Nov 2012 13:10:12 +0100 +Subject: [PATCH] qapi: handle visitor->type_size() in QapiDeallocVisitor +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +visit_type_size() requires either visitor->type_size() or +visitor_uint64() to be implemented, otherwise a NULL function pointer is +invoked. + +It is possible to trigger this crash as follows: + + $ qemu-system-x86_64 -netdev tap,sndbuf=0,id=netdev0 \ + -device virtio-blk-pci,netdev=netdev0 + +The 'sndbuf' option has type "size". + +Reviewed-by: Andreas Färber +Reviewed-by: Michael Roth +Signed-off-by: Stefan Hajnoczi +Signed-off-by: Anthony Liguori +(cherry picked from commit 0c26f2eca40d6c65ea9edc62a10e510dc7f65cc8) + +Signed-off-by: Michael Roth +--- + qapi/qapi-dealloc-visitor.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/qapi/qapi-dealloc-visitor.c b/qapi/qapi-dealloc-visitor.c +index a154523..a07b171 100644 +--- a/qapi/qapi-dealloc-visitor.c ++++ b/qapi/qapi-dealloc-visitor.c +@@ -132,6 +132,11 @@ static void qapi_dealloc_type_number(Visitor *v, double *obj, const char *name, + { + } + ++static void qapi_dealloc_type_size(Visitor *v, size_t *obj, const char *name, ++ Error **errp) ++{ ++} ++ + static void qapi_dealloc_type_enum(Visitor *v, int *obj, const char *strings[], + const char *kind, const char *name, + Error **errp) +@@ -164,6 +169,7 @@ QapiDeallocVisitor *qapi_dealloc_visitor_new(void) + v->visitor.type_bool = qapi_dealloc_type_bool; + v->visitor.type_str = qapi_dealloc_type_str; + v->visitor.type_number = qapi_dealloc_type_number; ++ v->visitor.type_size = qapi_dealloc_type_size; + + QTAILQ_INIT(&v->stack); + +-- +1.8.0.2 + diff --git a/0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch b/0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch new file mode 100644 index 0000000..f80ef25 --- /dev/null +++ b/0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch @@ -0,0 +1,36 @@ +From 191a171e02de164ae03e0f90a6cdead6e2bd029f Mon Sep 17 00:00:00 2001 +From: Bruce Rogers +Date: Tue, 27 Nov 2012 13:11:25 -0700 +Subject: [PATCH] qapi: fix qapi_dealloc_type_size parameter type + +The second parameter to qapi_dealloc_type_size should be a uint64_t *, +not a size_t *. This was causing our 32 bit x86 build to fail, since +warnings are treated as errors. + +Signed-off-by: Bruce Rogers +Reviewed-by: Michael Roth +Reviewed-by: Stefan Weil +Signed-off-by: Luiz Capitulino +(cherry picked from commit 1d16252652688a775b244fffa1b9ac9b719ceffc) + +Signed-off-by: Michael Roth +--- + qapi/qapi-dealloc-visitor.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/qapi/qapi-dealloc-visitor.c b/qapi/qapi-dealloc-visitor.c +index a07b171..75214e7 100644 +--- a/qapi/qapi-dealloc-visitor.c ++++ b/qapi/qapi-dealloc-visitor.c +@@ -132,7 +132,7 @@ static void qapi_dealloc_type_number(Visitor *v, double *obj, const char *name, + { + } + +-static void qapi_dealloc_type_size(Visitor *v, size_t *obj, const char *name, ++static void qapi_dealloc_type_size(Visitor *v, uint64_t *obj, const char *name, + Error **errp) + { + } +-- +1.8.0.2 + diff --git a/0335-iscsi-fix-segfault-in-url-parsing.patch b/0335-iscsi-fix-segfault-in-url-parsing.patch new file mode 100644 index 0000000..3d6a3af --- /dev/null +++ b/0335-iscsi-fix-segfault-in-url-parsing.patch @@ -0,0 +1,34 @@ +From 09d790ef3ff7aa8d19a7f5e82bac04e101887ca4 Mon Sep 17 00:00:00 2001 +From: Peter Lieven +Date: Thu, 15 Nov 2012 15:42:06 +0100 +Subject: [PATCH] iscsi: fix segfault in url parsing + +If an invalid URL is specified iscsi_get_error(iscsi) is called +with iscsi == NULL. + +Signed-off-by: Peter Lieven +Signed-off-by: Paolo Bonzini +(cherry picked from commit 8da1e18b0cf46b6c95c88bbad1cc50d6dd1bef4b) + +Signed-off-by: Michael Roth +--- + block/iscsi.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/block/iscsi.c b/block/iscsi.c +index fb001b9..817196a 100644 +--- a/block/iscsi.c ++++ b/block/iscsi.c +@@ -951,8 +951,7 @@ static int iscsi_open(BlockDriverState *bs, const char *filename, int flags) + + iscsi_url = iscsi_parse_full_url(iscsi, filename); + if (iscsi_url == NULL) { +- error_report("Failed to parse URL : %s %s", filename, +- iscsi_get_error(iscsi)); ++ error_report("Failed to parse URL : %s", filename); + ret = -EINVAL; + goto out; + } +-- +1.8.0.2 + diff --git a/0336-iscsi-fix-deadlock-during-login.patch b/0336-iscsi-fix-deadlock-during-login.patch new file mode 100644 index 0000000..2f7d425 --- /dev/null +++ b/0336-iscsi-fix-deadlock-during-login.patch @@ -0,0 +1,333 @@ +From e450cd0c7256039a42167621ff8125067feca6ad Mon Sep 17 00:00:00 2001 +From: Peter Lieven +Date: Sat, 17 Nov 2012 14:37:39 +0100 +Subject: [PATCH] iscsi: fix deadlock during login + +If the connection is interrupted before the first login is successfully +completed qemu-kvm is waiting forever in qemu_aio_wait(). + +This is fixed by performing an sync login to the target. If the +connection breaks after the first successful login errors are +handled internally by libiscsi. + +Signed-off-by: Peter Lieven +Signed-off-by: Paolo Bonzini +(cherry picked from commit e829b0bb054ed3389e5b22dad61875e51674e629) + +Signed-off-by: Michael Roth +--- + block/iscsi.c | 251 ++++++++++++++++------------------------------------------ + 1 file changed, 70 insertions(+), 181 deletions(-) + +diff --git a/block/iscsi.c b/block/iscsi.c +index 817196a..1836c71 100644 +--- a/block/iscsi.c ++++ b/block/iscsi.c +@@ -65,13 +65,6 @@ typedef struct IscsiAIOCB { + #endif + } IscsiAIOCB; + +-struct IscsiTask { +- IscsiLun *iscsilun; +- BlockDriverState *bs; +- int status; +- int complete; +-}; +- + static void + iscsi_bh_cb(void *p) + { +@@ -384,7 +377,7 @@ iscsi_aio_readv(BlockDriverState *bs, int64_t sector_num, + *(uint16_t *)&acb->task->cdb[7] = htons(num_sectors); + break; + } +- ++ + if (iscsi_scsi_command_async(iscsi, iscsilun->lun, acb->task, + iscsi_aio_read16_cb, + NULL, +@@ -669,163 +662,6 @@ iscsi_getlength(BlockDriverState *bs) + return len; + } + +-static void +-iscsi_readcapacity16_cb(struct iscsi_context *iscsi, int status, +- void *command_data, void *opaque) +-{ +- struct IscsiTask *itask = opaque; +- struct scsi_readcapacity16 *rc16; +- struct scsi_task *task = command_data; +- +- if (status != 0) { +- error_report("iSCSI: Failed to read capacity of iSCSI lun. %s", +- iscsi_get_error(iscsi)); +- itask->status = 1; +- itask->complete = 1; +- scsi_free_scsi_task(task); +- return; +- } +- +- rc16 = scsi_datain_unmarshall(task); +- if (rc16 == NULL) { +- error_report("iSCSI: Failed to unmarshall readcapacity16 data."); +- itask->status = 1; +- itask->complete = 1; +- scsi_free_scsi_task(task); +- return; +- } +- +- itask->iscsilun->block_size = rc16->block_length; +- itask->iscsilun->num_blocks = rc16->returned_lba + 1; +- itask->bs->total_sectors = itask->iscsilun->num_blocks * +- itask->iscsilun->block_size / BDRV_SECTOR_SIZE ; +- +- itask->status = 0; +- itask->complete = 1; +- scsi_free_scsi_task(task); +-} +- +-static void +-iscsi_readcapacity10_cb(struct iscsi_context *iscsi, int status, +- void *command_data, void *opaque) +-{ +- struct IscsiTask *itask = opaque; +- struct scsi_readcapacity10 *rc10; +- struct scsi_task *task = command_data; +- +- if (status != 0) { +- error_report("iSCSI: Failed to read capacity of iSCSI lun. %s", +- iscsi_get_error(iscsi)); +- itask->status = 1; +- itask->complete = 1; +- scsi_free_scsi_task(task); +- return; +- } +- +- rc10 = scsi_datain_unmarshall(task); +- if (rc10 == NULL) { +- error_report("iSCSI: Failed to unmarshall readcapacity10 data."); +- itask->status = 1; +- itask->complete = 1; +- scsi_free_scsi_task(task); +- return; +- } +- +- itask->iscsilun->block_size = rc10->block_size; +- if (rc10->lba == 0) { +- /* blank disk loaded */ +- itask->iscsilun->num_blocks = 0; +- } else { +- itask->iscsilun->num_blocks = rc10->lba + 1; +- } +- itask->bs->total_sectors = itask->iscsilun->num_blocks * +- itask->iscsilun->block_size / BDRV_SECTOR_SIZE ; +- +- itask->status = 0; +- itask->complete = 1; +- scsi_free_scsi_task(task); +-} +- +-static void +-iscsi_inquiry_cb(struct iscsi_context *iscsi, int status, void *command_data, +- void *opaque) +-{ +- struct IscsiTask *itask = opaque; +- struct scsi_task *task = command_data; +- struct scsi_inquiry_standard *inq; +- +- if (status != 0) { +- itask->status = 1; +- itask->complete = 1; +- scsi_free_scsi_task(task); +- return; +- } +- +- inq = scsi_datain_unmarshall(task); +- if (inq == NULL) { +- error_report("iSCSI: Failed to unmarshall inquiry data."); +- itask->status = 1; +- itask->complete = 1; +- scsi_free_scsi_task(task); +- return; +- } +- +- itask->iscsilun->type = inq->periperal_device_type; +- +- scsi_free_scsi_task(task); +- +- switch (itask->iscsilun->type) { +- case TYPE_DISK: +- task = iscsi_readcapacity16_task(iscsi, itask->iscsilun->lun, +- iscsi_readcapacity16_cb, opaque); +- if (task == NULL) { +- error_report("iSCSI: failed to send readcapacity16 command."); +- itask->status = 1; +- itask->complete = 1; +- return; +- } +- break; +- case TYPE_ROM: +- task = iscsi_readcapacity10_task(iscsi, itask->iscsilun->lun, +- 0, 0, +- iscsi_readcapacity10_cb, opaque); +- if (task == NULL) { +- error_report("iSCSI: failed to send readcapacity16 command."); +- itask->status = 1; +- itask->complete = 1; +- return; +- } +- break; +- default: +- itask->status = 0; +- itask->complete = 1; +- } +-} +- +-static void +-iscsi_connect_cb(struct iscsi_context *iscsi, int status, void *command_data, +- void *opaque) +-{ +- struct IscsiTask *itask = opaque; +- struct scsi_task *task; +- +- if (status != 0) { +- itask->status = 1; +- itask->complete = 1; +- return; +- } +- +- task = iscsi_inquiry_task(iscsi, itask->iscsilun->lun, +- 0, 0, 36, +- iscsi_inquiry_cb, opaque); +- if (task == NULL) { +- error_report("iSCSI: failed to send inquiry command."); +- itask->status = 1; +- itask->complete = 1; +- return; +- } +-} +- + static int parse_chap(struct iscsi_context *iscsi, const char *target) + { + QemuOptsList *list; +@@ -938,7 +774,10 @@ static int iscsi_open(BlockDriverState *bs, const char *filename, int flags) + IscsiLun *iscsilun = bs->opaque; + struct iscsi_context *iscsi = NULL; + struct iscsi_url *iscsi_url = NULL; +- struct IscsiTask task; ++ struct scsi_task *task = NULL; ++ struct scsi_inquiry_standard *inq = NULL; ++ struct scsi_readcapacity10 *rc10 = NULL; ++ struct scsi_readcapacity16 *rc16 = NULL; + char *initiator_name = NULL; + int ret; + +@@ -1001,33 +840,80 @@ static int iscsi_open(BlockDriverState *bs, const char *filename, int flags) + /* check if we got HEADER_DIGEST via the options */ + parse_header_digest(iscsi, iscsi_url->target); + +- task.iscsilun = iscsilun; +- task.status = 0; +- task.complete = 0; +- task.bs = bs; ++ if (iscsi_full_connect_sync(iscsi, iscsi_url->portal, iscsi_url->lun) != 0) { ++ error_report("iSCSI: Failed to connect to LUN : %s", ++ iscsi_get_error(iscsi)); ++ ret = -EINVAL; ++ goto out; ++ } + + iscsilun->iscsi = iscsi; + iscsilun->lun = iscsi_url->lun; + +- if (iscsi_full_connect_async(iscsi, iscsi_url->portal, iscsi_url->lun, +- iscsi_connect_cb, &task) +- != 0) { +- error_report("iSCSI: Failed to start async connect."); ++ task = iscsi_inquiry_sync(iscsi, iscsilun->lun, 0, 0, 36); ++ ++ if (task == NULL || task->status != SCSI_STATUS_GOOD) { ++ error_report("iSCSI: failed to send inquiry command."); + ret = -EINVAL; + goto out; + } + +- while (!task.complete) { +- iscsi_set_events(iscsilun); +- qemu_aio_wait(); +- } +- if (task.status != 0) { +- error_report("iSCSI: Failed to connect to LUN : %s", +- iscsi_get_error(iscsi)); ++ inq = scsi_datain_unmarshall(task); ++ if (inq == NULL) { ++ error_report("iSCSI: Failed to unmarshall inquiry data."); + ret = -EINVAL; + goto out; + } + ++ iscsilun->type = inq->periperal_device_type; ++ ++ scsi_free_scsi_task(task); ++ ++ switch (iscsilun->type) { ++ case TYPE_DISK: ++ task = iscsi_readcapacity16_sync(iscsi, iscsilun->lun); ++ if (task == NULL || task->status != SCSI_STATUS_GOOD) { ++ error_report("iSCSI: failed to send readcapacity16 command."); ++ ret = -EINVAL; ++ goto out; ++ } ++ rc16 = scsi_datain_unmarshall(task); ++ if (rc16 == NULL) { ++ error_report("iSCSI: Failed to unmarshall readcapacity16 data."); ++ ret = -EINVAL; ++ goto out; ++ } ++ iscsilun->block_size = rc16->block_length; ++ iscsilun->num_blocks = rc16->returned_lba + 1; ++ break; ++ case TYPE_ROM: ++ task = iscsi_readcapacity10_sync(iscsi, iscsilun->lun, 0, 0); ++ if (task == NULL || task->status != SCSI_STATUS_GOOD) { ++ error_report("iSCSI: failed to send readcapacity10 command."); ++ ret = -EINVAL; ++ goto out; ++ } ++ rc10 = scsi_datain_unmarshall(task); ++ if (rc10 == NULL) { ++ error_report("iSCSI: Failed to unmarshall readcapacity10 data."); ++ ret = -EINVAL; ++ goto out; ++ } ++ iscsilun->block_size = rc10->block_size; ++ if (rc10->lba == 0) { ++ /* blank disk loaded */ ++ iscsilun->num_blocks = 0; ++ } else { ++ iscsilun->num_blocks = rc10->lba + 1; ++ } ++ break; ++ default: ++ break; ++ } ++ ++ bs->total_sectors = iscsilun->num_blocks * ++ iscsilun->block_size / BDRV_SECTOR_SIZE ; ++ + /* Medium changer or tape. We dont have any emulation for this so this must + * be sg ioctl compatible. We force it to be sg, otherwise qemu will try + * to read from the device to guess the image format. +@@ -1046,6 +932,9 @@ out: + if (iscsi_url != NULL) { + iscsi_destroy_url(iscsi_url); + } ++ if (task != NULL) { ++ scsi_free_scsi_task(task); ++ } + + if (ret) { + if (iscsi != NULL) { +-- +1.8.0.2 + diff --git a/0337-iscsi-do-not-assume-device-is-zero-initialized.patch b/0337-iscsi-do-not-assume-device-is-zero-initialized.patch new file mode 100644 index 0000000..69e2fe3 --- /dev/null +++ b/0337-iscsi-do-not-assume-device-is-zero-initialized.patch @@ -0,0 +1,44 @@ +From b360ba5cd93cbc30940538ce038b856ed8f72dd3 Mon Sep 17 00:00:00 2001 +From: Peter Lieven +Date: Sat, 17 Nov 2012 16:20:28 +0100 +Subject: [PATCH] iscsi: do not assume device is zero initialized + +Without any complex checks we can't assume that an +iscsi target is initialized to zero. + +Signed-off-by: Peter Lieven +Signed-off-by: Paolo Bonzini +(cherry picked from commit f807ecd5741325fe0d281199ff22cdda0acb6a7a) + +Signed-off-by: Michael Roth +--- + block/iscsi.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/block/iscsi.c b/block/iscsi.c +index 1836c71..11fd37e 100644 +--- a/block/iscsi.c ++++ b/block/iscsi.c +@@ -955,6 +955,11 @@ static void iscsi_close(BlockDriverState *bs) + memset(iscsilun, 0, sizeof(IscsiLun)); + } + ++static int iscsi_has_zero_init(BlockDriverState *bs) ++{ ++ return 0; ++} ++ + static BlockDriver bdrv_iscsi = { + .format_name = "iscsi", + .protocol_name = "iscsi", +@@ -970,6 +975,7 @@ static BlockDriver bdrv_iscsi = { + .bdrv_aio_flush = iscsi_aio_flush, + + .bdrv_aio_discard = iscsi_aio_discard, ++ .bdrv_has_zero_init = iscsi_has_zero_init, + + #ifdef __linux__ + .bdrv_ioctl = iscsi_ioctl, +-- +1.8.0.2 + diff --git a/0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch b/0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch new file mode 100644 index 0000000..8f5bbb3 --- /dev/null +++ b/0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch @@ -0,0 +1,57 @@ +From 6f364e7d71769eeb134ebaa4c6cc5ffd214768d9 Mon Sep 17 00:00:00 2001 +From: David Gibson +Date: Fri, 23 Nov 2012 16:08:44 +1100 +Subject: [PATCH] virtio-scsi: Fix some endian bugs with virtio-scsi + +The virtio-scsi specification does not specify the correct endianness for +fields in the request structure. It's therefore best to assume that it is +"guest native" endian since that's the (stupid and poorly defined) norm in +virtio. + +However, the qemu device for virtio-scsi has no byteswaps at all, and so +will break if the guest has different endianness from the host. This patch +fixes it by adding tswap() calls for the sense_len and resid fields in +the request structure. In theory status_qualifier needs swaps as well, +but that field is never actually touched. The tag field is a uint64_t, but +since its value is completely arbitrary, it might as well be uint8_t[8] +and so it does not need swapping. + +Cc: Paolo Bonzini +Cc: Paul 'Rusty' Russell +Signed-off-by: David Gibson +Signed-off-by: Paolo Bonzini +(cherry picked from commit 474ee55a18765e7de8f0b2cc00db5d26286bb24d) + +Signed-off-by: Michael Roth +--- + hw/virtio-scsi.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c +index c1b47a8..c6d5290 100644 +--- a/hw/virtio-scsi.c ++++ b/hw/virtio-scsi.c +@@ -424,15 +424,17 @@ static void virtio_scsi_command_complete(SCSIRequest *r, uint32_t status, + size_t resid) + { + VirtIOSCSIReq *req = r->hba_private; ++ uint32_t sense_len; + + req->resp.cmd->response = VIRTIO_SCSI_S_OK; + req->resp.cmd->status = status; + if (req->resp.cmd->status == GOOD) { +- req->resp.cmd->resid = resid; ++ req->resp.cmd->resid = tswap32(resid); + } else { + req->resp.cmd->resid = 0; +- req->resp.cmd->sense_len = +- scsi_req_get_sense(r, req->resp.cmd->sense, VIRTIO_SCSI_SENSE_SIZE); ++ sense_len = scsi_req_get_sense(r, req->resp.cmd->sense, ++ VIRTIO_SCSI_SENSE_SIZE); ++ req->resp.cmd->sense_len = tswap32(sense_len); + } + virtio_scsi_complete_req(req); + } +-- +1.8.0.2 + diff --git a/0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch b/0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch new file mode 100644 index 0000000..e97c7ca --- /dev/null +++ b/0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch @@ -0,0 +1,46 @@ +From f42859e8791c5dc1c8b2a3e3499310d38e302fb4 Mon Sep 17 00:00:00 2001 +From: David Gibson +Date: Mon, 26 Nov 2012 12:33:52 +1100 +Subject: [PATCH] virtio-scsi: Fix subtle (guest) endian bug + +The virtio-scsi config space is, by specification, in guest endian (which +is ill-defined, but there you go). In virtio_scsi_get_config() we set up +all the fields in there, using stl_raw(). Which is a problem for the +max_channel and max_target fields, which are 16-bit, not 32-bit. For +little-endian targets we get away with it by accident, since the first +two bytes will still be correct, and the extra two bytes written (with +zeroes) will be overwritten correctly by the next store. + +But for big-endian guests, this means the max_target field ends up as zero, +which means the guest will only recognize a single disk on the virtio-scsi +bus. This patch fixes the problem. + +Cc: Paolo Bonzini +Cc: Paul 'Rusty' Russell +Signed-off-by: David Gibson +Signed-off-by: Paolo Bonzini +(cherry picked from commit 863d1050c96cff91dd478767c0da9cc288575919) + +Signed-off-by: Michael Roth +--- + hw/virtio-scsi.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c +index c6d5290..5fcbdd8 100644 +--- a/hw/virtio-scsi.c ++++ b/hw/virtio-scsi.c +@@ -534,8 +534,8 @@ static void virtio_scsi_get_config(VirtIODevice *vdev, + stl_raw(&scsiconf->event_info_size, sizeof(VirtIOSCSIEvent)); + stl_raw(&scsiconf->sense_size, s->sense_size); + stl_raw(&scsiconf->cdb_size, s->cdb_size); +- stl_raw(&scsiconf->max_channel, VIRTIO_SCSI_MAX_CHANNEL); +- stl_raw(&scsiconf->max_target, VIRTIO_SCSI_MAX_TARGET); ++ stw_raw(&scsiconf->max_channel, VIRTIO_SCSI_MAX_CHANNEL); ++ stw_raw(&scsiconf->max_target, VIRTIO_SCSI_MAX_TARGET); + stl_raw(&scsiconf->max_lun, VIRTIO_SCSI_MAX_LUN); + } + +-- +1.8.0.2 + diff --git a/0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch b/0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch new file mode 100644 index 0000000..28e3e1d --- /dev/null +++ b/0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch @@ -0,0 +1,36 @@ +From 358b29311255c2277ec4d0ca1eefd29882dee006 Mon Sep 17 00:00:00 2001 +From: Yonit Halperin +Date: Wed, 28 Nov 2012 10:08:22 -0500 +Subject: [PATCH] qxl: reload memslots after migration, when qxl is in + UNDEFINED mode + +The devram memslot stays active when qxl enters UNDEFINED mode (i.e, no +primary surface). If migration has occurred while the device is in +UNDEFINED stae, the memslots have to be reloaded at the destination. + +Fixes rhbz#874574 + +Signed-off-by: Yonit Halperin +Signed-off-by: Gerd Hoffmann +(cherry picked from commit fa98efe932d93a15ffa867f3b05149c8d1fc7c28) + +Signed-off-by: Michael Roth +--- + hw/qxl.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hw/qxl.c b/hw/qxl.c +index 89e9ad9..e7e9dd9 100644 +--- a/hw/qxl.c ++++ b/hw/qxl.c +@@ -2042,6 +2042,7 @@ static int qxl_post_load(void *opaque, int version) + + switch (newmode) { + case QXL_MODE_UNDEFINED: ++ qxl_create_memslots(d); + break; + case QXL_MODE_VGA: + qxl_create_memslots(d); +-- +1.8.0.2 + diff --git a/0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch b/0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch new file mode 100644 index 0000000..6d143d5 --- /dev/null +++ b/0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch @@ -0,0 +1,47 @@ +From cf0ad23ce4dc68d0617b01cc5eefdd133f87cafc Mon Sep 17 00:00:00 2001 +From: Stefan Hajnoczi +Date: Sun, 25 Nov 2012 16:49:15 +0100 +Subject: [PATCH] usb: fail usbdevice_create() when there is no USB bus + +Report an error instead of segfaulting when attaching a USB device to a +machine with no USB busses: + + $ qemu-system-arm -machine vexpress-a9 \ + -sd Fedora-17-armhfp-vexpress-mmcblk0.img \ + -kernel vmlinuz-3.4.2-3.fc17.armv7hl \ + -initrd initramfs-3.4.2-3.fc17.armv7hl.img \ + -usbdevice disk:format=raw:test.img + +Note that the vexpress-a9 machine does not have a USB host controller. + +Reported-by: David Abdurachmanov +Signed-off-by: Stefan Hajnoczi +Signed-off-by: Gerd Hoffmann +(cherry picked from commit c128d6a6d785eb9235a4f6dbd52f405ab8c60bee) + +Signed-off-by: Michael Roth +--- + hw/usb/bus.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/hw/usb/bus.c b/hw/usb/bus.c +index b649360..1f73a52 100644 +--- a/hw/usb/bus.c ++++ b/hw/usb/bus.c +@@ -585,6 +585,13 @@ USBDevice *usbdevice_create(const char *cmdline) + return NULL; + } + ++ if (!bus) { ++ error_report("Error: no usb bus to attach usbdevice %s, " ++ "please try -machine usb=on and check that " ++ "the machine model supports USB", driver); ++ return NULL; ++ } ++ + if (!f->usbdevice_init) { + if (*params) { + error_report("usbdevice %s accepts no params", driver); +-- +1.8.0.2 + diff --git a/0342-stream-fix-ratelimit_set_speed.patch b/0342-stream-fix-ratelimit_set_speed.patch new file mode 100644 index 0000000..17ba4d2 --- /dev/null +++ b/0342-stream-fix-ratelimit_set_speed.patch @@ -0,0 +1,33 @@ +From e56a0d717b356c4e847c1c5cf537c1382a1597ec Mon Sep 17 00:00:00 2001 +From: Dietmar Maurer +Date: Wed, 24 Oct 2012 12:10:47 +0200 +Subject: [PATCH] stream: fix ratelimit_set_speed + +The formula to compute slice_quota was wrong since commit 6ef228fc. + +Signed-off-by: Dietmar Maurer +Reviewed-by: Eric Blake +Signed-off-by: Kevin Wolf +(cherry picked from commit e3980e28bb888bf643054770452998d1b4319609) + +Signed-off-by: Michael Roth +--- + include/qemu/ratelimit.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/qemu/ratelimit.h b/include/qemu/ratelimit.h +index c6ac281..d1610f1 100644 +--- a/include/qemu/ratelimit.h ++++ b/include/qemu/ratelimit.h +@@ -42,7 +42,7 @@ static inline void ratelimit_set_speed(RateLimit *limit, uint64_t speed, + uint64_t slice_ns) + { + limit->slice_ns = slice_ns; +- limit->slice_quota = ((double)speed * 1000000000ULL) / slice_ns; ++ limit->slice_quota = ((double)speed * slice_ns)/1000000000ULL; + } + + #endif +-- +1.8.0.2 + diff --git a/0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch b/0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch new file mode 100644 index 0000000..ee5993c --- /dev/null +++ b/0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch @@ -0,0 +1,49 @@ +From 55c6a5611acc88b9c97fff3324fc743fafc6d0c7 Mon Sep 17 00:00:00 2001 +From: Michael Contreras +Date: Sun, 2 Dec 2012 20:11:22 -0800 +Subject: [PATCH] e1000: Discard packets that are too long if !SBP and !LPE + +The e1000_receive function for the e1000 needs to discard packets longer than +1522 bytes if the SBP and LPE flags are disabled. The linux driver assumes +this behavior and allocates memory based on this assumption. + +Signed-off-by: Michael Contreras +Signed-off-by: Anthony Liguori +(cherry picked from commit b0d9ffcd0251161c7c92f94804dcf599dfa3edeb) + +Signed-off-by: Michael Roth +--- + hw/e1000.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/hw/e1000.c b/hw/e1000.c +index 4d4ac32..b1d8508 100644 +--- a/hw/e1000.c ++++ b/hw/e1000.c +@@ -59,6 +59,9 @@ static int debugflags = DBGBIT(TXERR) | DBGBIT(GENERAL); + #define PNPMMIO_SIZE 0x20000 + #define MIN_BUF_SIZE 60 /* Min. octets in an ethernet frame sans FCS */ + ++/* this is the size past which hardware will drop packets when setting LPE=0 */ ++#define MAXIMUM_ETHERNET_VLAN_SIZE 1522 ++ + /* + * HW models: + * E1000_DEV_ID_82540EM works with Windows and Linux +@@ -795,6 +798,13 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size) + size = sizeof(min_buf); + } + ++ /* Discard oversized packets if !LPE and !SBP. */ ++ if (size > MAXIMUM_ETHERNET_VLAN_SIZE ++ && !(s->mac_reg[RCTL] & E1000_RCTL_LPE) ++ && !(s->mac_reg[RCTL] & E1000_RCTL_SBP)) { ++ return size; ++ } ++ + if (!receive_filter(s, buf, size)) + return size; + +-- +1.8.0.2 + diff --git a/0401-update-VERSION-for-v1.2.2.patch b/0401-update-VERSION-for-v1.2.2.patch new file mode 100644 index 0000000..543a55f --- /dev/null +++ b/0401-update-VERSION-for-v1.2.2.patch @@ -0,0 +1,20 @@ +From 91d2b5a0faa030cb437fbe99e94bb0720b03b44b Mon Sep 17 00:00:00 2001 +From: Michael Roth +Date: Tue, 11 Dec 2012 15:09:44 -0600 +Subject: [PATCH] update VERSION for v1.2.2 + +Signed-off-by: Michael Roth +--- + VERSION | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/VERSION b/VERSION +index 6085e94..23aa839 100644 +--- a/VERSION ++++ b/VERSION +@@ -1 +1 @@ +-1.2.1 ++1.2.2 +-- +1.8.0.2 + diff --git a/0400-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch b/0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch similarity index 95% rename from 0400-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch rename to 0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch index 0df1449..d497b3d 100644 --- a/0400-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch +++ b/0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch @@ -1,4 +1,4 @@ -From e999fe6e315c5d6f6e8b5d4c689787fc46f10575 Mon Sep 17 00:00:00 2001 +From d33363c7732da489e69312949741181a59766bb2 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 21:57:47 +0100 Subject: [PATCH] char: Split out tcp socket close code in a separate function @@ -53,5 +53,5 @@ index b082bae..a1fdf88 100644 if (s->do_telnetopt) tcp_chr_process_IAC_bytes(chr, s, buf, &size); -- -1.7.12.1 +1.8.0.2 diff --git a/0401-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch b/0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch similarity index 99% rename from 0401-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch rename to 0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch index 58d0b4a..e8c7283 100644 --- a/0401-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch +++ b/0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch @@ -1,4 +1,4 @@ -From 5f3ba69a09688b40a4648e8818e4878ae20fc2f6 Mon Sep 17 00:00:00 2001 +From 064e087beb96eb5b9716c9058f1d1e461421233e Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 20:31:45 +0100 Subject: [PATCH] char: Add a QemuChrHandlers struct to initialise chardev @@ -958,5 +958,5 @@ index fbfab4e..4ab5b69 100644 inbuf = g_string_new(""); -- -1.7.12.1 +1.8.0.2 diff --git a/0402-iohandlers-Add-enable-disable_write_fd_handler-funct.patch b/0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch similarity index 96% rename from 0402-iohandlers-Add-enable-disable_write_fd_handler-funct.patch rename to 0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch index cfc7cd2..4bb82d7 100644 --- a/0402-iohandlers-Add-enable-disable_write_fd_handler-funct.patch +++ b/0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch @@ -1,4 +1,4 @@ -From 2ac23d2134611b4e5b0fb389911bd03baa685df3 Mon Sep 17 00:00:00 2001 +From 9fade7c07dc84824b8e4130df7a3c499c322539a Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 20:32:58 +0100 Subject: [PATCH] iohandlers: Add enable/disable_write_fd_handler() functions @@ -73,5 +73,5 @@ index dce1cd9..eb31273 100644 * qemu_set_fd_handler2: Register a file descriptor with the main loop * -- -1.7.12.1 +1.8.0.2 diff --git a/0403-char-Add-framework-for-a-write-unblocked-callback.patch b/0405-char-Add-framework-for-a-write-unblocked-callback.patch similarity index 96% rename from 0403-char-Add-framework-for-a-write-unblocked-callback.patch rename to 0405-char-Add-framework-for-a-write-unblocked-callback.patch index 67f83f6..8b263c8 100644 --- a/0403-char-Add-framework-for-a-write-unblocked-callback.patch +++ b/0405-char-Add-framework-for-a-write-unblocked-callback.patch @@ -1,4 +1,4 @@ -From 8ca97117074b5eb12bf9cb0b25548116174601a8 Mon Sep 17 00:00:00 2001 +From a0dd0fc78abcc1039af4d39a9c0eb65d838621f4 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 21:41:42 +0100 Subject: [PATCH] char: Add framework for a 'write unblocked' callback @@ -58,5 +58,5 @@ index dfa8c2d..b5e23a4 100644 }; -- -1.7.12.1 +1.8.0.2 diff --git a/0404-char-Update-send_all-to-handle-nonblocking-chardev-w.patch b/0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch similarity index 98% rename from 0404-char-Update-send_all-to-handle-nonblocking-chardev-w.patch rename to 0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch index b53d594..892c799 100644 --- a/0404-char-Update-send_all-to-handle-nonblocking-chardev-w.patch +++ b/0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch @@ -1,4 +1,4 @@ -From dd7b138971deb72c7e37c4b79665df6ff5c1130b Mon Sep 17 00:00:00 2001 +From 0bb331d124049a9157c08bb1d3572493e6691f05 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 22:00:27 +0100 Subject: [PATCH] char: Update send_all() to handle nonblocking chardev write @@ -169,5 +169,5 @@ index 3e8aee9..a537d86 100644 /* callback function for nonblocking connect * valid fd on success, negative error code on failure -- -1.7.12.1 +1.8.0.2 diff --git a/0405-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch b/0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch similarity index 97% rename from 0405-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch rename to 0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch index 830ed84..4d8e62f 100644 --- a/0405-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch +++ b/0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch @@ -1,4 +1,4 @@ -From 625915146f56f77c275be1aee160f40183008b8d Mon Sep 17 00:00:00 2001 +From f249489e3f81a99bb60d1c008aabf9c8ad90b381 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 22:02:47 +0100 Subject: [PATCH] char: Equip the unix/tcp backend to handle nonblocking @@ -78,5 +78,5 @@ index b46cc97..9f8608a 100644 if (is_listen) { s->listen_fd = fd; -- -1.7.12.1 +1.8.0.2 diff --git a/0406-char-Throttle-when-host-connection-is-down.patch b/0408-char-Throttle-when-host-connection-is-down.patch similarity index 96% rename from 0406-char-Throttle-when-host-connection-is-down.patch rename to 0408-char-Throttle-when-host-connection-is-down.patch index 2190637..3fae4db 100644 --- a/0406-char-Throttle-when-host-connection-is-down.patch +++ b/0408-char-Throttle-when-host-connection-is-down.patch @@ -1,4 +1,4 @@ -From 542fa14530022044ab577c543fba83202d52b703 Mon Sep 17 00:00:00 2001 +From d06d51e96773ab8295e31f666466fb2edb093aa0 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 22:05:10 +0100 Subject: [PATCH] char: Throttle when host connection is down# @@ -53,5 +53,5 @@ index 9f8608a..bfc94a5 100644 return ret; } else { -- -1.7.12.1 +1.8.0.2 diff --git a/0407-virtio-console-Enable-port-throttling-when-chardev-i.patch b/0409-virtio-console-Enable-port-throttling-when-chardev-i.patch similarity index 95% rename from 0407-virtio-console-Enable-port-throttling-when-chardev-i.patch rename to 0409-virtio-console-Enable-port-throttling-when-chardev-i.patch index 85630c0..7927239 100644 --- a/0407-virtio-console-Enable-port-throttling-when-chardev-i.patch +++ b/0409-virtio-console-Enable-port-throttling-when-chardev-i.patch @@ -1,4 +1,4 @@ -From feeea13d5eac9c0dd5da1ee7639a57ca519f4c91 Mon Sep 17 00:00:00 2001 +From d79d2a6ea50bd4dd07afe05471c8074f2f668150 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Mon, 21 Mar 2011 22:06:41 +0100 Subject: [PATCH] virtio-console: Enable port throttling when chardev is slow @@ -46,5 +46,5 @@ index 066590c..2b5e515 100644 static int virtconsole_initfn(VirtIOSerialPort *port) -- -1.7.12.1 +1.8.0.2 diff --git a/0408-spice-qemu-char.c-add-throttling.patch b/0410-spice-qemu-char.c-add-throttling.patch similarity index 98% rename from 0408-spice-qemu-char.c-add-throttling.patch rename to 0410-spice-qemu-char.c-add-throttling.patch index 23018ec..b25ca3a 100644 --- a/0408-spice-qemu-char.c-add-throttling.patch +++ b/0410-spice-qemu-char.c-add-throttling.patch @@ -1,4 +1,4 @@ -From 2d1cf5b1be8cbd9c5a8c5f96ca699676fc1b23a7 Mon Sep 17 00:00:00 2001 +From 89e95288a8f5b462230910d25fc97c8eeb33dd5f Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 22 Mar 2011 12:27:59 +0200 Subject: [PATCH] spice-qemu-char.c: add throttling @@ -131,5 +131,5 @@ index 09aa22d..fba2bfb 100644 #if SPICE_SERVER_VERSION < 0x000901 /* See comment in vmc_state() */ -- -1.7.12.1 +1.8.0.2 diff --git a/0409-spice-qemu-char.c-remove-intermediate-buffer.patch b/0411-spice-qemu-char.c-remove-intermediate-buffer.patch similarity index 97% rename from 0409-spice-qemu-char.c-remove-intermediate-buffer.patch rename to 0411-spice-qemu-char.c-remove-intermediate-buffer.patch index e1c6f0a..57cb8cc 100644 --- a/0409-spice-qemu-char.c-remove-intermediate-buffer.patch +++ b/0411-spice-qemu-char.c-remove-intermediate-buffer.patch @@ -1,4 +1,4 @@ -From fb481324641fc36e6f58aca8d8e5ada0536332f2 Mon Sep 17 00:00:00 2001 +From 7c96741eb22bbfc8c257334e28493adabbeee5ff Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 22 Mar 2011 12:28:00 +0200 Subject: [PATCH] spice-qemu-char.c: remove intermediate buffer @@ -69,5 +69,5 @@ index fba2bfb..ef44bc0 100644 /* We'll get passed in the unconsumed data with the next call */ s->datalen = 0; -- -1.7.12.1 +1.8.0.2 diff --git a/0410-usb-redir-Add-flow-control-support.patch b/0412-usb-redir-Add-flow-control-support.patch similarity index 95% rename from 0410-usb-redir-Add-flow-control-support.patch rename to 0412-usb-redir-Add-flow-control-support.patch index 8506b22..c38c93a 100644 --- a/0410-usb-redir-Add-flow-control-support.patch +++ b/0412-usb-redir-Add-flow-control-support.patch @@ -1,4 +1,4 @@ -From 539b42dbeefbf2fc7dc40ab7c1b5d9592a87d9b8 Mon Sep 17 00:00:00 2001 +From 5399dd7756a093453751dea34212ba19db328eb4 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 19 Jul 2011 10:56:19 +0200 Subject: [PATCH] usb-redir: Add flow control support @@ -58,5 +58,5 @@ index 8b22c80..b7c7f1e 100644 /* -- -1.7.12.1 +1.8.0.2 diff --git a/0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch b/0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch deleted file mode 100644 index 2ec9363..0000000 --- a/0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch +++ /dev/null @@ -1,130 +0,0 @@ -From 9903053345528aa8eebb16365b2ece77c58c0cf6 Mon Sep 17 00:00:00 2001 -From: Alon Levy -Date: Wed, 14 Nov 2012 15:06:35 +0200 -Subject: [PATCH 1/2] hw/virtio-serial-bus: post_load send_event when vm is - running - -Add a new timer based on vm_clock for 1 ns in the future from post_load -to do the event send in case host_connected differs between migration -source and target. - -RHBZ: 867366 - -Signed-off-by: Alon Levy ---- - hw/virtio-serial-bus.c | 54 ++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 44 insertions(+), 10 deletions(-) - -diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c -index d20bd8b..a028877 100644 ---- a/hw/virtio-serial-bus.c -+++ b/hw/virtio-serial-bus.c -@@ -53,6 +53,15 @@ struct VirtIOSerial { - uint32_t *ports_map; - - struct virtio_console_config config; -+ -+ struct VirtIOSerialPostLoad { -+ QEMUTimer *timer; -+ int nr_active_ports; -+ struct VirtIOSerialPostLoadPort { -+ VirtIOSerialPort *port; -+ uint8_t host_connected; -+ } *connected; -+ } post_load; - }; - - static VirtIOSerialPort *find_port_by_id(VirtIOSerial *vser, uint32_t id) -@@ -626,6 +635,29 @@ static void virtio_serial_save(QEMUFile *f, void *opaque) - } - } - -+static void virtio_serial_post_load_timer_cb(void *opaque) -+{ -+ int i; -+ VirtIOSerial *s = opaque; -+ VirtIOSerialPort *port; -+ uint8_t host_connected; -+ -+ for (i = 0 ; i < s->post_load.nr_active_ports; ++i) { -+ port = s->post_load.connected[i].port; -+ host_connected = s->post_load.connected[i].host_connected; -+ if (host_connected != port->host_connected) { -+ /* -+ * We have to let the guest know of the host connection -+ * status change -+ */ -+ send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN, -+ port->host_connected); -+ } -+ } -+ g_free(s->post_load.connected); -+ s->post_load.connected = NULL; -+} -+ - static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) - { - VirtIOSerial *s = opaque; -@@ -673,10 +705,13 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) - - qemu_get_be32s(f, &nr_active_ports); - -+ s->post_load.nr_active_ports = nr_active_ports; -+ s->post_load.connected = -+ g_malloc0(sizeof(*s->post_load.connected) * nr_active_ports); -+ - /* Items in struct VirtIOSerialPort */ - for (i = 0; i < nr_active_ports; i++) { - uint32_t id; -- bool host_connected; - - id = qemu_get_be32(f); - port = find_port_by_id(s, id); -@@ -685,15 +720,8 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) - } - - port->guest_connected = qemu_get_byte(f); -- host_connected = qemu_get_byte(f); -- if (host_connected != port->host_connected) { -- /* -- * We have to let the guest know of the host connection -- * status change -- */ -- send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN, -- port->host_connected); -- } -+ s->post_load.connected[i].port = port; -+ s->post_load.connected[i].host_connected = qemu_get_byte(f); - - if (version_id > 2) { - uint32_t elem_popped; -@@ -718,6 +746,7 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) - } - } - } -+ qemu_mod_timer(s->post_load.timer, 1); - return 0; - } - -@@ -967,6 +996,9 @@ VirtIODevice *virtio_serial_init(DeviceState *dev, virtio_serial_conf *conf) - register_savevm(dev, "virtio-console", -1, 3, virtio_serial_save, - virtio_serial_load, vser); - -+ vser->post_load.timer = qemu_new_timer_ns(vm_clock, -+ virtio_serial_post_load_timer_cb, vser); -+ - return vdev; - } - -@@ -979,6 +1011,8 @@ void virtio_serial_exit(VirtIODevice *vdev) - g_free(vser->ivqs); - g_free(vser->ovqs); - g_free(vser->ports_map); -+ g_free(vser->post_load.connected); -+ qemu_free_timer(vser->post_load.timer); - - virtio_cleanup(vdev); - } --- -1.8.0 - diff --git a/0413-virtio-serial-bus-replay-guest_open-on-migration.patch b/0413-virtio-serial-bus-replay-guest_open-on-migration.patch new file mode 100644 index 0000000..6beedd2 --- /dev/null +++ b/0413-virtio-serial-bus-replay-guest_open-on-migration.patch @@ -0,0 +1,51 @@ +From 0811633a396481e1cf1614362afd57c179fcf3de Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Thu, 28 Jul 2011 15:08:48 +0300 +Subject: [PATCH] virtio-serial-bus: replay guest_open on migration + +When migrating a host with with a spice agent running the mouse becomes +non operational after the migration. This is rhbz #725965. + +The problem is that after migration spice doesn't know the guest agent is open. +Spice is just a char dev here. And a chardev cannot query it's device, the +device has to let the chardev know when it is open. Right now after migration +the chardev which is recreated is in it's default state, which assumes the +guest is disconnected. + +Char devices carry no information across migration, but the virtio-serial does +already carry the guest_connected state. This patch passes that bit to the +chardev. + +Signed-off-by: Alon Levy +Signed-off-by: Cole Robinson +--- + hw/virtio-serial-bus.c | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c +index 82073f5..18c2ed3 100644 +--- a/hw/virtio-serial-bus.c ++++ b/hw/virtio-serial-bus.c +@@ -682,6 +682,7 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) + for (i = 0; i < nr_active_ports; i++) { + uint32_t id; + bool host_connected; ++ VirtIOSerialPortClass *vsc; + + id = qemu_get_be32(f); + port = find_port_by_id(s, id); +@@ -690,6 +691,11 @@ static int virtio_serial_load(QEMUFile *f, void *opaque, int version_id) + } + + port->guest_connected = qemu_get_byte(f); ++ vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port); ++ if (port->guest_connected && vsc->guest_open) { ++ /* replay guest open */ ++ vsc->guest_open(port); ++ } + host_connected = qemu_get_byte(f); + if (host_connected != port->host_connected) { + /* +-- +1.8.0.2 + diff --git a/0412-char-Disable-write-callback-if-throttled-chardev-is-.patch b/0414-char-Disable-write-callback-if-throttled-chardev-is-.patch similarity index 92% rename from 0412-char-Disable-write-callback-if-throttled-chardev-is-.patch rename to 0414-char-Disable-write-callback-if-throttled-chardev-is-.patch index ae0be6f..c475f3a 100644 --- a/0412-char-Disable-write-callback-if-throttled-chardev-is-.patch +++ b/0414-char-Disable-write-callback-if-throttled-chardev-is-.patch @@ -1,8 +1,7 @@ -From f3551d3640f3436b0e5505fd208cbd7bbfef411f Mon Sep 17 00:00:00 2001 +From 58c0c0de01663aab4e8fdd03c05e2762a35d77a8 Mon Sep 17 00:00:00 2001 From: Amit Shah Date: Fri, 2 Dec 2011 15:42:55 +0530 -Subject: [PATCH] char: Disable write callback if throttled chardev is - detached +Subject: [PATCH] char: Disable write callback if throttled chardev is detached If a throttled chardev is detached from the frontend device, all future callbacks should be suppressed. Not doing this results in a segfault. @@ -33,5 +32,5 @@ index bfc94a5..67a6d73 100644 } s->chr_can_read = handlers->fd_can_read; -- -1.7.12.1 +1.8.0.2 diff --git a/0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch b/0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch deleted file mode 100644 index 07b10f6..0000000 --- a/0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 5b6831175b21aa5a3405a21dd79e1ef0a81bbdb3 Mon Sep 17 00:00:00 2001 -From: Alon Levy -Date: Fri, 16 Nov 2012 16:24:47 +0200 -Subject: [PATCH 2/2] hw/virtio-serial-bus: replay guest open on destination - -This is rewrite of a patch carried in Fedora previously based -on new code upstream, here is the original message, it still applies: -(the original fedora patch was commit id -a9bc20afc1f0604ee81c23b7c67d627e51d2e8d4, this is useful for grepping in -logs, it isn't in upstream) - -When migrating a host with with a spice agent running the mouse becomes -non operational after the migration. This is rhbz #725965. - -The problem is that after migration spice doesn't know the guest agent -is open. Spice is just a char dev here. And a chardev cannot query it's -device, the device has to let the chardev know when it is open. Right -now after migration the chardev which is recreated is in it's default -state, which assumes the guest is disconnected. - -Char devices carry no information across migration, but the -virtio-serial does already carry the guest_connected state. This patch -passes that bit to the chardev. ---- - hw/virtio-serial-bus.c | 6 ++++++ - 1 file changed, 6 insertions(+) - -diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c -index a028877..a6ec2df 100644 ---- a/hw/virtio-serial-bus.c -+++ b/hw/virtio-serial-bus.c -@@ -641,6 +641,7 @@ static void virtio_serial_post_load_timer_cb(void *opaque) - VirtIOSerial *s = opaque; - VirtIOSerialPort *port; - uint8_t host_connected; -+ VirtIOSerialPortClass *vsc; - - for (i = 0 ; i < s->post_load.nr_active_ports; ++i) { - port = s->post_load.connected[i].port; -@@ -653,6 +654,11 @@ static void virtio_serial_post_load_timer_cb(void *opaque) - send_control_event(port, VIRTIO_CONSOLE_PORT_OPEN, - port->host_connected); - } -+ vsc = VIRTIO_SERIAL_PORT_GET_CLASS(port); -+ if (port->guest_connected && vsc->guest_open) { -+ /* replay guest open */ -+ vsc->guest_open(port); -+ } - } - g_free(s->post_load.connected); - s->post_load.connected = NULL; --- -1.8.0 - diff --git a/0500-qxl-disallow-unknown-revisions.patch b/0501-qxl-disallow-unknown-revisions.patch similarity index 88% rename from 0500-qxl-disallow-unknown-revisions.patch rename to 0501-qxl-disallow-unknown-revisions.patch index 331ca45..c5e1406 100644 --- a/0500-qxl-disallow-unknown-revisions.patch +++ b/0501-qxl-disallow-unknown-revisions.patch @@ -1,4 +1,4 @@ -From 4b9d4103e5ff91b022ee8e9522040829f009543a Mon Sep 17 00:00:00 2001 +From 0826dcf575c1f88b5082458d3876c2bfe0a1d9a3 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 21 Aug 2012 13:51:32 +0300 Subject: [PATCH] qxl: disallow unknown revisions @@ -10,7 +10,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c -index 59bf822..71879fe 100644 +index e7e9dd9..20e844f 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1873,9 +1873,9 @@ static int qxl_init_common(PCIQXLDevice *qxl) @@ -27,5 +27,5 @@ index 59bf822..71879fe 100644 pci_set_byte(&config[PCI_REVISION_ID], pci_device_rev); -- -1.7.12.1 +1.8.0.2 diff --git a/0501-spice-make-number-of-surfaces-runtime-configurable.patch b/0502-spice-make-number-of-surfaces-runtime-configurable.patch similarity index 95% rename from 0501-spice-make-number-of-surfaces-runtime-configurable.patch rename to 0502-spice-make-number-of-surfaces-runtime-configurable.patch index b55c3df..3065257 100644 --- a/0501-spice-make-number-of-surfaces-runtime-configurable.patch +++ b/0502-spice-make-number-of-surfaces-runtime-configurable.patch @@ -1,4 +1,4 @@ -From 1c74b60fa972c9489f9cf8fa59165dedd0c23de2 Mon Sep 17 00:00:00 2001 +From 0d67ff8e7dee8babc61c939946836cc8c74b05b1 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 4 Sep 2012 11:39:41 +0200 Subject: [PATCH] spice: make number of surfaces runtime-configurable. @@ -12,7 +12,7 @@ Signed-off-by: Gerd Hoffmann 4 files changed, 23 insertions(+), 19 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c -index 71879fe..83df499 100644 +index 20e844f..c7b4e9a 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -238,7 +238,8 @@ static void qxl_spice_destroy_surfaces_complete(PCIQXLDevice *qxl) @@ -74,7 +74,7 @@ index 71879fe..83df499 100644 "%" PRIu64 " >= NUM_SURFACES", async, val); goto cancel_async; @@ -1717,7 +1718,7 @@ static void qxl_dirty_surfaces(PCIQXLDevice *qxl) - vram_start = (intptr_t)memory_region_get_ram_ptr(&qxl->vram_bar); + vram_start = (uintptr_t)memory_region_get_ram_ptr(&qxl->vram_bar); /* dirty the off-screen surfaces */ - for (i = 0; i < NUM_SURFACES; i++) { @@ -98,7 +98,7 @@ index 71879fe..83df499 100644 memory_region_init_ram(&qxl->vram_bar, "qxl.vram", qxl->vram_size); vmstate_register_ram(&qxl->vram_bar, &qxl->pci.qdev); memory_region_init_alias(&qxl->vram32_bar, "qxl.vram32", &qxl->vram_bar, -@@ -2052,8 +2053,8 @@ static int qxl_post_load(void *opaque, int version) +@@ -2053,8 +2054,8 @@ static int qxl_post_load(void *opaque, int version) qxl_create_guest_primary(d, 1, QXL_SYNC); /* replay surface-create and cursor-set commands */ @@ -109,7 +109,7 @@ index 71879fe..83df499 100644 if (d->guest_surfaces.cmds[in] == 0) { continue; } -@@ -2153,9 +2154,10 @@ static VMStateDescription qxl_vmstate = { +@@ -2154,9 +2155,10 @@ static VMStateDescription qxl_vmstate = { qxl_memslot, struct guest_slots), VMSTATE_STRUCT(guest_primary.surface, PCIQXLDevice, 0, qxl_surface, QXLSurfaceCreate), @@ -123,7 +123,7 @@ index 71879fe..83df499 100644 VMSTATE_UINT64(guest_cursor, PCIQXLDevice), VMSTATE_END_OF_LIST() }, -@@ -2183,6 +2185,7 @@ static Property qxl_properties[] = { +@@ -2184,6 +2186,7 @@ static Property qxl_properties[] = { DEFINE_PROP_UINT32("vram_size_mb", PCIQXLDevice, vram32_size_mb, -1), DEFINE_PROP_UINT32("vram64_size_mb", PCIQXLDevice, vram_size_mb, -1), DEFINE_PROP_UINT32("vgamem_mb", PCIQXLDevice, vgamem_size_mb, 16), @@ -197,5 +197,5 @@ index bcff114..512ab78 100644 QXLRect dirty; int notify; -- -1.7.12.1 +1.8.0.2 diff --git a/0502-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch b/0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch similarity index 95% rename from 0502-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch rename to 0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch index 41c05f5..65bf21b 100644 --- a/0502-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch +++ b/0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch @@ -1,4 +1,4 @@ -From 0fe78ffd13555bed86a41acf96cdc15ece961b0d Mon Sep 17 00:00:00 2001 +From 6e338ef1256bd8672e9a03f6a57a76191d8538e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Tue, 4 Sep 2012 10:14:48 -0400 Subject: [PATCH] qxl: Add set_client_capabilities() interface to QXLInterface @@ -19,7 +19,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 23 insertions(+) diff --git a/hw/qxl.c b/hw/qxl.c -index 83df499..d8b67b2 100644 +index c7b4e9a..552d208 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -946,6 +946,26 @@ static void interface_async_complete(QXLInstance *sin, uint64_t cookie_token) @@ -60,5 +60,5 @@ index 83df499..d8b67b2 100644 static void qxl_enter_vga_mode(PCIQXLDevice *d) -- -1.7.12.1 +1.8.0.2 diff --git a/0503-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch b/0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch similarity index 89% rename from 0503-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch rename to 0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch index 899e280..1d14605 100644 --- a/0503-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch +++ b/0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch @@ -1,4 +1,4 @@ -From 0dcef831a875505fdaffb824de9e4450273ea53d Mon Sep 17 00:00:00 2001 +From 2c3ddbb6b2b53fd06dfd3d5c1fd4c95bc4d8fa28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Sandmann=20Pedersen?= Date: Tue, 4 Sep 2012 10:14:49 -0400 Subject: [PATCH] Remove #ifdef QXL_COMMAND_FLAG_COMPAT_16BPP @@ -12,7 +12,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 2 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c -index d8b67b2..a6e6cf1 100644 +index 552d208..d1d995c 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1361,11 +1361,9 @@ static void qxl_set_mode(PCIQXLDevice *d, int modenr, int loadvm) @@ -28,5 +28,5 @@ index d8b67b2..a6e6cf1 100644 d->rom->mode = cpu_to_le32(modenr); qxl_rom_set_dirty(d); -- -1.7.12.1 +1.8.0.2 diff --git a/0504-spice-switch-to-queue-for-vga-mode-updates.patch b/0505-spice-switch-to-queue-for-vga-mode-updates.patch similarity index 97% rename from 0504-spice-switch-to-queue-for-vga-mode-updates.patch rename to 0505-spice-switch-to-queue-for-vga-mode-updates.patch index b9726e8..4a6138a 100644 --- a/0504-spice-switch-to-queue-for-vga-mode-updates.patch +++ b/0505-spice-switch-to-queue-for-vga-mode-updates.patch @@ -1,4 +1,4 @@ -From 244ff52221b4c4181422861a930d8f755a1a5c08 Mon Sep 17 00:00:00 2001 +From 5d125d9e030ea1ab3c1568d7a88e2b2b1a265363 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 5 Sep 2012 08:25:08 +0200 Subject: [PATCH] spice: switch to queue for vga mode updates @@ -11,7 +11,7 @@ Signed-off-by: Gerd Hoffmann 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c -index a6e6cf1..2ec4341 100644 +index d1d995c..743082d 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -599,9 +599,9 @@ static int interface_get_command(QXLInstance *sin, struct QXLCommandExt *ext) @@ -134,5 +134,5 @@ index 512ab78..3fcb6fe 100644 int qemu_spice_rect_is_empty(const QXLRect* r); -- -1.7.12.1 +1.8.0.2 diff --git a/0505-spice-split-qemu_spice_create_update.patch b/0506-spice-split-qemu_spice_create_update.patch similarity index 97% rename from 0505-spice-split-qemu_spice_create_update.patch rename to 0506-spice-split-qemu_spice_create_update.patch index d761fcf..9c3ed0c 100644 --- a/0505-spice-split-qemu_spice_create_update.patch +++ b/0506-spice-split-qemu_spice_create_update.patch @@ -1,4 +1,4 @@ -From 6d196973a9adba583cf9bbc5a4196a58f2cb0eb3 Mon Sep 17 00:00:00 2001 +From fc15ba066a059c49cf1022345d7ac8fa24a1dd92 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 5 Sep 2012 08:52:23 +0200 Subject: [PATCH] spice: split qemu_spice_create_update @@ -90,5 +90,5 @@ index 59c5fd7..6f68f28 100644 * Called from spice server thread context (via interface_release_ressource) * We do *not* hold the global qemu mutex here, so extra care is needed -- -1.7.12.1 +1.8.0.2 diff --git a/0506-spice-add-screen-mirror.patch b/0507-spice-add-screen-mirror.patch similarity index 97% rename from 0506-spice-add-screen-mirror.patch rename to 0507-spice-add-screen-mirror.patch index 6ee91d1..e01bea7 100644 --- a/0506-spice-add-screen-mirror.patch +++ b/0507-spice-add-screen-mirror.patch @@ -1,4 +1,4 @@ -From 9f4c601032d7a27e8856517a1a020c9988667ed3 Mon Sep 17 00:00:00 2001 +From d02ed657b7ad55f2111a049c3e175ed78c63e5b1 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 5 Sep 2012 09:35:57 +0200 Subject: [PATCH] spice: add screen mirror @@ -94,5 +94,5 @@ index 3fcb6fe..dea41c1 100644 int bufsize; QXLWorker *worker; -- -1.7.12.1 +1.8.0.2 diff --git a/0507-spice-send-updates-only-for-changed-screen-content.patch b/0508-spice-send-updates-only-for-changed-screen-content.patch similarity index 97% rename from 0507-spice-send-updates-only-for-changed-screen-content.patch rename to 0508-spice-send-updates-only-for-changed-screen-content.patch index b575091..58c6282 100644 --- a/0507-spice-send-updates-only-for-changed-screen-content.patch +++ b/0508-spice-send-updates-only-for-changed-screen-content.patch @@ -1,4 +1,4 @@ -From e2da4b3f683ae63a55b8e50903a164f704be9e1d Mon Sep 17 00:00:00 2001 +From d112b2fbcc278746037badfb96619b6a87c7b7a3 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 5 Sep 2012 10:41:42 +0200 Subject: [PATCH] spice: send updates only for changed screen content @@ -89,5 +89,5 @@ index 973cd53..d062765 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0508-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch b/0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch similarity index 93% rename from 0508-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch rename to 0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch index 78845b8..904feb6 100644 --- a/0508-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch +++ b/0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch @@ -1,4 +1,4 @@ -From 984e5c7aee378a8de44ff54891695115b92fe585 Mon Sep 17 00:00:00 2001 +From a075bce1994a52556beada7d81195e1bfeafe609 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 7 Sep 2012 21:29:22 +0200 Subject: [PATCH] qxl: Ignore set_client_capabilities pre/post migrate @@ -21,7 +21,7 @@ Signed-off-by: Hans de Goede 1 file changed, 5 insertions(+) diff --git a/hw/qxl.c b/hw/qxl.c -index 2ec4341..360f4f6 100644 +index 743082d..8a86ffc 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -955,6 +955,11 @@ static void interface_set_client_capabilities(QXLInstance *sin, @@ -37,5 +37,5 @@ index 2ec4341..360f4f6 100644 memcpy(qxl->shadow_rom.client_capabilities, caps, sizeof(caps)); qxl->rom->client_present = client_present; -- -1.7.12.1 +1.8.0.2 diff --git a/0509-qxl-add-trace-event-for-QXL_IO_LOG.patch b/0510-qxl-add-trace-event-for-QXL_IO_LOG.patch similarity index 93% rename from 0509-qxl-add-trace-event-for-QXL_IO_LOG.patch rename to 0510-qxl-add-trace-event-for-QXL_IO_LOG.patch index d5093de..d6a82d8 100644 --- a/0509-qxl-add-trace-event-for-QXL_IO_LOG.patch +++ b/0510-qxl-add-trace-event-for-QXL_IO_LOG.patch @@ -1,4 +1,4 @@ -From 720192d056402f47a8f71d9ac9bc4b0cf37902ed Mon Sep 17 00:00:00 2001 +From 82eab431ed1b9b198f2cab46a6a59fa2e5a31dc1 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Wed, 12 Sep 2012 16:13:27 +0300 Subject: [PATCH] qxl: add trace-event for QXL_IO_LOG @@ -11,7 +11,7 @@ Signed-off-by: Gerd Hoffmann 2 files changed, 2 insertions(+) diff --git a/hw/qxl.c b/hw/qxl.c -index 360f4f6..1ef117a 100644 +index 8a86ffc..006a9b7 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1515,6 +1515,7 @@ async_common: @@ -35,5 +35,5 @@ index aa79836..80a52d9 100644 qxl_io_unexpected_vga_mode(int qid, uint64_t addr, uint64_t val, const char *desc) "%d 0x%"PRIx64"=%"PRIu64" (%s)" qxl_io_write(int qid, const char *mode, uint64_t addr, uint64_t val, unsigned size, int async) "%d %s addr=%"PRIu64 " val=%"PRIu64" size=%u async=%d" -- -1.7.12.1 +1.8.0.2 diff --git a/0510-hw-qxl-support-client-monitor-configuration-via-devi.patch b/0511-hw-qxl-support-client-monitor-configuration-via-devi.patch similarity index 97% rename from 0510-hw-qxl-support-client-monitor-configuration-via-devi.patch rename to 0511-hw-qxl-support-client-monitor-configuration-via-devi.patch index 4a00940..0055ad6 100644 --- a/0510-hw-qxl-support-client-monitor-configuration-via-devi.patch +++ b/0511-hw-qxl-support-client-monitor-configuration-via-devi.patch @@ -1,4 +1,4 @@ -From f5c2bd00890dc32e940e8b2fae09f62f758317eb Mon Sep 17 00:00:00 2001 +From 6477aff05e661c5fb7d73d7c10e1a8a0af175e92 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Wed, 12 Sep 2012 16:13:28 +0300 Subject: [PATCH] hw/qxl: support client monitor configuration via device @@ -24,10 +24,10 @@ Signed-off-by: Gerd Hoffmann 3 files changed, 91 insertions(+), 1 deletion(-) diff --git a/configure b/configure -index f528146..83c478c 100755 +index 9129433..5eb4369 100755 --- a/configure +++ b/configure -@@ -2706,6 +2706,9 @@ EOF +@@ -2705,6 +2705,9 @@ EOF if $pkg_config --atleast-version=0.12.0 spice-protocol >/dev/null 2>&1; then spice_qxl_io_monitors_config_async="yes" fi @@ -37,7 +37,7 @@ index f528146..83c478c 100755 else if test "$spice" = "yes" ; then feature_not_found "spice" -@@ -3453,6 +3456,10 @@ if test "$spice_qxl_io_monitors_config_async" = "yes" ; then +@@ -3452,6 +3455,10 @@ if test "$spice_qxl_io_monitors_config_async" = "yes" ; then echo "CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC=y" >> $config_host_mak fi @@ -49,7 +49,7 @@ index f528146..83c478c 100755 echo "CONFIG_SMARTCARD=y" >> $config_host_mak fi diff --git a/hw/qxl.c b/hw/qxl.c -index 1ef117a..0695872 100644 +index 006a9b7..1aac04b 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -18,6 +18,8 @@ @@ -177,5 +177,5 @@ index 80a52d9..07b63f1 100644 # hw/qxl-render.c qxl_render_blit_guest_primary_initialized(void) "" -- -1.7.12.1 +1.8.0.2 diff --git a/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch b/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch index e742f65..bcc5ac3 100644 --- a/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch +++ b/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch @@ -1,4 +1,4 @@ -From 2bbe4bb8c12976312c9421489f7568a70e5ffae3 Mon Sep 17 00:00:00 2001 +From eaea06c56ee6569bbd6864a6f767160a74c9c65d Mon Sep 17 00:00:00 2001 From: Michael Tokarev Date: Wed, 19 Sep 2012 17:41:26 +0400 Subject: [PATCH] qxl/update_area_io: cleanup invalid parameters handling @@ -16,7 +16,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 3 insertions(+), 10 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c -index 0695872..720363f 100644 +index 1aac04b..6b9d5d0 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1547,20 +1547,13 @@ async_common: @@ -44,5 +44,5 @@ index 0695872..720363f 100644 } if (async == QXL_ASYNC) { -- -1.7.12.1 +1.8.0.2 diff --git a/0513-qxl-fix-range-check-for-rev3-io-commands.patch b/0513-qxl-fix-range-check-for-rev3-io-commands.patch index 65f8763..bcc42ed 100644 --- a/0513-qxl-fix-range-check-for-rev3-io-commands.patch +++ b/0513-qxl-fix-range-check-for-rev3-io-commands.patch @@ -1,4 +1,4 @@ -From 0e0d8cfb93813c0d693b14e3d433d36ee9bc6bab Mon Sep 17 00:00:00 2001 +From 7d349451b0b2561922927e45d7febeed514d7a86 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 25 Sep 2012 13:56:40 +0200 Subject: [PATCH] qxl: fix range check for rev3 io commands. @@ -12,7 +12,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/qxl.c b/hw/qxl.c -index 720363f..9389752 100644 +index 6b9d5d0..8d33745 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1466,7 +1466,7 @@ static void ioport_write(void *opaque, target_phys_addr_t addr, @@ -25,5 +25,5 @@ index 720363f..9389752 100644 io_port, d->revision); return; -- -1.7.12.1 +1.8.0.2 diff --git a/0514-hw-qxl-exit-on-failure-to-register-qxl-interface.patch b/0514-hw-qxl-exit-on-failure-to-register-qxl-interface.patch deleted file mode 100644 index a89db68..0000000 --- a/0514-hw-qxl-exit-on-failure-to-register-qxl-interface.patch +++ /dev/null @@ -1,35 +0,0 @@ -From a0f199b76debf55933c2b3b917c13c86784e3be0 Mon Sep 17 00:00:00 2001 -From: Alon Levy -Date: Wed, 3 Oct 2012 20:13:58 +0200 -Subject: [PATCH 514/647] hw/qxl: exit on failure to register qxl interface - -This prevents a segfault later on when the device reset handler -tries to access a NULL ssd.worker since interface_attach_worker has -not been called. - -Signed-off-by: Alon Levy -Signed-off-by: Gerd Hoffmann ---- - hw/qxl.c | 6 +++++- - 1 file changed, 5 insertions(+), 1 deletion(-) - -diff --git a/hw/qxl.c b/hw/qxl.c -index 9389752..a2dd020 100644 ---- a/hw/qxl.c -+++ b/hw/qxl.c -@@ -2035,7 +2035,11 @@ static int qxl_init_common(PCIQXLDevice *qxl) - - qxl->ssd.qxl.base.sif = &qxl_interface.base; - qxl->ssd.qxl.id = qxl->id; -- qemu_spice_add_interface(&qxl->ssd.qxl.base); -+ if (qemu_spice_add_interface(&qxl->ssd.qxl.base) != 0) { -+ error_report("qxl interface %d.%d not supported by spice-server\n", -+ SPICE_INTERFACE_QXL_MAJOR, SPICE_INTERFACE_QXL_MINOR); -+ return -1; -+ } - qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl); - - init_pipe_signaling(qxl); --- -1.7.12.1 - diff --git a/0515-hw-qxl-fix-condition-for-exiting-guest_bug.patch b/0515-hw-qxl-fix-condition-for-exiting-guest_bug.patch deleted file mode 100644 index 945b5df..0000000 --- a/0515-hw-qxl-fix-condition-for-exiting-guest_bug.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 73a691f6799e05afda0be01c1cd5e2f6914e8773 Mon Sep 17 00:00:00 2001 -From: Alon Levy -Date: Tue, 2 Oct 2012 11:39:14 +0200 -Subject: [PATCH 515/647] hw/qxl: fix condition for exiting guest_bug - -Reported and suggested by Paolo Bonzini, thanks. - -Signed-off-by: Alon Levy -Signed-off-by: Gerd Hoffmann ---- - hw/qxl.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/hw/qxl.c b/hw/qxl.c -index a2dd020..e3a164a 100644 ---- a/hw/qxl.c -+++ b/hw/qxl.c -@@ -1461,7 +1461,7 @@ static void ioport_write(void *opaque, target_phys_addr_t addr, - qxl_async_io async = QXL_SYNC; - uint32_t orig_io_port = io_port; - -- if (d->guest_bug && !io_port == QXL_IO_RESET) { -+ if (d->guest_bug && io_port != QXL_IO_RESET) { - return; - } - --- -1.7.12.1 - diff --git a/0517-spice-raise-requirement-to-0.12.patch b/0517-spice-raise-requirement-to-0.12.patch deleted file mode 100644 index 4ffb529..0000000 --- a/0517-spice-raise-requirement-to-0.12.patch +++ /dev/null @@ -1,465 +0,0 @@ -From be955ad2a04cb7be9b5f34cd0e43d29f34113c6e Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 24 Sep 2012 10:23:40 +0200 -Subject: [PATCH 517/647] spice: raise requirement to 0.12 - -With the next qemu version (1.3) we are going to bump the qxl device -revision to 4. The new features available require a recent spice-server -version, so raise up the bar. Otherwise we would end up with different -qxl revisions depending on the spice-server version installed, which -would be a major PITA when it comes to compat properties. - -Clear out a big bunch of #ifdefs which are not needed any more. - -Signed-off-by: Gerd Hoffmann ---- - configure | 18 ++---------------- - hw/qxl.c | 30 ------------------------------ - ui/spice-core.c | 51 ++------------------------------------------------- - ui/spice-display.c | 38 -------------------------------------- - ui/spice-display.h | 5 ----- - 5 files changed, 4 insertions(+), 138 deletions(-) - -diff --git a/configure b/configure -index ebe8b1c..b843d20 100755 ---- a/configure -+++ b/configure -@@ -2705,20 +2705,14 @@ int main(void) { spice_server_new(); return 0; } - EOF - spice_cflags=$($pkg_config --cflags spice-protocol spice-server 2>/dev/null) - spice_libs=$($pkg_config --libs spice-protocol spice-server 2>/dev/null) -- if $pkg_config --atleast-version=0.8.2 spice-server >/dev/null 2>&1 && \ -- $pkg_config --atleast-version=0.8.1 spice-protocol > /dev/null 2>&1 && \ -+ if $pkg_config --atleast-version=0.12.0 spice-server >/dev/null 2>&1 && \ -+ $pkg_config --atleast-version=0.12.2 spice-protocol > /dev/null 2>&1 && \ - compile_prog "$spice_cflags" "$spice_libs" ; then - spice="yes" - libs_softmmu="$libs_softmmu $spice_libs" - QEMU_CFLAGS="$QEMU_CFLAGS $spice_cflags" - spice_protocol_version=$($pkg_config --modversion spice-protocol) - spice_server_version=$($pkg_config --modversion spice-server) -- if $pkg_config --atleast-version=0.12.0 spice-protocol >/dev/null 2>&1; then -- spice_qxl_io_monitors_config_async="yes" -- fi -- if $pkg_config --atleast-version=0.12.2 spice-protocol > /dev/null 2>&1; then -- spice_qxl_client_monitors_config="yes" -- fi - else - if test "$spice" = "yes" ; then - feature_not_found "spice" -@@ -3456,14 +3450,6 @@ if test "$spice" = "yes" ; then - echo "CONFIG_SPICE=y" >> $config_host_mak - fi - --if test "$spice_qxl_io_monitors_config_async" = "yes" ; then -- echo "CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC=y" >> $config_host_mak --fi -- --if test "$spice_qxl_client_monitors_config" = "yes" ; then -- echo "CONFIG_QXL_CLIENT_MONITORS_CONFIG=y" >> $config_host_mak --fi -- - if test "$smartcard" = "yes" ; then - echo "CONFIG_SMARTCARD=y" >> $config_host_mak - fi -diff --git a/hw/qxl.c b/hw/qxl.c -index 5a9bf1c..255fdf4 100644 ---- a/hw/qxl.c -+++ b/hw/qxl.c -@@ -29,11 +29,6 @@ - - #include "qxl.h" - --#ifndef CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC --/* spice-protocol is too old, add missing definitions */ --#define QXL_IO_MONITORS_CONFIG_ASYNC (QXL_IO_FLUSH_RELEASE + 1) --#endif -- - /* - * NOTE: SPICE_RING_PROD_ITEM accesses memory on the pci bar and as - * such can be changed by the guest, so to avoid a guest trigerrable -@@ -262,9 +257,6 @@ static void qxl_spice_destroy_surfaces(PCIQXLDevice *qxl, qxl_async_io async) - static void qxl_spice_monitors_config_async(PCIQXLDevice *qxl, int replay) - { - trace_qxl_spice_monitors_config(qxl->id); --/* 0x000b01 == 0.11.1 */ --#if SPICE_SERVER_VERSION >= 0x000b01 && \ -- defined(CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC) - if (replay) { - /* - * don't use QXL_COOKIE_TYPE_IO: -@@ -286,10 +278,6 @@ static void qxl_spice_monitors_config_async(PCIQXLDevice *qxl, int replay) - (uintptr_t)qxl_cookie_new(QXL_COOKIE_TYPE_IO, - QXL_IO_MONITORS_CONFIG_ASYNC)); - } --#else -- fprintf(stderr, "qxl: too old spice-protocol/spice-server for " -- "QXL_IO_MONITORS_CONFIG_ASYNC\n"); --#endif - } - - void qxl_spice_reset_image_cache(PCIQXLDevice *qxl) -@@ -948,8 +936,6 @@ static void interface_async_complete(QXLInstance *sin, uint64_t cookie_token) - } - } - --#if SPICE_SERVER_VERSION >= 0x000b04 -- - /* called from spice server thread context only */ - static void interface_set_client_capabilities(QXLInstance *sin, - uint8_t client_present, -@@ -971,11 +957,6 @@ static void interface_set_client_capabilities(QXLInstance *sin, - qxl_send_events(qxl, QXL_INTERRUPT_CLIENT); - } - --#endif -- --#if defined(CONFIG_QXL_CLIENT_MONITORS_CONFIG) \ -- && SPICE_SERVER_VERSION >= 0x000b05 -- - static uint32_t qxl_crc32(const uint8_t *p, unsigned len) - { - /* -@@ -1044,7 +1025,6 @@ static int interface_client_monitors_config(QXLInstance *sin, - qxl_send_events(qxl, QXL_INTERRUPT_CLIENT_MONITORS_CONFIG); - return 1; - } --#endif - - static const QXLInterface qxl_interface = { - .base.type = SPICE_INTERFACE_QXL, -@@ -1067,13 +1047,8 @@ static const QXLInterface qxl_interface = { - .flush_resources = interface_flush_resources, - .async_complete = interface_async_complete, - .update_area_complete = interface_update_area_complete, --#if SPICE_SERVER_VERSION >= 0x000b04 - .set_client_capabilities = interface_set_client_capabilities, --#endif --#if SPICE_SERVER_VERSION >= 0x000b05 && \ -- defined(CONFIG_QXL_CLIENT_MONITORS_CONFIG) - .client_monitors_config = interface_client_monitors_config, --#endif - }; - - static void qxl_enter_vga_mode(PCIQXLDevice *d) -@@ -1846,7 +1821,6 @@ static void qxl_vm_change_state_handler(void *opaque, int running, - RunState state) - { - PCIQXLDevice *qxl = opaque; -- qemu_spice_vm_change_state_handler(&qxl->ssd, running, state); - - if (running) { - /* -@@ -1963,14 +1937,10 @@ static int qxl_init_common(PCIQXLDevice *qxl) - pci_device_rev = QXL_REVISION_STABLE_V10; - io_size = 32; /* PCI region size must be pow2 */ - break; --/* 0x000b01 == 0.11.1 */ --#if SPICE_SERVER_VERSION >= 0x000b01 && \ -- defined(CONFIG_QXL_IO_MONITORS_CONFIG_ASYNC) - case 4: /* qxl-4 */ - pci_device_rev = QXL_REVISION_STABLE_V12; - io_size = msb_mask(QXL_IO_RANGE_SIZE * 2 - 1); - break; --#endif - default: - error_report("Invalid revision %d for qxl device (max %d)", - qxl->revision, QXL_DEFAULT_REVISION); -diff --git a/ui/spice-core.c b/ui/spice-core.c -index ba0d0bd..5147365 100644 ---- a/ui/spice-core.c -+++ b/ui/spice-core.c -@@ -223,7 +223,6 @@ static void channel_event(int event, SpiceChannelEventInfo *info) - client = qdict_new(); - server = qdict_new(); - --#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT - if (info->flags & SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT) { - add_addr_info(client, (struct sockaddr *)&info->paddr_ext, - info->plen_ext); -@@ -232,12 +231,7 @@ static void channel_event(int event, SpiceChannelEventInfo *info) - } else { - error_report("spice: %s, extended address is expected", - __func__); --#endif -- add_addr_info(client, &info->paddr, info->plen); -- add_addr_info(server, &info->laddr, info->llen); --#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT - } --#endif - - if (event == SPICE_CHANNEL_EVENT_INITIALIZED) { - qdict_put(server, "auth", qstring_from_str(auth)); -@@ -276,7 +270,6 @@ static SpiceCoreInterface core_interface = { - .channel_event = channel_event, - }; - --#ifdef SPICE_INTERFACE_MIGRATION - typedef struct SpiceMigration { - SpiceMigrateInstance sin; - struct { -@@ -313,7 +306,6 @@ static void migrate_end_complete_cb(SpiceMigrateInstance *sin) - monitor_protocol_event(QEVENT_SPICE_MIGRATE_COMPLETED, NULL); - spice_migration_completed = true; - } --#endif - - /* config string parsing */ - -@@ -393,17 +385,13 @@ static SpiceChannelList *qmp_query_spice_channels(void) - chan = g_malloc0(sizeof(*chan)); - chan->value = g_malloc0(sizeof(*chan->value)); - --#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT - if (item->info->flags & SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT) { - paddr = (struct sockaddr *)&item->info->paddr_ext; - plen = item->info->plen_ext; - } else { --#endif - paddr = &item->info->paddr; - plen = item->info->plen; --#ifdef SPICE_CHANNEL_EVENT_FLAG_ADDR_EXT - } --#endif - - getnameinfo(paddr, plen, - host, sizeof(host), port, sizeof(port), -@@ -473,13 +461,10 @@ SpiceInfo *qmp_query_spice(Error **errp) - info->tls_port = tls_port; - } - --#if SPICE_SERVER_VERSION >= 0x000a03 /* 0.10.3 */ - info->mouse_mode = spice_server_is_server_mouse(spice_server) ? - SPICE_QUERY_MOUSE_MODE_SERVER : - SPICE_QUERY_MOUSE_MODE_CLIENT; --#else -- info->mouse_mode = SPICE_QUERY_MOUSE_MODE_UNKNOWN; --#endif -+ - /* for compatibility with the original command */ - info->has_channels = true; - info->channels = qmp_query_spice_channels(); -@@ -492,19 +477,11 @@ static void migration_state_notifier(Notifier *notifier, void *data) - MigrationState *s = data; - - if (migration_is_active(s)) { --#ifdef SPICE_INTERFACE_MIGRATION - spice_server_migrate_start(spice_server); --#endif - } else if (migration_has_finished(s)) { --#ifndef SPICE_INTERFACE_MIGRATION -- spice_server_migrate_switch(spice_server); -- monitor_protocol_event(QEVENT_SPICE_MIGRATE_COMPLETED, NULL); -- spice_migration_completed = true; --#else - spice_server_migrate_end(spice_server, true); - } else if (migration_has_failed(s)) { - spice_server_migrate_end(spice_server, false); --#endif - } - } - -@@ -513,16 +490,11 @@ int qemu_spice_migrate_info(const char *hostname, int port, int tls_port, - MonitorCompletion *cb, void *opaque) - { - int ret; --#ifdef SPICE_INTERFACE_MIGRATION -+ - spice_migrate.connect_complete.cb = cb; - spice_migrate.connect_complete.opaque = opaque; - ret = spice_server_migrate_connect(spice_server, hostname, - port, tls_port, subject); --#else -- ret = spice_server_migrate_info(spice_server, hostname, -- port, tls_port, subject); -- cb(opaque, NULL); --#endif - return ret; - } - -@@ -561,7 +533,6 @@ static int add_channel(const char *name, const char *value, void *opaque) - static void vm_change_state_handler(void *opaque, int running, - RunState state) - { --#if SPICE_SERVER_VERSION >= 0x000b02 /* 0.11.2 */ - if (running) { - qemu_spice_display_start(); - spice_server_vm_start(spice_server); -@@ -569,7 +540,6 @@ static void vm_change_state_handler(void *opaque, int running, - spice_server_vm_stop(spice_server); - qemu_spice_display_stop(); - } --#endif - } - - void qemu_spice_init(void) -@@ -585,9 +555,7 @@ void qemu_spice_init(void) - int port, tls_port, len, addr_flags; - spice_image_compression_t compression; - spice_wan_compression_t wan_compr; --#if SPICE_SERVER_VERSION >= 0x000b02 /* 0.11.2 */ - bool seamless_migration; --#endif - - qemu_thread_get_self(&me); - -@@ -672,16 +640,11 @@ void qemu_spice_init(void) - spice_server_set_ticket(spice_server, password, 0, 0, 0); - } - if (qemu_opt_get_bool(opts, "sasl", 0)) { --#if SPICE_SERVER_VERSION >= 0x000900 /* 0.9.0 */ - if (spice_server_set_sasl_appname(spice_server, "qemu") == -1 || - spice_server_set_sasl(spice_server, 1) == -1) { - error_report("spice: failed to enable sasl"); - exit(1); - } --#else -- error_report("spice: sasl is not available (spice >= 0.9 required)"); -- exit(1); --#endif - } - if (qemu_opt_get_bool(opts, "disable-ticketing", 0)) { - auth = "none"; -@@ -726,15 +689,11 @@ void qemu_spice_init(void) - - qemu_opt_foreach(opts, add_channel, &tls_port, 0); - --#if SPICE_SERVER_VERSION >= 0x000a02 /* 0.10.2 */ - spice_server_set_name(spice_server, qemu_name); - spice_server_set_uuid(spice_server, qemu_uuid); --#endif - --#if SPICE_SERVER_VERSION >= 0x000b02 /* 0.11.2 */ - seamless_migration = qemu_opt_get_bool(opts, "seamless-migration", 0); - spice_server_set_seamless_migration(spice_server, seamless_migration); --#endif - if (0 != spice_server_init(spice_server, &core_interface)) { - error_report("failed to initialize spice server"); - exit(1); -@@ -743,11 +702,9 @@ void qemu_spice_init(void) - - migration_state.notify = migration_state_notifier; - add_migration_state_change_notifier(&migration_state); --#ifdef SPICE_INTERFACE_MIGRATION - spice_migrate.sin.base.sif = &migrate_interface.base; - spice_migrate.connect_complete.cb = NULL; - qemu_spice_add_interface(&spice_migrate.sin.base); --#endif - - qemu_spice_input_init(); - qemu_spice_audio_init(); -@@ -815,15 +772,11 @@ int qemu_spice_set_pw_expire(time_t expires) - - int qemu_spice_display_add_client(int csock, int skipauth, int tls) - { --#if SPICE_SERVER_VERSION >= 0x000a01 - if (tls) { - return spice_server_add_ssl_client(spice_server, csock, skipauth); - } else { - return spice_server_add_client(spice_server, csock, skipauth); - } --#else -- return -1; --#endif - } - - static void spice_register_config(void) -diff --git a/ui/spice-display.c b/ui/spice-display.c -index d062765..422e7c4 100644 ---- a/ui/spice-display.c -+++ b/ui/spice-display.c -@@ -126,21 +126,6 @@ void qemu_spice_wakeup(SimpleSpiceDisplay *ssd) - ssd->worker->wakeup(ssd->worker); - } - --#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ --static void qemu_spice_start(SimpleSpiceDisplay *ssd) --{ -- trace_qemu_spice_start(ssd->qxl.id); -- ssd->worker->start(ssd->worker); --} -- --static void qemu_spice_stop(SimpleSpiceDisplay *ssd) --{ -- trace_qemu_spice_stop(ssd->qxl.id); -- ssd->worker->stop(ssd->worker); --} -- --#else -- - static int spice_display_is_running; - - void qemu_spice_display_start(void) -@@ -153,15 +138,9 @@ void qemu_spice_display_stop(void) - spice_display_is_running = false; - } - --#endif -- - int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd) - { --#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ -- return ssd->running; --#else - return spice_display_is_running; --#endif - } - - static void qemu_spice_create_one_update(SimpleSpiceDisplay *ssd, -@@ -364,22 +343,6 @@ void qemu_spice_destroy_host_primary(SimpleSpiceDisplay *ssd) - qemu_spice_destroy_primary_surface(ssd, 0, QXL_SYNC); - } - --void qemu_spice_vm_change_state_handler(void *opaque, int running, -- RunState state) --{ --#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ -- SimpleSpiceDisplay *ssd = opaque; -- -- if (running) { -- ssd->running = true; -- qemu_spice_start(ssd); -- } else { -- qemu_spice_stop(ssd); -- ssd->running = false; -- } --#endif --} -- - void qemu_spice_display_init_common(SimpleSpiceDisplay *ssd, DisplayState *ds) - { - ssd->ds = ds; -@@ -623,7 +586,6 @@ void qemu_spice_display_init(DisplayState *ds) - qemu_spice_add_interface(&sdpy.qxl.base); - assert(sdpy.worker); - -- qemu_add_vm_change_state_handler(qemu_spice_vm_change_state_handler, &sdpy); - qemu_spice_create_host_memslot(&sdpy); - qemu_spice_create_host_primary(&sdpy); - } -diff --git a/ui/spice-display.h b/ui/spice-display.h -index dea41c1..d766927 100644 ---- a/ui/spice-display.h -+++ b/ui/spice-display.h -@@ -83,9 +83,6 @@ struct SimpleSpiceDisplay { - - QXLRect dirty; - int notify; --#if SPICE_SERVER_VERSION < 0x000b02 /* before 0.11.2 */ -- int running; --#endif - - /* - * All struct members below this comment can be accessed from -@@ -133,8 +130,6 @@ void qemu_spice_create_primary_surface(SimpleSpiceDisplay *ssd, uint32_t id, - void qemu_spice_destroy_primary_surface(SimpleSpiceDisplay *ssd, - uint32_t id, qxl_async_io async); - void qemu_spice_wakeup(SimpleSpiceDisplay *ssd); --#if SPICE_SERVER_VERSION >= 0x000b02 /* before 0.11.2 */ - void qemu_spice_display_start(void); - void qemu_spice_display_stop(void); --#endif - int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd); --- -1.7.12.1 - diff --git a/0518-qxl-set-default-revision-to-4.patch b/0518-qxl-set-default-revision-to-4.patch deleted file mode 100644 index c2eab7b..0000000 --- a/0518-qxl-set-default-revision-to-4.patch +++ /dev/null @@ -1,33 +0,0 @@ -From 7b1c2ac1342371bf43035b2ee1b02d9f554da49d Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Thu, 1 Nov 2012 11:06:54 +0100 -Subject: [PATCH 518/647] qxl: set default revision to 4 - -Set qxl pci revision to 4 so guests know spice-server 0.12 features -are available. - -Signed-off-by: Gerd Hoffmann ---- - hw/qxl.h | 5 ----- - 1 file changed, 5 deletions(-) - -diff --git a/hw/qxl.h b/hw/qxl.h -index 5553824..e583cfb 100644 ---- a/hw/qxl.h -+++ b/hw/qxl.h -@@ -129,12 +129,7 @@ typedef struct PCIQXLDevice { - } \ - } while (0) - --#if 0 --/* spice-server 0.12 is still in development */ - #define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V12 --#else --#define QXL_DEFAULT_REVISION QXL_REVISION_STABLE_V10 --#endif - - /* qxl.c */ - void *qxl_phys2virt(PCIQXLDevice *qxl, QXLPHYSICAL phys, int group_id); --- -1.7.12.1 - diff --git a/0600-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch b/0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch similarity index 98% rename from 0600-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch rename to 0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch index 3651fda..88889a2 100644 --- a/0600-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch +++ b/0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch @@ -1,4 +1,4 @@ -From a6400ff20f4e32eecce44931e33939cdf04e2a3e Mon Sep 17 00:00:00 2001 +From afe0b566b5700b9c3933b7b3f8e9414ff2014de1 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 31 Aug 2012 13:41:38 +0200 Subject: [PATCH] usb-redir: Convert to new libusbredirparser 0.5 API @@ -14,10 +14,10 @@ Signed-off-by: Gerd Hoffmann 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/configure b/configure -index 83c478c..2c4469f 100755 +index 5eb4369..d43d61a 100755 --- a/configure +++ b/configure -@@ -2758,7 +2758,7 @@ fi +@@ -2757,7 +2757,7 @@ fi # check for usbredirparser for usb network redirection support if test "$usb_redir" != "no" ; then @@ -228,5 +228,5 @@ index b7c7f1e..321f5be 100644 if (dev->endpoint[EP2I(ep)].type != USB_ENDPOINT_XFER_INT) { -- -1.7.12.1 +1.8.0.2 diff --git a/0601-usb-redir-Set-ep-max_packet_size-if-available.patch b/0602-usb-redir-Set-ep-max_packet_size-if-available.patch similarity index 95% rename from 0601-usb-redir-Set-ep-max_packet_size-if-available.patch rename to 0602-usb-redir-Set-ep-max_packet_size-if-available.patch index 8dacdb4..1e93c33 100644 --- a/0601-usb-redir-Set-ep-max_packet_size-if-available.patch +++ b/0602-usb-redir-Set-ep-max_packet_size-if-available.patch @@ -1,4 +1,4 @@ -From 0995eaeb06c4810cd133e710170a7b181caf04cd Mon Sep 17 00:00:00 2001 +From c065841b3604ac4f2b1c564db7c2fd180ac1c32d Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 11:49:07 +0200 Subject: [PATCH] usb-redir: Set ep max_packet_size if available @@ -35,5 +35,5 @@ index 321f5be..b9a3633 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0602-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch b/0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch similarity index 95% rename from 0602-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch rename to 0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch index cfe0fa1..a24fe54 100644 --- a/0602-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch +++ b/0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch @@ -1,4 +1,4 @@ -From 596013354fd1d5b102cdb54449b10e11346f9fda Mon Sep 17 00:00:00 2001 +From b9d21224a0186b5b6664d28a06729e0a5dadb853 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 11:53:28 +0200 Subject: [PATCH] usb-redir: Add a usbredir_reject_device helper function @@ -54,5 +54,5 @@ index b9a3633..a590cb2 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0603-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch b/0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch similarity index 95% rename from 0603-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch rename to 0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch index ef6b4a2..792ec58 100644 --- a/0603-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch +++ b/0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch @@ -1,4 +1,4 @@ -From 87317670541ed043a21964c29e0e613aab375224 Mon Sep 17 00:00:00 2001 +From 5b53990774b76625ff3d288fda1c0def3e612c92 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 12:04:49 +0200 Subject: [PATCH] usb-redir: Ensure our peer has the necessary caps when @@ -39,5 +39,5 @@ index a590cb2..f1bb692 100644 usbredir_reject_device(dev); } -- -1.7.12.1 +1.8.0.2 diff --git a/0604-usb-redir-Enable-pipelining-for-bulk-endpoints.patch b/0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch similarity index 91% rename from 0604-usb-redir-Enable-pipelining-for-bulk-endpoints.patch rename to 0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch index cfb988e..d7c3444 100644 --- a/0604-usb-redir-Enable-pipelining-for-bulk-endpoints.patch +++ b/0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch @@ -1,4 +1,4 @@ -From c12ef3d896e426505ea3ca4fb2f1d9017f9cf828 Mon Sep 17 00:00:00 2001 +From 9658745685663e7fbae0e6956cbb95be835076f3 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 13:44:04 +0200 Subject: [PATCH] usb-redir: Enable pipelining for bulk endpoints @@ -24,5 +24,5 @@ index f1bb692..f183263 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0605-xhci-move-device-lookup-into-xhci_setup_packet.patch b/0606-xhci-move-device-lookup-into-xhci_setup_packet.patch similarity index 97% rename from 0605-xhci-move-device-lookup-into-xhci_setup_packet.patch rename to 0606-xhci-move-device-lookup-into-xhci_setup_packet.patch index 3a2ad62..cc4070c 100644 --- a/0605-xhci-move-device-lookup-into-xhci_setup_packet.patch +++ b/0606-xhci-move-device-lookup-into-xhci_setup_packet.patch @@ -1,4 +1,4 @@ -From 2255facbc338e73aa2442e2a1dc13b3474b35f98 Mon Sep 17 00:00:00 2001 +From 33cc7c61049bfe2563828e3b865874c4b1b55b6f Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 24 Aug 2012 14:21:39 +0200 Subject: [PATCH] xhci: move device lookup into xhci_setup_packet @@ -9,7 +9,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 38 insertions(+), 36 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 333df59..316a303 100644 +index 30cb0d5..1a65063 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -1196,13 +1196,38 @@ static void xhci_stall_ep(XHCITransfer *xfer) @@ -150,5 +150,5 @@ index 333df59..316a303 100644 if (result == USB_RET_NAK) { return; -- -1.7.12.1 +1.8.0.2 diff --git a/0606-xhci-implement-mfindex.patch b/0607-xhci-implement-mfindex.patch similarity index 97% rename from 0606-xhci-implement-mfindex.patch rename to 0607-xhci-implement-mfindex.patch index 4e4d268..523fc9b 100644 --- a/0606-xhci-implement-mfindex.patch +++ b/0607-xhci-implement-mfindex.patch @@ -1,4 +1,4 @@ -From 1f98b775c9f02caece1df5813edbb9c0a509bd58 Mon Sep 17 00:00:00 2001 +From b935a33743b54a9dd670c1245376a3903bab4801 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 21 Aug 2012 12:32:58 +0200 Subject: [PATCH] xhci: implement mfindex @@ -11,7 +11,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 46 insertions(+), 7 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 316a303..f5ba6a4 100644 +index 1a65063..88f71fc 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -380,8 +380,6 @@ struct XHCIState { @@ -138,5 +138,5 @@ index 316a303..f5ba6a4 100644 memory_region_init_io(&xhci->mem, &xhci_mem_ops, xhci, -- -1.7.12.1 +1.8.0.2 diff --git a/0607-xhci-iso-xfer-support.patch b/0608-xhci-iso-xfer-support.patch similarity index 98% rename from 0607-xhci-iso-xfer-support.patch rename to 0608-xhci-iso-xfer-support.patch index acaee96..36094b6 100644 --- a/0607-xhci-iso-xfer-support.patch +++ b/0608-xhci-iso-xfer-support.patch @@ -1,4 +1,4 @@ -From 82508212e19333e527b64fb76cd1bc016afacc8a Mon Sep 17 00:00:00 2001 +From 26c73adc7b291c90f5975f7148092e4fc207f3dc Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 24 Aug 2012 14:13:08 +0200 Subject: [PATCH] xhci: iso xfer support @@ -11,7 +11,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 101 insertions(+), 16 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index f5ba6a4..b313330 100644 +index 88f71fc..f3f1d61 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -325,9 +325,15 @@ typedef struct XHCITransfer { @@ -234,5 +234,5 @@ index f5ba6a4..b313330 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0608-xhci-trace-cc-codes-in-cleartext.patch b/0609-xhci-trace-cc-codes-in-cleartext.patch similarity index 97% rename from 0608-xhci-trace-cc-codes-in-cleartext.patch rename to 0609-xhci-trace-cc-codes-in-cleartext.patch index b2b70f6..f672430 100644 --- a/0608-xhci-trace-cc-codes-in-cleartext.patch +++ b/0609-xhci-trace-cc-codes-in-cleartext.patch @@ -1,4 +1,4 @@ -From 188fbd363df2e7f23ea37fb1b179e984bbce39e5 Mon Sep 17 00:00:00 2001 +From eed215ccbf493e85d80fd51266c338e4ac86e7f9 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 27 Aug 2012 16:09:20 +0200 Subject: [PATCH] xhci: trace cc codes in cleartext @@ -10,7 +10,7 @@ Signed-off-by: Gerd Hoffmann 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index b313330..ab352c0 100644 +index f3f1d61..ad2226f 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -465,6 +465,45 @@ static const char *TRBType_names[] = { @@ -96,5 +96,5 @@ index 07b63f1..b38e32a 100644 usb_xhci_slot_enable(uint32_t slotid) "slotid %d" usb_xhci_slot_disable(uint32_t slotid) "slotid %d" -- -1.7.12.1 +1.8.0.2 diff --git a/0609-xhci-add-trace_usb_xhci_ep_set_dequeue.patch b/0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch similarity index 93% rename from 0609-xhci-add-trace_usb_xhci_ep_set_dequeue.patch rename to 0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch index 7a07da9..c4a482b 100644 --- a/0609-xhci-add-trace_usb_xhci_ep_set_dequeue.patch +++ b/0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch @@ -1,4 +1,4 @@ -From 10a1380a50e33f98d5030d75d9d356f7ce024556 Mon Sep 17 00:00:00 2001 +From 85be78ba5daa672ec27c23c371b30aa723dc73c3 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 29 Aug 2012 12:54:59 +0200 Subject: [PATCH] xhci: add trace_usb_xhci_ep_set_dequeue @@ -10,7 +10,7 @@ Signed-off-by: Gerd Hoffmann 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index ab352c0..c6ab4a1 100644 +index ad2226f..a938ad3 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -1145,7 +1145,7 @@ static TRBCCode xhci_set_ep_dequeue(XHCIState *xhci, unsigned int slotid, @@ -35,5 +35,5 @@ index b38e32a..2db1deb 100644 usb_xhci_ep_stop(uint32_t slotid, uint32_t epid) "slotid %d, epid %d" usb_xhci_ep_reset(uint32_t slotid, uint32_t epid) "slotid %d, epid %d" -- -1.7.12.1 +1.8.0.2 diff --git a/0610-xhci-update-register-layout.patch b/0611-xhci-update-register-layout.patch similarity index 94% rename from 0610-xhci-update-register-layout.patch rename to 0611-xhci-update-register-layout.patch index 6052e50..3a0a535 100644 --- a/0610-xhci-update-register-layout.patch +++ b/0611-xhci-update-register-layout.patch @@ -1,4 +1,4 @@ -From 79e9a5ca778bfcb67073bfecd3f7cea7d93781ce Mon Sep 17 00:00:00 2001 +From 81a651a566a37ab65dc0bf5a6a72453b0a0a7157 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 23 Aug 2012 13:26:25 +0200 Subject: [PATCH] xhci: update register layout @@ -11,7 +11,7 @@ runtime-configurable. 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index c6ab4a1..d47539d 100644 +index a938ad3..11cb3bc 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -36,13 +36,12 @@ @@ -59,5 +59,5 @@ index c6ab4a1..d47539d 100644 # error Increase LEN_REGS #endif -- -1.7.12.1 +1.8.0.2 diff --git a/0611-xhci-update-port-handling.patch b/0612-xhci-update-port-handling.patch similarity index 98% rename from 0611-xhci-update-port-handling.patch rename to 0612-xhci-update-port-handling.patch index d47740a..40e39a4 100644 --- a/0611-xhci-update-port-handling.patch +++ b/0612-xhci-update-port-handling.patch @@ -1,4 +1,4 @@ -From 0b1ccd39faa8d1ea71f2d02dbab5dfd13f54ac98 Mon Sep 17 00:00:00 2001 +From 73b022067ca13e4f4c26ab2f31faa7ffa903b7a8 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 13:38:01 +0200 Subject: [PATCH] xhci: update port handling @@ -19,7 +19,7 @@ ports 1+2 and usb2 only on ports 3+4. 1 file changed, 97 insertions(+), 40 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index d47539d..5813b4a 100644 +index 11cb3bc..642e8e5 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -36,10 +36,10 @@ @@ -208,7 +208,7 @@ index d47539d..5813b4a 100644 case 0x08: /* HCSPARAMS 2 */ ret = 0x0000000f; @@ -2276,7 +2310,7 @@ static uint32_t xhci_cap_read(XHCIState *xhci, uint32_t reg) - ret = 0x20425455; /* "USB " */ + ret = 0x20425355; /* "USB " */ break; case 0x28: /* Supported Protocol:08 */ - ret = 0x00000001 | (USB2_PORTS<<8); @@ -217,7 +217,7 @@ index d47539d..5813b4a 100644 case 0x2c: /* Supported Protocol:0c */ ret = 0x00000000; /* reserved */ @@ -2288,7 +2322,7 @@ static uint32_t xhci_cap_read(XHCIState *xhci, uint32_t reg) - ret = 0x20425455; /* "USB " */ + ret = 0x20425355; /* "USB " */ break; case 0x38: /* Supported Protocol:08 */ - ret = 0x00000000 | (USB2_PORTS+1) | (USB3_PORTS<<8); @@ -348,5 +348,5 @@ index d47539d..5813b4a 100644 }; -- -1.7.12.1 +1.8.0.2 diff --git a/0612-usb3-superspeed-descriptors.patch b/0613-usb3-superspeed-descriptors.patch similarity index 96% rename from 0612-usb3-superspeed-descriptors.patch rename to 0613-usb3-superspeed-descriptors.patch index 4c60573..e11739a 100644 --- a/0612-usb3-superspeed-descriptors.patch +++ b/0613-usb3-superspeed-descriptors.patch @@ -1,4 +1,4 @@ -From 81e37421158a28277c9857ba733da4371cb06129 Mon Sep 17 00:00:00 2001 +From 30c648f2872cfd04fdf4115628398571a214ccc3 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:28:50 +0200 Subject: [PATCH] usb3: superspeed descriptors @@ -60,5 +60,5 @@ index 7cf5442..d89fa41 100644 }; -- -1.7.12.1 +1.8.0.2 diff --git a/0613-usb3-superspeed-endpoint-companion.patch b/0614-usb3-superspeed-endpoint-companion.patch similarity index 99% rename from 0613-usb3-superspeed-endpoint-companion.patch rename to 0614-usb3-superspeed-endpoint-companion.patch index 40983e4..2a0b793 100644 --- a/0613-usb3-superspeed-endpoint-companion.patch +++ b/0614-usb3-superspeed-endpoint-companion.patch @@ -1,4 +1,4 @@ -From e0354b4f91dd198b5bfe1ddf649588d6af84ea9c Mon Sep 17 00:00:00 2001 +From a76e4c47f9be219527561c074716972226b6c1c1 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:28:03 +0200 Subject: [PATCH] usb3: superspeed endpoint companion @@ -244,5 +244,5 @@ index d89fa41..4b5e88d 100644 /* control message emulation helpers */ -- -1.7.12.1 +1.8.0.2 diff --git a/0614-usb3-bos-decriptor.patch b/0615-usb3-bos-decriptor.patch similarity index 98% rename from 0614-usb3-bos-decriptor.patch rename to 0615-usb3-bos-decriptor.patch index 99d4f81..b30ca3e 100644 --- a/0614-usb3-bos-decriptor.patch +++ b/0615-usb3-bos-decriptor.patch @@ -1,4 +1,4 @@ -From 2014680cdc2834fef9b4cee5e1239f22d8dbdba3 Mon Sep 17 00:00:00 2001 +From dd9e0d2970d00917406acdd77add20e0a87012dc Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:46:29 +0200 Subject: [PATCH] usb3: bos decriptor @@ -211,5 +211,5 @@ index 2db1deb..d941e78 100644 usb_set_config(int addr, int config, int ret) "dev %d, config %d, ret %d" usb_set_interface(int addr, int iface, int alt, int ret) "dev %d, interface %d, altsetting %d, ret %d" -- -1.7.12.1 +1.8.0.2 diff --git a/0615-usb-storage-usb3-support.patch b/0616-usb-storage-usb3-support.patch similarity index 97% rename from 0615-usb-storage-usb3-support.patch rename to 0616-usb-storage-usb3-support.patch index 7caeb42..1010f18 100644 --- a/0615-usb-storage-usb3-support.patch +++ b/0616-usb-storage-usb3-support.patch @@ -1,4 +1,4 @@ -From 9a6fd10bf6a85c4df63a7ba1cf7d6203220d722e Mon Sep 17 00:00:00 2001 +From 555a722ece2d20facc9f8be2c32fb0595a2f4e8b Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:29:15 +0200 Subject: [PATCH] usb-storage: usb3 support @@ -90,5 +90,5 @@ index ff48d91..e732191 100644 static void usb_msd_copy_data(MSDState *s, USBPacket *p) -- -1.7.12.1 +1.8.0.2 diff --git a/0616-xhci-fix-cleanup-msi.patch b/0617-xhci-fix-cleanup-msi.patch similarity index 96% rename from 0616-xhci-fix-cleanup-msi.patch rename to 0617-xhci-fix-cleanup-msi.patch index 33fca14..e0cc571 100644 --- a/0616-xhci-fix-cleanup-msi.patch +++ b/0617-xhci-fix-cleanup-msi.patch @@ -1,4 +1,4 @@ -From e97e63460859a74cf53c85e97a6d60633a92cc64 Mon Sep 17 00:00:00 2001 +From 894f086b6205b780a8dc97489f58ea324ecb9765 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 10:57:12 +0200 Subject: [PATCH] xhci: fix & cleanup msi. @@ -15,7 +15,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 5813b4a..d2e6ee6 100644 +index 642e8e5..ff74ed9 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -386,7 +386,7 @@ struct XHCIState { @@ -92,5 +92,5 @@ index 5813b4a..d2e6ee6 100644 static TypeInfo xhci_info = { -- -1.7.12.1 +1.8.0.2 diff --git a/0617-xhci-rework-interrupt-handling.patch b/0618-xhci-rework-interrupt-handling.patch similarity index 96% rename from 0617-xhci-rework-interrupt-handling.patch rename to 0618-xhci-rework-interrupt-handling.patch index 3ac4ccc..4689b93 100644 --- a/0617-xhci-rework-interrupt-handling.patch +++ b/0618-xhci-rework-interrupt-handling.patch @@ -1,4 +1,4 @@ -From 3bf435b656390f75ce8b8990f7484efb162472c9 Mon Sep 17 00:00:00 2001 +From 28d099bc11fa5c22331c4681dc5cb56fe19d603a Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 13:05:10 +0200 Subject: [PATCH] xhci: rework interrupt handling @@ -13,7 +13,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index d2e6ee6..1857f42 100644 +index ff74ed9..74a57fe 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -612,24 +612,43 @@ static XHCIPort *xhci_lookup_port(XHCIState *xhci, struct USBPort *uport) @@ -113,5 +113,5 @@ index d2e6ee6..1857f42 100644 case 0x24: /* IMOD */ xhci->imod = val; -- -1.7.12.1 +1.8.0.2 diff --git a/0618-xhci-add-msix-support.patch b/0619-xhci-add-msix-support.patch similarity index 97% rename from 0618-xhci-add-msix-support.patch rename to 0619-xhci-add-msix-support.patch index ab0abab..86e69f8 100644 --- a/0618-xhci-add-msix-support.patch +++ b/0619-xhci-add-msix-support.patch @@ -1,4 +1,4 @@ -From b04ba21e22b2df805af8236bc462c5c403fc6ee4 Mon Sep 17 00:00:00 2001 +From 8e09078421d52a78081bbf35db75fa1d11b2f9a4 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 12:06:59 +0200 Subject: [PATCH] xhci: add msix support @@ -10,7 +10,7 @@ Signed-off-by: Gerd Hoffmann 2 files changed, 49 insertions(+), 1 deletion(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 1857f42..777f903 100644 +index 74a57fe..91c2fb1 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -23,6 +23,7 @@ @@ -152,5 +152,5 @@ index d941e78..f86bbda 100644 usb_xhci_fetch_trb(uint64_t addr, const char *name, uint64_t param, uint32_t status, uint32_t control) "addr %016" PRIx64 ", %s, p %016" PRIx64 ", s %08x, c 0x%08x" usb_xhci_slot_enable(uint32_t slotid) "slotid %d" -- -1.7.12.1 +1.8.0.2 diff --git a/0619-xhci-move-register-update-into-xhci_intr_raise.patch b/0620-xhci-move-register-update-into-xhci_intr_raise.patch similarity index 92% rename from 0619-xhci-move-register-update-into-xhci_intr_raise.patch rename to 0620-xhci-move-register-update-into-xhci_intr_raise.patch index f89d2a2..7b4af09 100644 --- a/0619-xhci-move-register-update-into-xhci_intr_raise.patch +++ b/0620-xhci-move-register-update-into-xhci_intr_raise.patch @@ -1,4 +1,4 @@ -From be996e1a852397f4009d08ac803081e1dfbc7326 Mon Sep 17 00:00:00 2001 +From 18e27420641fed150d09ece76a74089ffc81f21c Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 14:04:04 +0200 Subject: [PATCH] xhci: move register update into xhci_intr_raise @@ -12,7 +12,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 777f903..32d22f7 100644 +index 91c2fb1..ae5620f 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -662,8 +662,11 @@ static void xhci_msix_update(XHCIState *xhci) @@ -51,5 +51,5 @@ index 777f903..32d22f7 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0620-xhci-add-XHCIInterrupter.patch b/0621-xhci-add-XHCIInterrupter.patch similarity index 99% rename from 0620-xhci-add-XHCIInterrupter.patch rename to 0621-xhci-add-XHCIInterrupter.patch index 2992970..e853f51 100644 --- a/0620-xhci-add-XHCIInterrupter.patch +++ b/0621-xhci-add-XHCIInterrupter.patch @@ -1,4 +1,4 @@ -From 40ddf0dafd6a8171d2a0f960a21d7d99bdf73cd6 Mon Sep 17 00:00:00 2001 +From 389e9b95abb9bd0eb42731351db615df6ded5f5d Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 15:49:03 +0200 Subject: [PATCH] xhci: add XHCIInterrupter @@ -13,7 +13,7 @@ Signed-off-by: Gerd Hoffmann 2 files changed, 161 insertions(+), 148 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 32d22f7..8a14ee8 100644 +index ae5620f..76da7a9 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -378,6 +378,27 @@ typedef struct XHCIEvent { @@ -638,5 +638,5 @@ index f86bbda..f5b5097 100644 usb_xhci_slot_enable(uint32_t slotid) "slotid %d" usb_xhci_slot_disable(uint32_t slotid) "slotid %d" -- -1.7.12.1 +1.8.0.2 diff --git a/0621-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch b/0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch similarity index 97% rename from 0621-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch rename to 0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch index d753d08..82a6c44 100644 --- a/0621-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch +++ b/0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch @@ -1,4 +1,4 @@ -From 670eba790c368e9c37b0c964d94e0ff7f0d0c443 Mon Sep 17 00:00:00 2001 +From 0859f45be456731c7e900264f3f11f911717e121 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 17:15:12 +0200 Subject: [PATCH] xhci: prepare xhci_runtime_{read,write} for multiple @@ -12,7 +12,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 57 insertions(+), 43 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 8a14ee8..6b3ff16 100644 +index 76da7a9..df2ea22 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -2586,37 +2586,43 @@ static void xhci_oper_write(XHCIState *xhci, uint32_t reg, uint32_t val) @@ -155,5 +155,5 @@ index 8a14ee8..6b3ff16 100644 default: fprintf(stderr, "xhci_oper_write: reg 0x%x unimplemented\n", reg); -- -1.7.12.1 +1.8.0.2 diff --git a/0622-xhci-pick-target-interrupter.patch b/0623-xhci-pick-target-interrupter.patch similarity index 96% rename from 0622-xhci-pick-target-interrupter.patch rename to 0623-xhci-pick-target-interrupter.patch index e336b49..6931c07 100644 --- a/0622-xhci-pick-target-interrupter.patch +++ b/0623-xhci-pick-target-interrupter.patch @@ -1,4 +1,4 @@ -From d6968ced27f697b26d7a1d5b44f15eeb300a9fd6 Mon Sep 17 00:00:00 2001 +From 755c1c8db0c6f23cc84aa31c0437f2ddd6048800 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 31 Aug 2012 15:30:51 +0200 Subject: [PATCH] xhci: pick target interrupter @@ -11,7 +11,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 6b3ff16..3b03c6c 100644 +index df2ea22..9667c0d 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -264,6 +264,10 @@ typedef enum TRBCCode { @@ -89,5 +89,5 @@ index 6b3ff16..3b03c6c 100644 static void xhci_complete(USBPort *port, USBPacket *packet) -- -1.7.12.1 +1.8.0.2 diff --git a/0623-xhci-support-multiple-interrupters.patch b/0624-xhci-support-multiple-interrupters.patch similarity index 89% rename from 0623-xhci-support-multiple-interrupters.patch rename to 0624-xhci-support-multiple-interrupters.patch index 0d8ffbd..c2f5235 100644 --- a/0623-xhci-support-multiple-interrupters.patch +++ b/0624-xhci-support-multiple-interrupters.patch @@ -1,4 +1,4 @@ -From 4e4d4191a40b5cbcd6f967ed105eea559104cd8a Mon Sep 17 00:00:00 2001 +From 6b4ce88ab228e8ad167b10bf231126b7f266d8a9 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 4 Sep 2012 12:56:55 +0200 Subject: [PATCH] xhci: support multiple interrupters @@ -12,7 +12,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 3b03c6c..4992705 100644 +index 9667c0d..874b545 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -42,7 +42,7 @@ @@ -36,5 +36,5 @@ index 3b03c6c..4992705 100644 #define USBCMD_RS (1<<0) #define USBCMD_HCRST (1<<1) -- -1.7.12.1 +1.8.0.2 diff --git a/0624-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch b/0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch similarity index 98% rename from 0624-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch rename to 0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch index ec23202..6713681 100644 --- a/0624-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch +++ b/0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch @@ -1,4 +1,4 @@ -From d2efc9f3dc62810ef6075f8759c9856016447c14 Mon Sep 17 00:00:00 2001 +From 3cb58625501657f61001334dc6537ab473caacbe Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 4 Sep 2012 14:42:20 +0200 Subject: [PATCH] xhci: kill xhci_mem_{read,write} dispatcher functions @@ -12,7 +12,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 75 insertions(+), 65 deletions(-) diff --git a/hw/usb/hcd-xhci.c b/hw/usb/hcd-xhci.c -index 4992705..4ba9464 100644 +index 874b545..2c799fb 100644 --- a/hw/usb/hcd-xhci.c +++ b/hw/usb/hcd-xhci.c @@ -404,6 +404,10 @@ struct XHCIState { @@ -276,5 +276,5 @@ index 4992705..4ba9464 100644 PCI_BASE_ADDRESS_SPACE_MEMORY|PCI_BASE_ADDRESS_MEM_TYPE_64, &xhci->mem); -- -1.7.12.1 +1.8.0.2 diff --git a/0625-usb-redir-Change-cancelled-packet-code-into-a-generi.patch b/0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch similarity index 98% rename from 0625-usb-redir-Change-cancelled-packet-code-into-a-generi.patch rename to 0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch index 1f0e575..c618d3d 100644 --- a/0625-usb-redir-Change-cancelled-packet-code-into-a-generi.patch +++ b/0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch @@ -1,4 +1,4 @@ -From 5b44a6c9c102b69690adcc2c5be886857ea35ebd Mon Sep 17 00:00:00 2001 +From 7aec34d818d5e3f191e310ee0787e5844d3c6019 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 4 Sep 2012 14:18:34 +0200 Subject: [PATCH] usb-redir: Change cancelled packet code into a generic @@ -180,5 +180,5 @@ index f183263..e2b8159 100644 usbredir_free_bufpq(dev, I2EP(i)); } -- -1.7.12.1 +1.8.0.2 diff --git a/0626-usb-redir-Add-an-already_in_flight-packet-id-queue.patch b/0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch similarity index 98% rename from 0626-usb-redir-Add-an-already_in_flight-packet-id-queue.patch rename to 0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch index e0e58c1..932fc3b 100644 --- a/0626-usb-redir-Add-an-already_in_flight-packet-id-queue.patch +++ b/0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch @@ -1,4 +1,4 @@ -From 9a38bd644b97a4a3ae92c9246bdcdd09ba937ae8 Mon Sep 17 00:00:00 2001 +From 1dc61f2996d6a211b690b43e9517baa31a786b6a Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 4 Sep 2012 17:03:54 +0200 Subject: [PATCH] usb-redir: Add an already_in_flight packet-id queue @@ -115,5 +115,5 @@ index e2b8159..cdd705f 100644 usbredir_free_bufpq(dev, I2EP(i)); } -- -1.7.12.1 +1.8.0.2 diff --git a/0627-usb-redir-Store-max_packet_size-in-endp_data.patch b/0628-usb-redir-Store-max_packet_size-in-endp_data.patch similarity index 95% rename from 0627-usb-redir-Store-max_packet_size-in-endp_data.patch rename to 0628-usb-redir-Store-max_packet_size-in-endp_data.patch index 2c44744..9b641f3 100644 --- a/0627-usb-redir-Store-max_packet_size-in-endp_data.patch +++ b/0628-usb-redir-Store-max_packet_size-in-endp_data.patch @@ -1,4 +1,4 @@ -From c41be182adcd7026fcf76250fc3a64cec8a2c903 Mon Sep 17 00:00:00 2001 +From 8d5e4be8a36f93cd97c426285a65d66b9ac64bd7 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 6 Sep 2012 20:52:36 +0200 Subject: [PATCH] usb-redir: Store max_packet_size in endp_data @@ -34,5 +34,5 @@ index cdd705f..6eb3c6d 100644 if (ep_info->type[i] == usb_redir_type_bulk) { usb_ep->pipeline = true; -- -1.7.12.1 +1.8.0.2 diff --git a/0628-usb-redir-Add-support-for-migration.patch b/0629-usb-redir-Add-support-for-migration.patch similarity index 99% rename from 0628-usb-redir-Add-support-for-migration.patch rename to 0629-usb-redir-Add-support-for-migration.patch index 52d9002..ffb1fce 100644 --- a/0628-usb-redir-Add-support-for-migration.patch +++ b/0629-usb-redir-Add-support-for-migration.patch @@ -1,4 +1,4 @@ -From a056ffda5a57d7169268e49a3e42c7d79c8f7c48 Mon Sep 17 00:00:00 2001 +From 6ffcfd679cbf168f4260b9db28662a2a1367b8b2 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 5 Sep 2012 09:21:44 +0200 Subject: [PATCH] usb-redir: Add support for migration @@ -425,5 +425,5 @@ index 6eb3c6d..b7387b6 100644 } -- -1.7.12.1 +1.8.0.2 diff --git a/0629-usb-redir-Add-chardev-open-close-debug-logging.patch b/0630-usb-redir-Add-chardev-open-close-debug-logging.patch similarity index 95% rename from 0629-usb-redir-Add-chardev-open-close-debug-logging.patch rename to 0630-usb-redir-Add-chardev-open-close-debug-logging.patch index 5e8305d..b2ac4a8 100644 --- a/0629-usb-redir-Add-chardev-open-close-debug-logging.patch +++ b/0630-usb-redir-Add-chardev-open-close-debug-logging.patch @@ -1,4 +1,4 @@ -From 5a717110d859cbd989634e8acdcedd800ee2be74 Mon Sep 17 00:00:00 2001 +From 74544d87b480a3953b1f0b2b7cddd80d3b3c1bcb Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 5 Sep 2012 15:56:57 +0200 Subject: [PATCH] usb-redir: Add chardev open / close debug logging @@ -50,5 +50,5 @@ index b7387b6..57e6289 100644 /* * Delay next usb device attach to give the guest a chance to see -- -1.7.12.1 +1.8.0.2 diff --git a/0630-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch b/0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch similarity index 94% rename from 0630-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch rename to 0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch index 4ffc46b..0f3bfc1 100644 --- a/0630-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch +++ b/0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch @@ -1,4 +1,4 @@ -From b95fb22d2799ed07c55bccbd7ffa3cb19fb7feb3 Mon Sep 17 00:00:00 2001 +From eb7cba97b479dfd5814e2a1d24588a1543d50552 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 10 Sep 2012 13:49:46 +0200 Subject: [PATCH] usb-redir: Revert usb-redir part of commit 93bfef4c @@ -31,5 +31,5 @@ index 57e6289..78e93a7 100644 /* Make sure any pending closes are handled (no-op if none pending) */ -- -1.7.12.1 +1.8.0.2 diff --git a/0631-ehci-Fix-interrupt-packet-MULT-handling.patch b/0632-ehci-Fix-interrupt-packet-MULT-handling.patch similarity index 98% rename from 0631-ehci-Fix-interrupt-packet-MULT-handling.patch rename to 0632-ehci-Fix-interrupt-packet-MULT-handling.patch index 17abd7f..ac24fec 100644 --- a/0631-ehci-Fix-interrupt-packet-MULT-handling.patch +++ b/0632-ehci-Fix-interrupt-packet-MULT-handling.patch @@ -1,4 +1,4 @@ -From d6fe9953a8277a54ae7f4cefa192b49d9bf99e3d Mon Sep 17 00:00:00 2001 +From 5c95a1e3a0b9266a195778cd95a8b08348d3a361 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 20 Sep 2012 16:55:02 +0200 Subject: [PATCH] ehci: Fix interrupt packet MULT handling @@ -127,5 +127,5 @@ index 6a5da84..46f6d99 100644 /* 4.10.5 */ -- -1.7.12.1 +1.8.0.2 diff --git a/0632-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch b/0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch similarity index 93% rename from 0632-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch rename to 0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch index a8bebbd..bfd2d66 100644 --- a/0632-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch +++ b/0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch @@ -1,4 +1,4 @@ -From 79467d7c3fe963b39b00c884a5624cb1e754db9d Mon Sep 17 00:00:00 2001 +From 7f87b50fdd1519b431abe50173699fc6644d0eb6 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 25 Sep 2012 13:22:21 +0200 Subject: [PATCH] usb-redir: Adjust pkg-config check for usbredirparser .pc @@ -27,10 +27,10 @@ Signed-off-by: Hans de Goede 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/configure b/configure -index 2c4469f..f019526 100755 +index d43d61a..8dac47b 100755 --- a/configure +++ b/configure -@@ -2758,10 +2758,10 @@ fi +@@ -2757,10 +2757,10 @@ fi # check for usbredirparser for usb network redirection support if test "$usb_redir" != "no" ; then @@ -45,5 +45,5 @@ index 2c4469f..f019526 100755 libs_softmmu="$libs_softmmu $usb_redir_libs" else -- -1.7.12.1 +1.8.0.2 diff --git a/0633-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch b/0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch similarity index 95% rename from 0633-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch rename to 0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch index f39bc12..cf6a757 100644 --- a/0633-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch +++ b/0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch @@ -1,4 +1,4 @@ -From 9ebfb490e04e1fe5466a4d31df17c5e6283236cb Mon Sep 17 00:00:00 2001 +From f9ba78b992979db8b3d1489b34ec83eba5f12c52 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 27 Sep 2012 16:59:50 +0200 Subject: [PATCH] usb-redir: Change usbredir_open_chardev into @@ -45,5 +45,5 @@ index 78e93a7..5d16aff 100644 case CHR_EVENT_CLOSED: DPRINTF("chardev close\n"); -- -1.7.12.1 +1.8.0.2 diff --git a/0634-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch b/0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch similarity index 95% rename from 0634-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch rename to 0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch index a222747..933347c 100644 --- a/0634-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch +++ b/0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch @@ -1,4 +1,4 @@ -From c57b03073357e813ade4b3b34f6c1e3c0de394c2 Mon Sep 17 00:00:00 2001 +From eab47219d477920fce785cb6bc34c0725d5b4b5f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 27 Sep 2012 16:57:41 +0200 Subject: [PATCH] usb-redir: Don't make migration fail in none seamless case @@ -38,5 +38,5 @@ index 5d16aff..022ba42 100644 data = g_malloc(len); -- -1.7.12.1 +1.8.0.2 diff --git a/0800-mips-Fix-link-error-with-piix4_pm_init.patch b/0701-mips-Fix-link-error-with-piix4_pm_init.patch similarity index 92% rename from 0800-mips-Fix-link-error-with-piix4_pm_init.patch rename to 0701-mips-Fix-link-error-with-piix4_pm_init.patch index 3ceb891..97b306f 100644 --- a/0800-mips-Fix-link-error-with-piix4_pm_init.patch +++ b/0701-mips-Fix-link-error-with-piix4_pm_init.patch @@ -1,4 +1,4 @@ -From 5196eaa783b83110e6a8b99bfeb244b758b6e9c7 Mon Sep 17 00:00:00 2001 +From ffb70f6bbc0422cee8e0ef1a64da77d05492e290 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 6 Aug 2012 17:12:40 -0400 Subject: [PATCH] mips: Fix link error with 'piix4_pm_init' @@ -26,5 +26,5 @@ index 29a5d0d..89af0e9 100644 obj-y := $(addprefix ../,$(obj-y)) -- -1.7.12.1 +1.8.0.2 diff --git a/0801-configure-Add-disable-kvm-options.patch b/0702-configure-Add-disable-kvm-options.patch similarity index 92% rename from 0801-configure-Add-disable-kvm-options.patch rename to 0702-configure-Add-disable-kvm-options.patch index 05021f1..38609e5 100644 --- a/0801-configure-Add-disable-kvm-options.patch +++ b/0702-configure-Add-disable-kvm-options.patch @@ -1,4 +1,4 @@ -From b80fff00ed7f9baff808edb6c2c9f98f7e75e8ca Mon Sep 17 00:00:00 2001 +From c546c1e56883261a78d85a9a77c64305ba9a0c1f Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 13 Aug 2012 18:39:54 -0400 Subject: [PATCH] configure: Add --disable-kvm-options @@ -18,7 +18,7 @@ Signed-off-by: Cole Robinson 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/configure b/configure -index f019526..933754d 100755 +index 8dac47b..1668f30 100755 --- a/configure +++ b/configure @@ -210,6 +210,7 @@ bsd_user="no" @@ -47,7 +47,7 @@ index f019526..933754d 100755 echo " --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)" echo " --disable-nptl disable usermode NPTL support" echo " --enable-nptl enable usermode NPTL support" -@@ -3160,6 +3165,7 @@ echo "ATTR/XATTR support $attr" +@@ -3159,6 +3164,7 @@ echo "ATTR/XATTR support $attr" echo "Install blobs $blobs" echo "KVM support $kvm" echo "TCG interpreter $tcg_interpreter" @@ -55,7 +55,7 @@ index f019526..933754d 100755 echo "fdt support $fdt" echo "preadv support $preadv" echo "fdatasync $fdatasync" -@@ -3893,7 +3899,10 @@ case "$target_arch2" in +@@ -3892,7 +3898,10 @@ case "$target_arch2" in \( "$target_arch2" = "x86_64" -a "$cpu" = "i386" \) -o \ \( "$target_arch2" = "i386" -a "$cpu" = "x86_64" \) \) ; then echo "CONFIG_KVM=y" >> $config_target_mak @@ -68,5 +68,5 @@ index f019526..933754d 100755 echo "CONFIG_VHOST_NET=y" >> $config_target_mak fi -- -1.7.12.1 +1.8.0.2 diff --git a/0802-arm_boot-Change-initrd-load-address-to-halfway-throu.patch b/0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch similarity index 98% rename from 0802-arm_boot-Change-initrd-load-address-to-halfway-throu.patch rename to 0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch index 649fb0e..d52c60c 100644 --- a/0802-arm_boot-Change-initrd-load-address-to-halfway-throu.patch +++ b/0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch @@ -1,8 +1,7 @@ -From d3a43fe4b870154032db4651824bc88e3cb81dc5 Mon Sep 17 00:00:00 2001 +From eebf51f3c5fce7fe55b12088fa62051f7ba60063 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Fri, 26 Oct 2012 16:29:38 +0100 -Subject: [PATCH] arm_boot: Change initrd load address to "halfway through - RAM" +Subject: [PATCH] arm_boot: Change initrd load address to "halfway through RAM" To avoid continually having to bump the initrd load address to account for larger kernel images, put the initrd halfway @@ -134,5 +133,5 @@ index a6e9143..920c337 100644 exit(1); } -- -1.7.12.1 +1.8.0.2 diff --git a/0803-dtrace-backend-add-function-to-reserved-words.patch b/0704-dtrace-backend-add-function-to-reserved-words.patch similarity index 92% rename from 0803-dtrace-backend-add-function-to-reserved-words.patch rename to 0704-dtrace-backend-add-function-to-reserved-words.patch index cc58c6f..3997c3f 100644 --- a/0803-dtrace-backend-add-function-to-reserved-words.patch +++ b/0704-dtrace-backend-add-function-to-reserved-words.patch @@ -1,4 +1,4 @@ -From 4780bb16558d2753e2277e1570644bec49551534 Mon Sep 17 00:00:00 2001 +From 0a01742a34be0859b18fb2ebfd1191be4cf5a380 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Sun, 2 Sep 2012 02:04:16 +0300 Subject: [PATCH] dtrace backend: add function to reserved words @@ -23,5 +23,5 @@ index 9cab75c..6be7047 100644 out(' %s = $arg%d;' % (name, i)) i += 1 -- -1.7.12.1 +1.8.0.2 diff --git a/0804-wip-hw-qxl-inject-interrupts-in-any-state.patch b/0705-wip-hw-qxl-inject-interrupts-in-any-state.patch similarity index 85% rename from 0804-wip-hw-qxl-inject-interrupts-in-any-state.patch rename to 0705-wip-hw-qxl-inject-interrupts-in-any-state.patch index 4e5222d..5251af4 100644 --- a/0804-wip-hw-qxl-inject-interrupts-in-any-state.patch +++ b/0705-wip-hw-qxl-inject-interrupts-in-any-state.patch @@ -1,4 +1,4 @@ -From e0575d0a1a14e8f4e8fc11d549cbd07cca433383 Mon Sep 17 00:00:00 2001 +From 605d30a4a9548e27d65fa90faa29b942df097e1e Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 30 Oct 2012 18:00:33 +0200 Subject: [PATCH] wip: hw/qxl: inject interrupts in any state @@ -8,7 +8,7 @@ Subject: [PATCH] wip: hw/qxl: inject interrupts in any state 1 file changed, 1 deletion(-) diff --git a/hw/qxl.c b/hw/qxl.c -index 9389752..b137731 100644 +index 8d33745..1d8ffae 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1714,7 +1714,6 @@ static void qxl_send_events(PCIQXLDevice *d, uint32_t events) @@ -20,5 +20,5 @@ index 9389752..b137731 100644 if ((old_pending & le_events) == le_events) { return; -- -1.7.12.1 +1.8.0.2 diff --git a/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch b/0706-libcacard-fix-missing-symbols-in-libcacard.so.patch similarity index 87% rename from 1001-libcacard-fix-missing-symbols-in-libcacard.so.patch rename to 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch index 7fcf77b..678d03a 100644 --- a/1001-libcacard-fix-missing-symbols-in-libcacard.so.patch +++ b/0706-libcacard-fix-missing-symbols-in-libcacard.so.patch @@ -1,4 +1,4 @@ -From 3bf390b736e7befd0fbcd252ef5ac6dffd26cf03 Mon Sep 17 00:00:00 2001 +From a44468631dea81f4cdc4b3156d28d7e8b94ce037 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Wed, 28 Nov 2012 16:38:43 +0200 Subject: [PATCH] libcacard: fix missing symbols in libcacard.so @@ -8,7 +8,7 @@ Subject: [PATCH] libcacard: fix missing symbols in libcacard.so 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libcacard/Makefile b/libcacard/Makefile -index 63990b7..58e5731 100644 +index 63990b7..9ce3117 100644 --- a/libcacard/Makefile +++ b/libcacard/Makefile @@ -7,7 +7,7 @@ libcacard_includedir=$(includedir)/cacard @@ -21,5 +21,5 @@ index 63990b7..58e5731 100644 QEMU_CFLAGS+=-I../ -- -1.8.0 +1.8.0.2 diff --git a/1002-configure-move-vscclient-binary-under-libcacard.patch b/0707-configure-move-vscclient-binary-under-libcacard.patch similarity index 95% rename from 1002-configure-move-vscclient-binary-under-libcacard.patch rename to 0707-configure-move-vscclient-binary-under-libcacard.patch index 31ac7b2..df345dc 100644 --- a/1002-configure-move-vscclient-binary-under-libcacard.patch +++ b/0707-configure-move-vscclient-binary-under-libcacard.patch @@ -1,4 +1,4 @@ -From 373d00412f13f280619fd161e780cd5da5dfc1a3 Mon Sep 17 00:00:00 2001 +From 9c773d62b68152114b4a5a63fa68162acc853d6e Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Thu, 29 Nov 2012 14:11:19 +0200 Subject: [PATCH] configure: move vscclient binary under libcacard @@ -52,10 +52,10 @@ index 4412757..92d6b4a 100644 common-obj-$(CONFIG_SMARTCARD_NSS) += $(libcacard-y) diff --git a/configure b/configure -index 950912a..64b8aa7 100755 +index 1668f30..6af2806 100755 --- a/configure +++ b/configure -@@ -3073,7 +3073,7 @@ if test "$softmmu" = yes ; then +@@ -3078,7 +3078,7 @@ if test "$softmmu" = yes ; then fi fi if test "$smartcard_nss" = "yes" ; then @@ -89,5 +89,5 @@ index 9ce3117..88ed064 100644 $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.pc "$(DESTDIR)$(libdir)/pkgconfig" for inc in *.h; do \ -- -1.8.0.1 +1.8.0.2 diff --git a/0708-seccomp-adding-new-syscalls-bugzilla-855162.patch b/0708-seccomp-adding-new-syscalls-bugzilla-855162.patch new file mode 100644 index 0000000..a996528 --- /dev/null +++ b/0708-seccomp-adding-new-syscalls-bugzilla-855162.patch @@ -0,0 +1,241 @@ +From cf0259065ea0cc476449a9e1dbbd5a128d57464c Mon Sep 17 00:00:00 2001 +From: Eduardo Otubo +Date: Thu, 29 Nov 2012 13:56:41 -0200 +Subject: [PATCH] seccomp: adding new syscalls (bugzilla 855162) + +According to the bug 855162[0] - there's the need of adding new syscalls +to the whitelist when using Qemu with Libvirt. + +[0] - https://bugzilla.redhat.com/show_bug.cgi?id=855162 + +Reported-by: Paul Moore +Tested-by: Paul Moore +Signed-off-by: Eduardo Otubo +Signed-off-by: Corey Bryant +Signed-off-by: Anthony Liguori +--- + qemu-seccomp.c | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++------- + 1 file changed, 139 insertions(+), 17 deletions(-) + +diff --git a/qemu-seccomp.c b/qemu-seccomp.c +index 64329a3..2a71d6f 100644 +--- a/qemu-seccomp.c ++++ b/qemu-seccomp.c +@@ -26,8 +26,12 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(timer_gettime), 254 }, + { SCMP_SYS(futex), 253 }, + { SCMP_SYS(select), 252 }, ++#if defined(__x86_64__) + { SCMP_SYS(recvfrom), 251 }, + { SCMP_SYS(sendto), 250 }, ++#elif defined(__i386__) ++ { SCMP_SYS(socketcall), 250 }, ++#endif + { SCMP_SYS(read), 249 }, + { SCMP_SYS(brk), 248 }, + { SCMP_SYS(clone), 247 }, +@@ -36,15 +40,30 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(execve), 245 }, + { SCMP_SYS(open), 245 }, + { SCMP_SYS(ioctl), 245 }, ++#if defined(__x86_64__) ++ { SCMP_SYS(socket), 245 }, ++ { SCMP_SYS(setsockopt), 245 }, + { SCMP_SYS(recvmsg), 245 }, + { SCMP_SYS(sendmsg), 245 }, + { SCMP_SYS(accept), 245 }, + { SCMP_SYS(connect), 245 }, ++ { SCMP_SYS(socketpair), 245 }, ++ { SCMP_SYS(bind), 245 }, ++ { SCMP_SYS(listen), 245 }, ++ { SCMP_SYS(semget), 245 }, ++#elif defined(__i386__) ++ { SCMP_SYS(ipc), 245 }, ++#endif + { SCMP_SYS(gettimeofday), 245 }, + { SCMP_SYS(readlink), 245 }, + { SCMP_SYS(access), 245 }, + { SCMP_SYS(prctl), 245 }, + { SCMP_SYS(signalfd), 245 }, ++ { SCMP_SYS(getrlimit), 245 }, ++ { SCMP_SYS(set_tid_address), 245 }, ++ { SCMP_SYS(statfs), 245 }, ++ { SCMP_SYS(unlink), 245 }, ++ { SCMP_SYS(wait4), 245 }, + #if defined(__i386__) + { SCMP_SYS(fcntl64), 245 }, + { SCMP_SYS(fstat64), 245 }, +@@ -56,30 +75,33 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(sigreturn), 245 }, + { SCMP_SYS(_newselect), 245 }, + { SCMP_SYS(_llseek), 245 }, +- { SCMP_SYS(mmap2), 245}, ++ { SCMP_SYS(mmap2), 245 }, + { SCMP_SYS(sigprocmask), 245 }, +-#elif defined(__x86_64__) +- { SCMP_SYS(sched_getparam), 245}, +- { SCMP_SYS(sched_getscheduler), 245}, +- { SCMP_SYS(fstat), 245}, +- { SCMP_SYS(clock_getres), 245}, +- { SCMP_SYS(sched_get_priority_min), 245}, +- { SCMP_SYS(sched_get_priority_max), 245}, +- { SCMP_SYS(stat), 245}, +- { SCMP_SYS(socket), 245}, +- { SCMP_SYS(setsockopt), 245}, +- { SCMP_SYS(uname), 245}, +- { SCMP_SYS(semget), 245}, + #endif ++ { SCMP_SYS(sched_getparam), 245 }, ++ { SCMP_SYS(sched_getscheduler), 245 }, ++ { SCMP_SYS(fstat), 245 }, ++ { SCMP_SYS(clock_getres), 245 }, ++ { SCMP_SYS(sched_get_priority_min), 245 }, ++ { SCMP_SYS(sched_get_priority_max), 245 }, ++ { SCMP_SYS(stat), 245 }, ++ { SCMP_SYS(uname), 245 }, + { SCMP_SYS(eventfd2), 245 }, + { SCMP_SYS(dup), 245 }, ++ { SCMP_SYS(dup2), 245 }, ++ { SCMP_SYS(dup3), 245 }, + { SCMP_SYS(gettid), 245 }, ++ { SCMP_SYS(getgid), 245 }, ++ { SCMP_SYS(getegid), 245 }, ++ { SCMP_SYS(getuid), 245 }, ++ { SCMP_SYS(geteuid), 245 }, + { SCMP_SYS(timer_create), 245 }, + { SCMP_SYS(exit), 245 }, + { SCMP_SYS(clock_gettime), 245 }, + { SCMP_SYS(time), 245 }, + { SCMP_SYS(restart_syscall), 245 }, + { SCMP_SYS(pwrite64), 245 }, ++ { SCMP_SYS(nanosleep), 245 }, + { SCMP_SYS(chown), 245 }, + { SCMP_SYS(openat), 245 }, + { SCMP_SYS(getdents), 245 }, +@@ -93,8 +115,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(lseek), 245 }, + { SCMP_SYS(pselect6), 245 }, + { SCMP_SYS(fork), 245 }, +- { SCMP_SYS(bind), 245 }, +- { SCMP_SYS(listen), 245 }, + { SCMP_SYS(eventfd), 245 }, + { SCMP_SYS(rt_sigprocmask), 245 }, + { SCMP_SYS(write), 244 }, +@@ -104,10 +124,112 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { + { SCMP_SYS(pipe2), 242 }, + { SCMP_SYS(munmap), 242 }, + { SCMP_SYS(mremap), 242 }, ++ { SCMP_SYS(fdatasync), 242 }, ++ { SCMP_SYS(close), 242 }, ++ { SCMP_SYS(rt_sigpending), 242 }, ++ { SCMP_SYS(rt_sigtimedwait), 242 }, ++ { SCMP_SYS(readv), 242 }, ++ { SCMP_SYS(writev), 242 }, ++ { SCMP_SYS(preadv), 242 }, ++ { SCMP_SYS(pwritev), 242 }, ++ { SCMP_SYS(setrlimit), 242 }, ++ { SCMP_SYS(ftruncate), 242 }, ++ { SCMP_SYS(lstat), 242 }, ++ { SCMP_SYS(pipe), 242 }, ++ { SCMP_SYS(umask), 242 }, ++ { SCMP_SYS(chdir), 242 }, ++ { SCMP_SYS(setitimer), 242 }, ++ { SCMP_SYS(setsid), 242 }, ++ { SCMP_SYS(poll), 242 }, ++ { SCMP_SYS(epoll_create), 242 }, ++ { SCMP_SYS(epoll_ctl), 242 }, ++ { SCMP_SYS(epoll_wait), 242 }, ++#if defined(__i386__) ++ { SCMP_SYS(waitpid), 242 }, ++#elif defined(__x86_64__) + { SCMP_SYS(getsockname), 242 }, + { SCMP_SYS(getpeername), 242 }, +- { SCMP_SYS(fdatasync), 242 }, +- { SCMP_SYS(close), 242 } ++ { SCMP_SYS(accept4), 242 }, ++ { SCMP_SYS(newfstatat), 241 }, ++ { SCMP_SYS(shutdown), 241 }, ++ { SCMP_SYS(getsockopt), 241 }, ++ { SCMP_SYS(semctl), 241 }, ++ { SCMP_SYS(semop), 241 }, ++ { SCMP_SYS(semtimedop), 241 }, ++ { SCMP_SYS(epoll_ctl_old), 241 }, ++ { SCMP_SYS(epoll_wait_old), 241 }, ++#endif ++ { SCMP_SYS(epoll_pwait), 241 }, ++ { SCMP_SYS(epoll_create1), 241 }, ++ { SCMP_SYS(ppoll), 241 }, ++ { SCMP_SYS(creat), 241 }, ++ { SCMP_SYS(link), 241 }, ++ { SCMP_SYS(getpid), 241 }, ++ { SCMP_SYS(getppid), 241 }, ++ { SCMP_SYS(getpgrp), 241 }, ++ { SCMP_SYS(getpgid), 241 }, ++ { SCMP_SYS(getsid), 241 }, ++ { SCMP_SYS(getdents64), 241 }, ++ { SCMP_SYS(getresuid), 241 }, ++ { SCMP_SYS(getresgid), 241 }, ++ { SCMP_SYS(getgroups), 241 }, ++#if defined(__i386__) ++ { SCMP_SYS(getresuid32), 241 }, ++ { SCMP_SYS(getresgid32), 241 }, ++ { SCMP_SYS(getgroups32), 241 }, ++ { SCMP_SYS(signal), 241 }, ++ { SCMP_SYS(sigaction), 241 }, ++ { SCMP_SYS(sigsuspend), 241 }, ++ { SCMP_SYS(sigpending), 241 }, ++ { SCMP_SYS(truncate64), 241 }, ++ { SCMP_SYS(ftruncate64), 241 }, ++ { SCMP_SYS(fchown32), 241 }, ++ { SCMP_SYS(chown32), 241 }, ++ { SCMP_SYS(lchown32), 241 }, ++ { SCMP_SYS(statfs64), 241 }, ++ { SCMP_SYS(fstatfs64), 241 }, ++ { SCMP_SYS(fstatat64), 241 }, ++ { SCMP_SYS(lstat64), 241 }, ++ { SCMP_SYS(sendfile64), 241 }, ++ { SCMP_SYS(ugetrlimit), 241 }, ++#endif ++ { SCMP_SYS(alarm), 241 }, ++ { SCMP_SYS(rt_sigsuspend), 241 }, ++ { SCMP_SYS(rt_sigqueueinfo), 241 }, ++ { SCMP_SYS(rt_tgsigqueueinfo), 241 }, ++ { SCMP_SYS(sigaltstack), 241 }, ++ { SCMP_SYS(signalfd4), 241 }, ++ { SCMP_SYS(truncate), 241 }, ++ { SCMP_SYS(fchown), 241 }, ++ { SCMP_SYS(lchown), 241 }, ++ { SCMP_SYS(fchownat), 241 }, ++ { SCMP_SYS(fstatfs), 241 }, ++ { SCMP_SYS(sendfile), 241 }, ++ { SCMP_SYS(getitimer), 241 }, ++ { SCMP_SYS(syncfs), 241 }, ++ { SCMP_SYS(fsync), 241 }, ++ { SCMP_SYS(fchdir), 241 }, ++ { SCMP_SYS(flock), 241 }, ++ { SCMP_SYS(msync), 241 }, ++ { SCMP_SYS(sched_setparam), 241 }, ++ { SCMP_SYS(sched_setscheduler), 241 }, ++ { SCMP_SYS(sched_yield), 241 }, ++ { SCMP_SYS(sched_rr_get_interval), 241 }, ++ { SCMP_SYS(sched_setaffinity), 241 }, ++ { SCMP_SYS(sched_getaffinity), 241 }, ++ { SCMP_SYS(readahead), 241 }, ++ { SCMP_SYS(timer_getoverrun), 241 }, ++ { SCMP_SYS(unlinkat), 241 }, ++ { SCMP_SYS(readlinkat), 241 }, ++ { SCMP_SYS(faccessat), 241 }, ++ { SCMP_SYS(get_robust_list), 241 }, ++ { SCMP_SYS(splice), 241 }, ++ { SCMP_SYS(vmsplice), 241 }, ++ { SCMP_SYS(getcpu), 241 }, ++ { SCMP_SYS(sendmmsg), 241 }, ++ { SCMP_SYS(recvmmsg), 241 }, ++ { SCMP_SYS(prlimit64), 241 }, ++ { SCMP_SYS(waitid), 241 } + }; + + int seccomp_start(void) +-- +1.8.0.2 + diff --git a/qemu.spec b/qemu.spec index b2eed16..7ee31d5 100644 --- a/qemu.spec +++ b/qemu.spec @@ -108,8 +108,8 @@ Summary: QEMU is a FAST! processor emulator Name: qemu -Version: 1.2.0 -Release: 25%{?dist} +Version: 1.2.2 +Release: 1%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -125,9 +125,8 @@ ExclusiveArch: %{kvm_archs} %define _smp_mflags %{nil} %endif -# This is generated from the git qemu-kvm-1.2.0 tag, replace with proper -# upstream tarbal once available -Source0: qemu-kvm-%{version}.tar.gz +# There aren't qemu-kvm 1.2 maint releases yet, so we are carrying patches +Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-1.2.0.tar.gz #Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz Source1: qemu.binfmt @@ -149,8 +148,7 @@ Source9: ksmtuned.conf Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules Source12: bridge.conf - -# Patches queued for 1.2.1 stable +# Stable 1.2.1 patches Patch0001: 0001-target-xtensa-convert-host-errno-values-to-guest.patch Patch0002: 0002-target-cris-Fix-buffer-overflow.patch Patch0003: 0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch @@ -394,100 +392,137 @@ Patch0240: 0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch Patch0241: 0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch Patch0242: 0242-update-VERSION-for-v1.2.1.patch -# The infamous chardev flow control patches -Patch0400: 0400-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch -Patch0401: 0401-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch -Patch0402: 0402-iohandlers-Add-enable-disable_write_fd_handler-funct.patch -Patch0403: 0403-char-Add-framework-for-a-write-unblocked-callback.patch -Patch0404: 0404-char-Update-send_all-to-handle-nonblocking-chardev-w.patch -Patch0405: 0405-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch -Patch0406: 0406-char-Throttle-when-host-connection-is-down.patch -Patch0407: 0407-virtio-console-Enable-port-throttling-when-chardev-i.patch -Patch0408: 0408-spice-qemu-char.c-add-throttling.patch -Patch0409: 0409-spice-qemu-char.c-remove-intermediate-buffer.patch -Patch0410: 0410-usb-redir-Add-flow-control-support.patch -# 411 superceded by 414 which does the same thing but on top of 413 that is -# going upstream. -Patch0412: 0412-char-Disable-write-callback-if-throttled-chardev-is-.patch -Patch0413: 0413-hw-virtio-serial-bus-post_load-send_event-when-vm-is.patch -Patch0414: 0414-hw-virtio-serial-bus-replay-guest-open-on-destinatio.patch +# Stable 1.2.2 patches +Patch0301: 0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch +Patch0302: 0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch +Patch0303: 0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch +Patch0304: 0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch +Patch0305: 0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch +Patch0306: 0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch +Patch0307: 0307-qxl-always-update-displaysurface-on-resize.patch +Patch0308: 0308-rtc-fix-overflow-in-mktimegm.patch +Patch0309: 0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch +Patch0310: 0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch +Patch0311: 0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch +Patch0312: 0312-memory-fix-rendering-of-a-region-obscured-by-another.patch +Patch0313: 0313-s390x-fix-initrd-in-virtio-machine.patch +Patch0314: 0314-PPC-Bamboo-Fix-memory-size-DT-property.patch +Patch0315: 0315-target-sparc64-disable-VGA-cirrus.patch +Patch0316: 0316-xhci-fix-usb-name-in-caps.patch +Patch0317: 0317-tools-initialize-main-loop-before-block-layer.patch +Patch0318: 0318-m68k-Return-semihosting-errno-values-correctly.patch +Patch0319: 0319-nbd-fixes-to-read-only-handling.patch +Patch0320: 0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch +Patch0321: 0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch +Patch0322: 0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch +Patch0323: 0323-tcg-arm-fix-cross-endian-qemu_st16.patch +Patch0324: 0324-target-openrisc-remove-conflicting-definitions-from-.patch +Patch0325: 0325-configure-avoid-compiler-warning-in-pipe2-detection.patch +Patch0326: 0326-qcow2-Fix-refcount-table-size-calculation.patch +Patch0327: 0327-tci-Fix-type-of-tci_read_label.patch +Patch0328: 0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch +Patch0329: 0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch +Patch0330: 0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch +Patch0331: 0331-PPC-Fix-missing-TRACE-exception.patch +Patch0332: 0332-qom-fix-refcount-of-non-heap-allocated-objects.patch +Patch0333: 0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch +Patch0334: 0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch +Patch0335: 0335-iscsi-fix-segfault-in-url-parsing.patch +Patch0336: 0336-iscsi-fix-deadlock-during-login.patch +Patch0337: 0337-iscsi-do-not-assume-device-is-zero-initialized.patch +Patch0338: 0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch +Patch0339: 0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch +Patch0340: 0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch +Patch0341: 0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch +Patch0342: 0342-stream-fix-ratelimit_set_speed.patch +Patch0343: 0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch -# Spice features from upstream master: seamless migration & dynamic monitors -Patch0500: 0500-qxl-disallow-unknown-revisions.patch -Patch0501: 0501-spice-make-number-of-surfaces-runtime-configurable.patch -Patch0502: 0502-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch -Patch0503: 0503-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch -Patch0504: 0504-spice-switch-to-queue-for-vga-mode-updates.patch -Patch0505: 0505-spice-split-qemu_spice_create_update.patch -Patch0506: 0506-spice-add-screen-mirror.patch -Patch0507: 0507-spice-send-updates-only-for-changed-screen-content.patch -Patch0508: 0508-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch -Patch0509: 0509-qxl-add-trace-event-for-QXL_IO_LOG.patch -Patch0510: 0510-hw-qxl-support-client-monitor-configuration-via-devi.patch -Patch0511: 0511-qxl-always-update-displaysurface-on-resize.patch +# chardev flow control series +Patch0401: 0401-update-VERSION-for-v1.2.2.patch +Patch0402: 0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch +Patch0403: 0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch +Patch0404: 0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch +Patch0405: 0405-char-Add-framework-for-a-write-unblocked-callback.patch +Patch0406: 0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch +Patch0407: 0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch +Patch0408: 0408-char-Throttle-when-host-connection-is-down.patch +Patch0409: 0409-virtio-console-Enable-port-throttling-when-chardev-i.patch +Patch0410: 0410-spice-qemu-char.c-add-throttling.patch +Patch0411: 0411-spice-qemu-char.c-remove-intermediate-buffer.patch +Patch0412: 0412-usb-redir-Add-flow-control-support.patch +Patch0413: 0413-virtio-serial-bus-replay-guest_open-on-migration.patch +Patch0414: 0414-char-Disable-write-callback-if-throttled-chardev-is-.patch + +# spice seamless migration & dynamic monitors from upstream master +Patch0501: 0501-qxl-disallow-unknown-revisions.patch +Patch0502: 0502-spice-make-number-of-surfaces-runtime-configurable.patch +Patch0503: 0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch +Patch0504: 0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch +Patch0505: 0505-spice-switch-to-queue-for-vga-mode-updates.patch +Patch0506: 0506-spice-split-qemu_spice_create_update.patch +Patch0507: 0507-spice-add-screen-mirror.patch +Patch0508: 0508-spice-send-updates-only-for-changed-screen-content.patch +Patch0509: 0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch +Patch0510: 0510-qxl-add-trace-event-for-QXL_IO_LOG.patch +Patch0511: 0511-hw-qxl-support-client-monitor-configuration-via-devi.patch Patch0512: 0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch Patch0513: 0513-qxl-fix-range-check-for-rev3-io-commands.patch -Patch0514: 0514-hw-qxl-exit-on-failure-to-register-qxl-interface.patch -Patch0515: 0515-hw-qxl-fix-condition-for-exiting-guest_bug.patch -Patch0516: 0516-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch -Patch0517: 0517-spice-raise-requirement-to-0.12.patch -Patch0518: 0518-qxl-set-default-revision-to-4.patch -# usb-redir live-migration and misc bits, will be in before 1.3.0 -Patch0600: 0600-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch -Patch0601: 0601-usb-redir-Set-ep-max_packet_size-if-available.patch -Patch0602: 0602-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch -Patch0603: 0603-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch -Patch0604: 0604-usb-redir-Enable-pipelining-for-bulk-endpoints.patch -Patch0605: 0605-xhci-move-device-lookup-into-xhci_setup_packet.patch -Patch0606: 0606-xhci-implement-mfindex.patch -Patch0607: 0607-xhci-iso-xfer-support.patch -Patch0608: 0608-xhci-trace-cc-codes-in-cleartext.patch -Patch0609: 0609-xhci-add-trace_usb_xhci_ep_set_dequeue.patch -Patch0610: 0610-xhci-update-register-layout.patch -Patch0611: 0611-xhci-update-port-handling.patch -Patch0612: 0612-usb3-superspeed-descriptors.patch -Patch0613: 0613-usb3-superspeed-endpoint-companion.patch -Patch0614: 0614-usb3-bos-decriptor.patch -Patch0615: 0615-usb-storage-usb3-support.patch -Patch0616: 0616-xhci-fix-cleanup-msi.patch -Patch0617: 0617-xhci-rework-interrupt-handling.patch -Patch0618: 0618-xhci-add-msix-support.patch -Patch0619: 0619-xhci-move-register-update-into-xhci_intr_raise.patch -Patch0620: 0620-xhci-add-XHCIInterrupter.patch -Patch0621: 0621-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch -Patch0622: 0622-xhci-pick-target-interrupter.patch -Patch0623: 0623-xhci-support-multiple-interrupters.patch -Patch0624: 0624-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch -Patch0625: 0625-usb-redir-Change-cancelled-packet-code-into-a-generi.patch -Patch0626: 0626-usb-redir-Add-an-already_in_flight-packet-id-queue.patch -Patch0627: 0627-usb-redir-Store-max_packet_size-in-endp_data.patch -Patch0628: 0628-usb-redir-Add-support-for-migration.patch -Patch0629: 0629-usb-redir-Add-chardev-open-close-debug-logging.patch -Patch0630: 0630-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch -Patch0631: 0631-ehci-Fix-interrupt-packet-MULT-handling.patch -Patch0632: 0632-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch -Patch0633: 0633-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch -Patch0634: 0634-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch +# usb-redir live-migration and misc bits from upstream master +Patch0601: 0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch +Patch0602: 0602-usb-redir-Set-ep-max_packet_size-if-available.patch +Patch0603: 0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch +Patch0604: 0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch +Patch0605: 0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch +Patch0606: 0606-xhci-move-device-lookup-into-xhci_setup_packet.patch +Patch0607: 0607-xhci-implement-mfindex.patch +Patch0608: 0608-xhci-iso-xfer-support.patch +Patch0609: 0609-xhci-trace-cc-codes-in-cleartext.patch +Patch0610: 0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch +Patch0611: 0611-xhci-update-register-layout.patch +Patch0612: 0612-xhci-update-port-handling.patch +Patch0613: 0613-usb3-superspeed-descriptors.patch +Patch0614: 0614-usb3-superspeed-endpoint-companion.patch +Patch0615: 0615-usb3-bos-decriptor.patch +Patch0616: 0616-usb-storage-usb3-support.patch +Patch0617: 0617-xhci-fix-cleanup-msi.patch +Patch0618: 0618-xhci-rework-interrupt-handling.patch +Patch0619: 0619-xhci-add-msix-support.patch +Patch0620: 0620-xhci-move-register-update-into-xhci_intr_raise.patch +Patch0621: 0621-xhci-add-XHCIInterrupter.patch +Patch0622: 0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch +Patch0623: 0623-xhci-pick-target-interrupter.patch +Patch0624: 0624-xhci-support-multiple-interrupters.patch +Patch0625: 0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch +Patch0626: 0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch +Patch0627: 0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch +Patch0628: 0628-usb-redir-Store-max_packet_size-in-endp_data.patch +Patch0629: 0629-usb-redir-Add-support-for-migration.patch +Patch0630: 0630-usb-redir-Add-chardev-open-close-debug-logging.patch +Patch0631: 0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch +Patch0632: 0632-ehci-Fix-interrupt-packet-MULT-handling.patch +Patch0633: 0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch +Patch0634: 0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch +Patch0635: 0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch +# misc bug fixes # Non upstream build fix, http://www.spinics.net/lists/kvm/msg80589.html -Patch0800: 0800-mips-Fix-link-error-with-piix4_pm_init.patch +Patch0701: 0701-mips-Fix-link-error-with-piix4_pm_init.patch # Add ./configure --disable-kvm-options # keep: Carrying locally until qemu-kvm is fully merged into qemu.git -Patch0801: 0801-configure-Add-disable-kvm-options.patch +Patch0702: 0702-configure-Add-disable-kvm-options.patch # Fix loading arm initrd if kernel is very large (bz 862766) -Patch802: 0802-arm_boot-Change-initrd-load-address-to-halfway-throu.patch +Patch0703: 0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch # Don't use reserved word 'function' in systemtap files (bz 870972) -Patch803: 0803-dtrace-backend-add-function-to-reserved-words.patch -# Drop assertion that was triggering when pausing guests w/ qxl (bz -# 870972) -Patch804: 0804-wip-hw-qxl-inject-interrupts-in-any-state.patch -# 38f419f (configure: Fix CONFIG_QEMU_HELPERDIR generation, 2012-10-17) -Patch805: 0805-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch +Patch0704: 0704-dtrace-backend-add-function-to-reserved-words.patch +# Drop assertion that was triggering when pausing guests w/ qxl (bz 870972) +Patch0705: 0705-wip-hw-qxl-inject-interrupts-in-any-state.patch +# libcacard build fixes +Patch0706: 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch +Patch0707: 0707-configure-move-vscclient-binary-under-libcacard.patch +# Fix libvirt + seccomp combo (bz 855162) +Patch0708: 0708-seccomp-adding-new-syscalls-bugzilla-855162.patch -# libcacard -Patch1001: 1001-libcacard-fix-missing-symbols-in-libcacard.so.patch -Patch1002: 1002-configure-move-vscclient-binary-under-libcacard.patch BuildRequires: SDL-devel BuildRequires: zlib-devel @@ -930,8 +965,10 @@ Requires: libcacard = %{epoch}:%{version}-%{release} CAC emulation development files. %prep -%setup -q -n qemu-kvm-%{version} +#%setup -q -n qemu-kvm-%{version} +%setup -q -n qemu-kvm-1.2.0 +# Stable 1.2.1 patches %patch0001 -p1 %patch0002 -p1 %patch0003 -p1 @@ -1175,7 +1212,52 @@ CAC emulation development files. %patch0241 -p1 %patch0242 -p1 -%patch0400 -p1 +# Stable 1.2.2 patches +%patch0301 -p1 +%patch0302 -p1 +%patch0303 -p1 +%patch0304 -p1 +%patch0305 -p1 +%patch0306 -p1 +%patch0307 -p1 +%patch0308 -p1 +%patch0309 -p1 +%patch0310 -p1 +%patch0311 -p1 +%patch0312 -p1 +%patch0313 -p1 +%patch0314 -p1 +%patch0315 -p1 +%patch0316 -p1 +%patch0317 -p1 +%patch0318 -p1 +%patch0319 -p1 +%patch0320 -p1 +%patch0321 -p1 +%patch0322 -p1 +%patch0323 -p1 +%patch0324 -p1 +%patch0325 -p1 +%patch0326 -p1 +%patch0327 -p1 +%patch0328 -p1 +%patch0329 -p1 +%patch0330 -p1 +%patch0331 -p1 +%patch0332 -p1 +%patch0333 -p1 +%patch0334 -p1 +%patch0335 -p1 +%patch0336 -p1 +%patch0337 -p1 +%patch0338 -p1 +%patch0339 -p1 +%patch0340 -p1 +%patch0341 -p1 +%patch0342 -p1 +%patch0343 -p1 + +# chardev flow control series %patch0401 -p1 %patch0402 -p1 %patch0403 -p1 @@ -1186,12 +1268,12 @@ CAC emulation development files. %patch0408 -p1 %patch0409 -p1 %patch0410 -p1 -# 411 superceded by 414 +%patch0411 -p1 %patch0412 -p1 %patch0413 -p1 %patch0414 -p1 -%patch0500 -p1 +# spice seamless migration & dynamic monitors from upstream master %patch0501 -p1 %patch0502 -p1 %patch0503 -p1 @@ -1205,13 +1287,8 @@ CAC emulation development files. %patch0511 -p1 %patch0512 -p1 %patch0513 -p1 -%patch0514 -p1 -%patch0515 -p1 -%patch0516 -p1 -%patch0517 -p1 -%patch0518 -p1 -%patch0600 -p1 +# usb-redir live-migration and misc bits from upstream master %patch0601 -p1 %patch0602 -p1 %patch0603 -p1 @@ -1246,27 +1323,28 @@ CAC emulation development files. %patch0632 -p1 %patch0633 -p1 %patch0634 -p1 +%patch0635 -p1 -%patch0800 -p1 -%patch0801 -p1 -%patch802 -p1 -%patch803 -p1 -%patch804 -p1 -%patch805 -p1 +# misc bug fixes +%patch0701 -p1 +%patch0702 -p1 +%patch0703 -p1 +%patch0704 -p1 +%patch0705 -p1 +%patch0706 -p1 +%patch0707 -p1 +%patch0708 -p1 -# libcacard -%patch1001 -p1 -%patch1002 -p1 %build %if %{with kvmonly} buildarch="%{kvm_target}-softmmu" %else -buildarch="i386-softmmu x86_64-softmmu alpha-softmmu arm-softmmu cris-softmmu \ - lm32-softmmu m68k-softmmu microblaze-softmmu microblazeel-softmmu \ - mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu \ - or32-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu s390x-softmmu \ - sh4-softmmu sh4eb-softmmu sparc-softmmu sparc64-softmmu \ + buildarch="i386-softmmu x86_64-softmmu alpha-softmmu arm-softmmu \ + cris-softmmu lm32-softmmu m68k-softmmu microblaze-softmmu \ + microblazeel-softmmu mips-softmmu mipsel-softmmu mips64-softmmu \ + mips64el-softmmu or32-softmmu ppc-softmmu ppcemb-softmmu ppc64-softmmu \ + s390x-softmmu sh4-softmmu sh4eb-softmmu sparc-softmmu sparc64-softmmu \ xtensa-softmmu xtensaeb-softmmu unicore32-softmmu \ i386-linux-user x86_64-linux-user alpha-linux-user arm-linux-user \ armeb-linux-user cris-linux-user m68k-linux-user \ @@ -1874,6 +1952,12 @@ fi %{_libdir}/pkgconfig/libcacard.pc %changelog +* Sun Dec 16 2012 Cole Robinson - 2:1.2.2-1 +- Update to qemu 1.2.2 stable +- Fix libvirt + seccomp combo (bz #855162) +- Fix scsi hotplug crash (bz #879657) +- Fix QOM refcount crash (bz #881486) + * Wed Nov 28 2012 Alon Levy - 2:1.2.0-25 * Merge libcacard into qemu, since they both use the same sources now. From 4e7a6e993e1e711db4ba91fad425d9f7b7e22dd3 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Wed, 16 Jan 2013 10:28:50 -0500 Subject: [PATCH 05/10] CVE-2012-6075: Buffer overflow in e1000 nic (bz #889301, bz #889304) Use systemd spec macros (bz #850285) --- ...d-oversized-packets-based-on-SBP-LPE.patch | 42 +++++++++++++++ qemu.spec | 53 +++++++------------ 2 files changed, 62 insertions(+), 33 deletions(-) create mode 100644 0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch diff --git a/0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch b/0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch new file mode 100644 index 0000000..3a7596a --- /dev/null +++ b/0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch @@ -0,0 +1,42 @@ +From 125014c9a69b47d98f29ae2a6a5dae2e5633f07a Mon Sep 17 00:00:00 2001 +From: Michael Contreras +Date: Wed, 5 Dec 2012 13:31:30 -0500 +Subject: [PATCH] e1000: Discard oversized packets based on SBP|LPE + +Discard packets longer than 16384 when !SBP to match the hardware behavior. + +Signed-off-by: Michael Contreras +Signed-off-by: Stefan Hajnoczi +Signed-off-by: Cole Robinson +--- + hw/e1000.c | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/hw/e1000.c b/hw/e1000.c +index b1d8508..fa3d4dc 100644 +--- a/hw/e1000.c ++++ b/hw/e1000.c +@@ -61,6 +61,8 @@ static int debugflags = DBGBIT(TXERR) | DBGBIT(GENERAL); + + /* this is the size past which hardware will drop packets when setting LPE=0 */ + #define MAXIMUM_ETHERNET_VLAN_SIZE 1522 ++/* this is the size past which hardware will drop packets when setting LPE=1 */ ++#define MAXIMUM_ETHERNET_LPE_SIZE 16384 + + /* + * HW models: +@@ -799,8 +801,9 @@ e1000_receive(NetClientState *nc, const uint8_t *buf, size_t size) + } + + /* Discard oversized packets if !LPE and !SBP. */ +- if (size > MAXIMUM_ETHERNET_VLAN_SIZE +- && !(s->mac_reg[RCTL] & E1000_RCTL_LPE) ++ if ((size > MAXIMUM_ETHERNET_LPE_SIZE || ++ (size > MAXIMUM_ETHERNET_VLAN_SIZE ++ && !(s->mac_reg[RCTL] & E1000_RCTL_LPE))) + && !(s->mac_reg[RCTL] & E1000_RCTL_SBP)) { + return size; + } +-- +1.8.1 + diff --git a/qemu.spec b/qemu.spec index 7ee31d5..386f787 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.2 -Release: 1%{?dist} +Release: 2%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -522,6 +522,8 @@ Patch0706: 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch Patch0707: 0707-configure-move-vscclient-binary-under-libcacard.patch # Fix libvirt + seccomp combo (bz 855162) Patch0708: 0708-seccomp-adding-new-syscalls-bugzilla-855162.patch +# CVE-2012-6075: Buffer overflow in e1000 nic (bz 889301, bz 889304) +Patch709: 0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch BuildRequires: SDL-devel @@ -702,24 +704,13 @@ with the host over a virtio-serial channel named "org.qemu.guest_agent.0" This package does not need to be installed on the host OS. %post guest-agent -if [ $1 -eq 1 ] ; then - # Initial installation. - /bin/systemctl daemon-reload >/dev/null 2>&1 || : -fi +%systemd_post qemu-guest-agent.service %preun guest-agent -if [ $1 -eq 0 ] ; then - # Package removal, not upgrade. - /bin/systemctl stop qemu-guest-agent.service > /dev/null 2>&1 || : -fi +%systemd_preun qemu-guest-agent.service %postun guest-agent -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ] ; then - # Package upgrade, not uninstall. - /bin/systemctl try-restart qemu-guest-agent.service >/dev/null 2>&1 || : -fi - +%systemd_postun_with_restart qemu-guest-agent.service %if 0%{?user:1} @@ -1334,6 +1325,7 @@ CAC emulation development files. %patch0706 -p1 %patch0707 -p1 %patch0708 -p1 +%patch709 -p1 %build @@ -1615,12 +1607,10 @@ sh %{_sysconfdir}/sysconfig/modules/kvm.modules || : udevadm trigger --sysname-match=kvm || : %endif + %post common -if [ $1 -eq 1 ] ; then - # Initial installation - /bin/systemctl enable ksm.service >/dev/null 2>&1 || : - /bin/systemctl enable ksmtuned.service >/dev/null 2>&1 || : -fi +%systemd_post ksm.service +%systemd_post ksmtuned.service getent group kvm >/dev/null || groupadd -g 36 -r kvm getent group qemu >/dev/null || groupadd -g 107 -r qemu @@ -1628,22 +1618,15 @@ getent passwd qemu >/dev/null || \ useradd -r -u 107 -g qemu -G kvm -d / -s /sbin/nologin \ -c "qemu user" qemu + %preun common -if [ $1 -eq 0 ] ; then - # Package removal, not upgrade - /bin/systemctl --no-reload disable ksmtuned.service > /dev/null 2>&1 || : - /bin/systemctl --no-reload disable ksm.service > /dev/null 2>&1 || : - /bin/systemctl stop ksmtuned.service > /dev/null 2>&1 || : - /bin/systemctl stop ksm.service > /dev/null 2>&1 || : -fi +%systemd_preun ksm.service +%systemd_preun ksmtuned.service + %postun common -/bin/systemctl daemon-reload >/dev/null 2>&1 || : -if [ $1 -ge 1 ] ; then - # Package upgrade, not uninstall - /bin/systemctl try-restart ksmtuned.service >/dev/null 2>&1 || : - /bin/systemctl try-restart ksm.service >/dev/null 2>&1 || : -fi +%systemd_postun_with_restart ksm.service +%systemd_postun_with_restart ksmtuned.service %if 0%{?user:1} @@ -1952,6 +1935,10 @@ fi %{_libdir}/pkgconfig/libcacard.pc %changelog +* Wed Jan 16 2013 Cole Robinson - 2:1.2.2-2 +- CVE-2012-6075: Buffer overflow in e1000 nic (bz #889301, bz #889304) +- Use systemd spec macros (bz #850285) + * Sun Dec 16 2012 Cole Robinson - 2:1.2.2-1 - Update to qemu 1.2.2 stable - Fix libvirt + seccomp combo (bz #855162) From 99c373db7f97e4d56f5888030a89b234d46a2e86 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 18 Jan 2013 15:50:38 +0100 Subject: [PATCH 06/10] Fix a crash when using -vga qxl without -spice (bz #892075) --- ...-a-vm-state-handler-for-dummy-spice_.patch | 31 +++++++++++++++++++ qemu.spec | 7 ++++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch diff --git a/0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch b/0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch new file mode 100644 index 0000000..89b2137 --- /dev/null +++ b/0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch @@ -0,0 +1,31 @@ +From 938b8a36b65e44c44ca29245437f8d7ac0f826e8 Mon Sep 17 00:00:00 2001 +From: Uri Lublin +Date: Wed, 12 Dec 2012 16:30:47 +0000 +Subject: qxl+vnc: register a vm state change handler for dummy spice_server + +When qxl + vnc are used, a dummy spice_server is initialized. +The spice_server has to be told when the VM runstate changes, +which is what this patch does. + +Without it, from qxl_send_events(), the following error message is shown: + qxl_send_events: spice-server bug: guest stopped, ignoring + +Cc: qemu-stable@nongnu.org +Signed-off-by: Uri Lublin +Signed-off-by: Gerd Hoffmann +--- +diff --git a/ui/spice-core.c b/ui/spice-core.c +index 261c6f2..59ce5f6 100644 +--- a/ui/spice-core.c ++++ b/ui/spice-core.c +@@ -732,6 +732,8 @@ int qemu_spice_add_interface(SpiceBaseInstance *sin) + */ + spice_server = spice_server_new(); + spice_server_init(spice_server, &core_interface); ++ qemu_add_vm_change_state_handler(vm_change_state_handler, ++ &spice_server); + } + + return spice_server_add_interface(spice_server, sin); +-- +cgit v0.9.0.2-2-gbebe diff --git a/qemu.spec b/qemu.spec index 386f787..fd17d5c 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.2 -Release: 2%{?dist} +Release: 3%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -467,6 +467,7 @@ Patch0510: 0510-qxl-add-trace-event-for-QXL_IO_LOG.patch Patch0511: 0511-hw-qxl-support-client-monitor-configuration-via-devi.patch Patch0512: 0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch Patch0513: 0513-qxl-fix-range-check-for-rev3-io-commands.patch +Patch0514: 0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch # usb-redir live-migration and misc bits from upstream master Patch0601: 0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch @@ -1278,6 +1279,7 @@ CAC emulation development files. %patch0511 -p1 %patch0512 -p1 %patch0513 -p1 +%patch0514 -p1 # usb-redir live-migration and misc bits from upstream master %patch0601 -p1 @@ -1935,6 +1937,9 @@ getent passwd qemu >/dev/null || \ %{_libdir}/pkgconfig/libcacard.pc %changelog +* Fri Jan 18 2013 Hans de Goede - 2:1.2.2-3 +- Fix a crash when using -vga qxl without -spice (bz #892075) + * Wed Jan 16 2013 Cole Robinson - 2:1.2.2-2 - CVE-2012-6075: Buffer overflow in e1000 nic (bz #889301, bz #889304) - Use systemd spec macros (bz #850285) From 83889a9bd2ed4ef11924d2e8f0b55d003279b70f Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 21 Jan 2013 16:09:24 +0100 Subject: [PATCH 07/10] Add "qxl: call dpy_gfx_resize when entering vga mode" patch, fixing an often reported use after free crash (rhbz#873845) - Replace "wip: hw/qxl: inject interrupts in any state" patch with the official upstream fix - Add 5 other spice/qxl crash/bug fixes cherry-picked from upstream --- ...-adding-new-syscalls-bugzilla-855162.patch | 241 ------------------ ...on-failure-to-register-qxl-interface.patch | 35 +++ ...-fix-condition-for-exiting-guest_bug.patch | 29 +++ ...w-qxl-qxl_send_events-nop-if-stopped.patch | 50 ++++ ...py_gfx_resize-when-entering-vga-mode.patch | 37 +++ 0519-spice-fix-initialization-order.patch | 67 +++++ ...ice-server-callbacks-to-ui-spice-dis.patch | 69 +++++ ...mu_create_displaysurface_from-result.patch | 41 +++ ...w-qxl-inject-interrupts-in-any-state.patch | 24 -- qemu.spec | 26 +- 10 files changed, 350 insertions(+), 269 deletions(-) delete mode 100644 0001-seccomp-adding-new-syscalls-bugzilla-855162.patch create mode 100644 0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch create mode 100644 0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch create mode 100644 0517-hw-qxl-qxl_send_events-nop-if-stopped.patch create mode 100644 0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch create mode 100644 0519-spice-fix-initialization-order.patch create mode 100644 0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch create mode 100644 0521-qxl-save-qemu_create_displaysurface_from-result.patch delete mode 100644 0705-wip-hw-qxl-inject-interrupts-in-any-state.patch diff --git a/0001-seccomp-adding-new-syscalls-bugzilla-855162.patch b/0001-seccomp-adding-new-syscalls-bugzilla-855162.patch deleted file mode 100644 index b2dfb8e..0000000 --- a/0001-seccomp-adding-new-syscalls-bugzilla-855162.patch +++ /dev/null @@ -1,241 +0,0 @@ -From fe512d65e0b752dfa7af6cfb374a0820d35040d0 Mon Sep 17 00:00:00 2001 -From: Eduardo Otubo -Date: Thu, 29 Nov 2012 13:56:41 -0200 -Subject: [PATCH] seccomp: adding new syscalls (bugzilla 855162) - -According to the bug 855162[0] - there's the need of adding new syscalls -to the whitelist when using Qemu with Libvirt. - -[0] - https://bugzilla.redhat.com/show_bug.cgi?id=855162 - -Reported-by: Paul Moore -Tested-by: Paul Moore -Signed-off-by: Eduardo Otubo -Signed-off-by: Corey Bryant -Signed-off-by: Anthony Liguori ---- - qemu-seccomp.c | 156 ++++++++++++++++++++++++++++++++++++++++++++++++++------- - 1 file changed, 139 insertions(+), 17 deletions(-) - -diff --git a/qemu-seccomp.c b/qemu-seccomp.c -index 64329a3..2a71d6f 100644 ---- a/qemu-seccomp.c -+++ b/qemu-seccomp.c -@@ -26,8 +26,12 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { - { SCMP_SYS(timer_gettime), 254 }, - { SCMP_SYS(futex), 253 }, - { SCMP_SYS(select), 252 }, -+#if defined(__x86_64__) - { SCMP_SYS(recvfrom), 251 }, - { SCMP_SYS(sendto), 250 }, -+#elif defined(__i386__) -+ { SCMP_SYS(socketcall), 250 }, -+#endif - { SCMP_SYS(read), 249 }, - { SCMP_SYS(brk), 248 }, - { SCMP_SYS(clone), 247 }, -@@ -36,15 +40,30 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { - { SCMP_SYS(execve), 245 }, - { SCMP_SYS(open), 245 }, - { SCMP_SYS(ioctl), 245 }, -+#if defined(__x86_64__) -+ { SCMP_SYS(socket), 245 }, -+ { SCMP_SYS(setsockopt), 245 }, - { SCMP_SYS(recvmsg), 245 }, - { SCMP_SYS(sendmsg), 245 }, - { SCMP_SYS(accept), 245 }, - { SCMP_SYS(connect), 245 }, -+ { SCMP_SYS(socketpair), 245 }, -+ { SCMP_SYS(bind), 245 }, -+ { SCMP_SYS(listen), 245 }, -+ { SCMP_SYS(semget), 245 }, -+#elif defined(__i386__) -+ { SCMP_SYS(ipc), 245 }, -+#endif - { SCMP_SYS(gettimeofday), 245 }, - { SCMP_SYS(readlink), 245 }, - { SCMP_SYS(access), 245 }, - { SCMP_SYS(prctl), 245 }, - { SCMP_SYS(signalfd), 245 }, -+ { SCMP_SYS(getrlimit), 245 }, -+ { SCMP_SYS(set_tid_address), 245 }, -+ { SCMP_SYS(statfs), 245 }, -+ { SCMP_SYS(unlink), 245 }, -+ { SCMP_SYS(wait4), 245 }, - #if defined(__i386__) - { SCMP_SYS(fcntl64), 245 }, - { SCMP_SYS(fstat64), 245 }, -@@ -56,30 +75,33 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { - { SCMP_SYS(sigreturn), 245 }, - { SCMP_SYS(_newselect), 245 }, - { SCMP_SYS(_llseek), 245 }, -- { SCMP_SYS(mmap2), 245}, -+ { SCMP_SYS(mmap2), 245 }, - { SCMP_SYS(sigprocmask), 245 }, --#elif defined(__x86_64__) -- { SCMP_SYS(sched_getparam), 245}, -- { SCMP_SYS(sched_getscheduler), 245}, -- { SCMP_SYS(fstat), 245}, -- { SCMP_SYS(clock_getres), 245}, -- { SCMP_SYS(sched_get_priority_min), 245}, -- { SCMP_SYS(sched_get_priority_max), 245}, -- { SCMP_SYS(stat), 245}, -- { SCMP_SYS(socket), 245}, -- { SCMP_SYS(setsockopt), 245}, -- { SCMP_SYS(uname), 245}, -- { SCMP_SYS(semget), 245}, - #endif -+ { SCMP_SYS(sched_getparam), 245 }, -+ { SCMP_SYS(sched_getscheduler), 245 }, -+ { SCMP_SYS(fstat), 245 }, -+ { SCMP_SYS(clock_getres), 245 }, -+ { SCMP_SYS(sched_get_priority_min), 245 }, -+ { SCMP_SYS(sched_get_priority_max), 245 }, -+ { SCMP_SYS(stat), 245 }, -+ { SCMP_SYS(uname), 245 }, - { SCMP_SYS(eventfd2), 245 }, - { SCMP_SYS(dup), 245 }, -+ { SCMP_SYS(dup2), 245 }, -+ { SCMP_SYS(dup3), 245 }, - { SCMP_SYS(gettid), 245 }, -+ { SCMP_SYS(getgid), 245 }, -+ { SCMP_SYS(getegid), 245 }, -+ { SCMP_SYS(getuid), 245 }, -+ { SCMP_SYS(geteuid), 245 }, - { SCMP_SYS(timer_create), 245 }, - { SCMP_SYS(exit), 245 }, - { SCMP_SYS(clock_gettime), 245 }, - { SCMP_SYS(time), 245 }, - { SCMP_SYS(restart_syscall), 245 }, - { SCMP_SYS(pwrite64), 245 }, -+ { SCMP_SYS(nanosleep), 245 }, - { SCMP_SYS(chown), 245 }, - { SCMP_SYS(openat), 245 }, - { SCMP_SYS(getdents), 245 }, -@@ -93,8 +115,6 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { - { SCMP_SYS(lseek), 245 }, - { SCMP_SYS(pselect6), 245 }, - { SCMP_SYS(fork), 245 }, -- { SCMP_SYS(bind), 245 }, -- { SCMP_SYS(listen), 245 }, - { SCMP_SYS(eventfd), 245 }, - { SCMP_SYS(rt_sigprocmask), 245 }, - { SCMP_SYS(write), 244 }, -@@ -104,10 +124,112 @@ static const struct QemuSeccompSyscall seccomp_whitelist[] = { - { SCMP_SYS(pipe2), 242 }, - { SCMP_SYS(munmap), 242 }, - { SCMP_SYS(mremap), 242 }, -+ { SCMP_SYS(fdatasync), 242 }, -+ { SCMP_SYS(close), 242 }, -+ { SCMP_SYS(rt_sigpending), 242 }, -+ { SCMP_SYS(rt_sigtimedwait), 242 }, -+ { SCMP_SYS(readv), 242 }, -+ { SCMP_SYS(writev), 242 }, -+ { SCMP_SYS(preadv), 242 }, -+ { SCMP_SYS(pwritev), 242 }, -+ { SCMP_SYS(setrlimit), 242 }, -+ { SCMP_SYS(ftruncate), 242 }, -+ { SCMP_SYS(lstat), 242 }, -+ { SCMP_SYS(pipe), 242 }, -+ { SCMP_SYS(umask), 242 }, -+ { SCMP_SYS(chdir), 242 }, -+ { SCMP_SYS(setitimer), 242 }, -+ { SCMP_SYS(setsid), 242 }, -+ { SCMP_SYS(poll), 242 }, -+ { SCMP_SYS(epoll_create), 242 }, -+ { SCMP_SYS(epoll_ctl), 242 }, -+ { SCMP_SYS(epoll_wait), 242 }, -+#if defined(__i386__) -+ { SCMP_SYS(waitpid), 242 }, -+#elif defined(__x86_64__) - { SCMP_SYS(getsockname), 242 }, - { SCMP_SYS(getpeername), 242 }, -- { SCMP_SYS(fdatasync), 242 }, -- { SCMP_SYS(close), 242 } -+ { SCMP_SYS(accept4), 242 }, -+ { SCMP_SYS(newfstatat), 241 }, -+ { SCMP_SYS(shutdown), 241 }, -+ { SCMP_SYS(getsockopt), 241 }, -+ { SCMP_SYS(semctl), 241 }, -+ { SCMP_SYS(semop), 241 }, -+ { SCMP_SYS(semtimedop), 241 }, -+ { SCMP_SYS(epoll_ctl_old), 241 }, -+ { SCMP_SYS(epoll_wait_old), 241 }, -+#endif -+ { SCMP_SYS(epoll_pwait), 241 }, -+ { SCMP_SYS(epoll_create1), 241 }, -+ { SCMP_SYS(ppoll), 241 }, -+ { SCMP_SYS(creat), 241 }, -+ { SCMP_SYS(link), 241 }, -+ { SCMP_SYS(getpid), 241 }, -+ { SCMP_SYS(getppid), 241 }, -+ { SCMP_SYS(getpgrp), 241 }, -+ { SCMP_SYS(getpgid), 241 }, -+ { SCMP_SYS(getsid), 241 }, -+ { SCMP_SYS(getdents64), 241 }, -+ { SCMP_SYS(getresuid), 241 }, -+ { SCMP_SYS(getresgid), 241 }, -+ { SCMP_SYS(getgroups), 241 }, -+#if defined(__i386__) -+ { SCMP_SYS(getresuid32), 241 }, -+ { SCMP_SYS(getresgid32), 241 }, -+ { SCMP_SYS(getgroups32), 241 }, -+ { SCMP_SYS(signal), 241 }, -+ { SCMP_SYS(sigaction), 241 }, -+ { SCMP_SYS(sigsuspend), 241 }, -+ { SCMP_SYS(sigpending), 241 }, -+ { SCMP_SYS(truncate64), 241 }, -+ { SCMP_SYS(ftruncate64), 241 }, -+ { SCMP_SYS(fchown32), 241 }, -+ { SCMP_SYS(chown32), 241 }, -+ { SCMP_SYS(lchown32), 241 }, -+ { SCMP_SYS(statfs64), 241 }, -+ { SCMP_SYS(fstatfs64), 241 }, -+ { SCMP_SYS(fstatat64), 241 }, -+ { SCMP_SYS(lstat64), 241 }, -+ { SCMP_SYS(sendfile64), 241 }, -+ { SCMP_SYS(ugetrlimit), 241 }, -+#endif -+ { SCMP_SYS(alarm), 241 }, -+ { SCMP_SYS(rt_sigsuspend), 241 }, -+ { SCMP_SYS(rt_sigqueueinfo), 241 }, -+ { SCMP_SYS(rt_tgsigqueueinfo), 241 }, -+ { SCMP_SYS(sigaltstack), 241 }, -+ { SCMP_SYS(signalfd4), 241 }, -+ { SCMP_SYS(truncate), 241 }, -+ { SCMP_SYS(fchown), 241 }, -+ { SCMP_SYS(lchown), 241 }, -+ { SCMP_SYS(fchownat), 241 }, -+ { SCMP_SYS(fstatfs), 241 }, -+ { SCMP_SYS(sendfile), 241 }, -+ { SCMP_SYS(getitimer), 241 }, -+ { SCMP_SYS(syncfs), 241 }, -+ { SCMP_SYS(fsync), 241 }, -+ { SCMP_SYS(fchdir), 241 }, -+ { SCMP_SYS(flock), 241 }, -+ { SCMP_SYS(msync), 241 }, -+ { SCMP_SYS(sched_setparam), 241 }, -+ { SCMP_SYS(sched_setscheduler), 241 }, -+ { SCMP_SYS(sched_yield), 241 }, -+ { SCMP_SYS(sched_rr_get_interval), 241 }, -+ { SCMP_SYS(sched_setaffinity), 241 }, -+ { SCMP_SYS(sched_getaffinity), 241 }, -+ { SCMP_SYS(readahead), 241 }, -+ { SCMP_SYS(timer_getoverrun), 241 }, -+ { SCMP_SYS(unlinkat), 241 }, -+ { SCMP_SYS(readlinkat), 241 }, -+ { SCMP_SYS(faccessat), 241 }, -+ { SCMP_SYS(get_robust_list), 241 }, -+ { SCMP_SYS(splice), 241 }, -+ { SCMP_SYS(vmsplice), 241 }, -+ { SCMP_SYS(getcpu), 241 }, -+ { SCMP_SYS(sendmmsg), 241 }, -+ { SCMP_SYS(recvmmsg), 241 }, -+ { SCMP_SYS(prlimit64), 241 }, -+ { SCMP_SYS(waitid), 241 } - }; - - int seccomp_start(void) --- -1.8.0.2 - diff --git a/0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch b/0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch new file mode 100644 index 0000000..f8aee4f --- /dev/null +++ b/0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch @@ -0,0 +1,35 @@ +From 58891f4a215336182677e97c94198ba8cced19cd Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Wed, 3 Oct 2012 20:13:58 +0200 +Subject: [PATCH 515/522] hw/qxl: exit on failure to register qxl interface + +This prevents a segfault later on when the device reset handler +tries to access a NULL ssd.worker since interface_attach_worker has +not been called. + +Signed-off-by: Alon Levy +Signed-off-by: Gerd Hoffmann +--- + hw/qxl.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/hw/qxl.c b/hw/qxl.c +index 8d33745..db6440e 100644 +--- a/hw/qxl.c ++++ b/hw/qxl.c +@@ -2035,7 +2035,11 @@ static int qxl_init_common(PCIQXLDevice *qxl) + + qxl->ssd.qxl.base.sif = &qxl_interface.base; + qxl->ssd.qxl.id = qxl->id; +- qemu_spice_add_interface(&qxl->ssd.qxl.base); ++ if (qemu_spice_add_interface(&qxl->ssd.qxl.base) != 0) { ++ error_report("qxl interface %d.%d not supported by spice-server\n", ++ SPICE_INTERFACE_QXL_MAJOR, SPICE_INTERFACE_QXL_MINOR); ++ return -1; ++ } + qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl); + + init_pipe_signaling(qxl); +-- +1.8.0.2 + diff --git a/0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch b/0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch new file mode 100644 index 0000000..216c177 --- /dev/null +++ b/0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch @@ -0,0 +1,29 @@ +From 8ceaa64ed2f20a7af865eb9bac0bc6e54f5f7eea Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Tue, 2 Oct 2012 11:39:14 +0200 +Subject: [PATCH 516/522] hw/qxl: fix condition for exiting guest_bug + +Reported and suggested by Paolo Bonzini, thanks. + +Signed-off-by: Alon Levy +Signed-off-by: Gerd Hoffmann +--- + hw/qxl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/qxl.c b/hw/qxl.c +index db6440e..445705e 100644 +--- a/hw/qxl.c ++++ b/hw/qxl.c +@@ -1461,7 +1461,7 @@ static void ioport_write(void *opaque, target_phys_addr_t addr, + qxl_async_io async = QXL_SYNC; + uint32_t orig_io_port = io_port; + +- if (d->guest_bug && !io_port == QXL_IO_RESET) { ++ if (d->guest_bug && io_port != QXL_IO_RESET) { + return; + } + +-- +1.8.0.2 + diff --git a/0517-hw-qxl-qxl_send_events-nop-if-stopped.patch b/0517-hw-qxl-qxl_send_events-nop-if-stopped.patch new file mode 100644 index 0000000..324ce7d --- /dev/null +++ b/0517-hw-qxl-qxl_send_events-nop-if-stopped.patch @@ -0,0 +1,50 @@ +From 79868eccfd65a7926d7beff42b1094a000b10c01 Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Thu, 1 Nov 2012 14:56:00 +0200 +Subject: [PATCH 517/522] hw/qxl: qxl_send_events: nop if stopped + +Added a trace point for easy logging. + +RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=870972 + +Signed-off-by: Alon Levy +Signed-off-by: Gerd Hoffmann +--- + hw/qxl.c | 8 +++++++- + trace-events | 1 + + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/hw/qxl.c b/hw/qxl.c +index 445705e..8111bb9 100644 +--- a/hw/qxl.c ++++ b/hw/qxl.c +@@ -1714,7 +1714,13 @@ static void qxl_send_events(PCIQXLDevice *d, uint32_t events) + uint32_t le_events = cpu_to_le32(events); + + trace_qxl_send_events(d->id, events); +- assert(qemu_spice_display_is_running(&d->ssd)); ++ if (!qemu_spice_display_is_running(&d->ssd)) { ++ /* spice-server tracks guest running state and should not do this */ ++ fprintf(stderr, "%s: spice-server bug: guest stopped, ignoring\n", ++ __func__); ++ trace_qxl_send_events_vm_stopped(d->id, events); ++ return; ++ } + old_pending = __sync_fetch_and_or(&d->ram->int_pending, le_events); + if ((old_pending & le_events) == le_events) { + return; +diff --git a/trace-events b/trace-events +index f5b5097..9d39d8d 100644 +--- a/trace-events ++++ b/trace-events +@@ -978,6 +978,7 @@ qxl_spice_update_area(int qid, uint32_t surface_id, uint32_t left, uint32_t righ + qxl_spice_update_area_rest(int qid, uint32_t num_dirty_rects, uint32_t clear_dirty_region) "%d #d=%d clear=%d" + qxl_surfaces_dirty(int qid, int surface, int offset, int size) "%d surface=%d offset=%d size=%d" + qxl_send_events(int qid, uint32_t events) "%d %d" ++qxl_send_events_vm_stopped(int qid, uint32_t events) "%d %d" + qxl_set_guest_bug(int qid) "%d" + qxl_interrupt_client_monitors_config(int qid, int num_heads, void *heads) "%d %d %p" + qxl_client_monitors_config_unsupported_by_guest(int qid, uint32_t int_mask, void *client_monitors_config) "%d %X %p" +-- +1.8.0.2 + diff --git a/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch b/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch new file mode 100644 index 0000000..12f90d7 --- /dev/null +++ b/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch @@ -0,0 +1,37 @@ +From acbfa56143a6c8a4e0ceb2546612ae4caea907d3 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Tue, 30 Oct 2012 14:55:12 +0100 +Subject: [PATCH 518/564] qxl: call dpy_gfx_resize when entering vga mode + +When entering vga mode the display size likely changes, +notify all displaychangelisteners about this. + +Probably went unnoticed for a while as one if the first +things the guest does after leaving qxl native mode and +entering qxl vga mode is to set the vga video mode. But +there is still a small window where qemu can operate on +stale data, leading to crashes now and then. + +https://bugzilla.redhat.com/show_bug.cgi?id=865767 + +Signed-off-by: Gerd Hoffmann +--- + hw/qxl.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hw/qxl.c b/hw/qxl.c +index 8111bb9..3583d98 100644 +--- a/hw/qxl.c ++++ b/hw/qxl.c +@@ -1084,7 +1084,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d) + trace_qxl_enter_vga_mode(d->id); + qemu_spice_create_host_primary(&d->ssd); + d->mode = QXL_MODE_VGA; +- memset(&d->ssd.dirty, 0, sizeof(d->ssd.dirty)); ++ dpy_resize(d->ssd.ds); + vga_dirty_log_start(&d->vga); + } + +-- +1.8.1 + diff --git a/0519-spice-fix-initialization-order.patch b/0519-spice-fix-initialization-order.patch new file mode 100644 index 0000000..41a73a0 --- /dev/null +++ b/0519-spice-fix-initialization-order.patch @@ -0,0 +1,67 @@ +From d106523eff9b2f7e0b201c04a825c1fbcef1e495 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Fri, 2 Nov 2012 09:37:27 +0100 +Subject: [PATCH 519/564] spice: fix initialization order + +Register displaychangelistener last, after spice is fully initialized, +otherwise we may hit NULL pointer dereferences when qemu starts calling +our callbacks. + +Commit e250d949feb1334828f27f0d145c35f29c4b7639 triggers this bug. + +Signed-off-by: Gerd Hoffmann +--- + hw/qxl.c | 10 ++++++++-- + ui/spice-display.c | 2 +- + 2 files changed, 9 insertions(+), 3 deletions(-) + +diff --git a/hw/qxl.c b/hw/qxl.c +index 3583d98..525763b 100644 +--- a/hw/qxl.c ++++ b/hw/qxl.c +@@ -2061,6 +2061,7 @@ static int qxl_init_primary(PCIDevice *dev) + PCIQXLDevice *qxl = DO_UPCAST(PCIQXLDevice, pci, dev); + VGACommonState *vga = &qxl->vga; + PortioList *qxl_vga_port_list = g_new(PortioList, 1); ++ int rc; + + qxl->id = 0; + qxl_init_ramsize(qxl); +@@ -2075,9 +2076,14 @@ static int qxl_init_primary(PCIDevice *dev) + qemu_spice_display_init_common(&qxl->ssd, vga->ds); + + qxl0 = qxl; +- register_displaychangelistener(vga->ds, &display_listener); + +- return qxl_init_common(qxl); ++ rc = qxl_init_common(qxl); ++ if (rc != 0) { ++ return rc; ++ } ++ ++ register_displaychangelistener(vga->ds, &display_listener); ++ return rc; + } + + static int qxl_init_secondary(PCIDevice *dev) +diff --git a/ui/spice-display.c b/ui/spice-display.c +index d062765..4c24c32 100644 +--- a/ui/spice-display.c ++++ b/ui/spice-display.c +@@ -617,7 +617,6 @@ void qemu_spice_display_init(DisplayState *ds) + { + assert(sdpy.ds == NULL); + qemu_spice_display_init_common(&sdpy, ds); +- register_displaychangelistener(ds, &display_listener); + + sdpy.qxl.base.sif = &dpy_interface.base; + qemu_spice_add_interface(&sdpy.qxl.base); +@@ -626,4 +625,5 @@ void qemu_spice_display_init(DisplayState *ds) + qemu_add_vm_change_state_handler(qemu_spice_vm_change_state_handler, &sdpy); + qemu_spice_create_host_memslot(&sdpy); + qemu_spice_create_host_primary(&sdpy); ++ register_displaychangelistener(ds, &display_listener); + } +-- +1.8.1 + diff --git a/0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch b/0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch new file mode 100644 index 0000000..dbc8120 --- /dev/null +++ b/0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch @@ -0,0 +1,69 @@ +From e4e6427ffc8a25e6eafdbf1a284319721891fb77 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Wed, 21 Nov 2012 14:41:48 +0100 +Subject: [PATCH 520/564] spice: add new spice-server callbacks to + ui/spice-display.c + +Otherwise qemu crashes with non-qxl graphics cards. + +Signed-off-by: Gerd Hoffmann +--- + ui/spice-display.c | 35 +++++++++++++++++++++++++++++++++++ + 1 file changed, 35 insertions(+) + +diff --git a/ui/spice-display.c b/ui/spice-display.c +index 4c24c32..85c055e 100644 +--- a/ui/spice-display.c ++++ b/ui/spice-display.c +@@ -569,6 +569,37 @@ static int interface_flush_resources(QXLInstance *sin) + return 0; + } + ++static void interface_update_area_complete(QXLInstance *sin, ++ uint32_t surface_id, ++ QXLRect *dirty, uint32_t num_updated_rects) ++{ ++ /* should never be called, used in qxl native mode only */ ++ fprintf(stderr, "%s: abort()\n", __func__); ++ abort(); ++} ++ ++/* called from spice server thread context only */ ++static void interface_async_complete(QXLInstance *sin, uint64_t cookie_token) ++{ ++ /* should never be called, used in qxl native mode only */ ++ fprintf(stderr, "%s: abort()\n", __func__); ++ abort(); ++} ++ ++static void interface_set_client_capabilities(QXLInstance *sin, ++ uint8_t client_present, ++ uint8_t caps[58]) ++{ ++ dprint(3, "%s:\n", __func__); ++} ++ ++static int interface_client_monitors_config(QXLInstance *sin, ++ VDAgentMonitorsConfig *monitors_config) ++{ ++ dprint(3, "%s:\n", __func__); ++ return 0; /* == not supported by guest */ ++} ++ + static const QXLInterface dpy_interface = { + .base.type = SPICE_INTERFACE_QXL, + .base.description = "qemu simple display", +@@ -588,6 +619,10 @@ static const QXLInterface dpy_interface = { + .req_cursor_notification = interface_req_cursor_notification, + .notify_update = interface_notify_update, + .flush_resources = interface_flush_resources, ++ .async_complete = interface_async_complete, ++ .update_area_complete = interface_update_area_complete, ++ .set_client_capabilities = interface_set_client_capabilities, ++ .client_monitors_config = interface_client_monitors_config, + }; + + static SimpleSpiceDisplay sdpy; +-- +1.8.1 + diff --git a/0521-qxl-save-qemu_create_displaysurface_from-result.patch b/0521-qxl-save-qemu_create_displaysurface_from-result.patch new file mode 100644 index 0000000..8697610 --- /dev/null +++ b/0521-qxl-save-qemu_create_displaysurface_from-result.patch @@ -0,0 +1,41 @@ +From 39a4efbef72744cb09151954091710400c31f18d Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Mon, 10 Dec 2012 07:41:07 +0100 +Subject: [PATCH 521/564] qxl: save qemu_create_displaysurface_from result + +Spotted by Coverity. + +https://bugzilla.redhat.com/show_bug.cgi?id=885644 + +Cc: qemu-stable@nongnu.org +Reported-by: Markus Armbruster +Signed-off-by: Gerd Hoffmann +--- + hw/qxl-render.c | 11 ++++++----- + 1 file changed, 6 insertions(+), 5 deletions(-) + +diff --git a/hw/qxl-render.c b/hw/qxl-render.c +index b66c168..e7d41ec 100644 +--- a/hw/qxl-render.c ++++ b/hw/qxl-render.c +@@ -113,11 +113,12 @@ static void qxl_render_update_area_unlocked(PCIQXLDevice *qxl) + qxl->guest_primary.bits_pp); + if (qxl->guest_primary.qxl_stride > 0) { + qemu_free_displaysurface(vga->ds); +- qemu_create_displaysurface_from(qxl->guest_primary.surface.width, +- qxl->guest_primary.surface.height, +- qxl->guest_primary.bits_pp, +- qxl->guest_primary.abs_stride, +- qxl->guest_primary.data); ++ vga->ds->surface = qemu_create_displaysurface_from ++ (qxl->guest_primary.surface.width, ++ qxl->guest_primary.surface.height, ++ qxl->guest_primary.bits_pp, ++ qxl->guest_primary.abs_stride, ++ qxl->guest_primary.data); + } else { + qemu_resize_displaysurface(vga->ds, + qxl->guest_primary.surface.width, +-- +1.8.1 + diff --git a/0705-wip-hw-qxl-inject-interrupts-in-any-state.patch b/0705-wip-hw-qxl-inject-interrupts-in-any-state.patch deleted file mode 100644 index 5251af4..0000000 --- a/0705-wip-hw-qxl-inject-interrupts-in-any-state.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 605d30a4a9548e27d65fa90faa29b942df097e1e Mon Sep 17 00:00:00 2001 -From: Alon Levy -Date: Tue, 30 Oct 2012 18:00:33 +0200 -Subject: [PATCH] wip: hw/qxl: inject interrupts in any state - ---- - hw/qxl.c | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/hw/qxl.c b/hw/qxl.c -index 8d33745..1d8ffae 100644 ---- a/hw/qxl.c -+++ b/hw/qxl.c -@@ -1714,7 +1714,6 @@ static void qxl_send_events(PCIQXLDevice *d, uint32_t events) - uint32_t le_events = cpu_to_le32(events); - - trace_qxl_send_events(d->id, events); -- assert(qemu_spice_display_is_running(&d->ssd)); - old_pending = __sync_fetch_and_or(&d->ram->int_pending, le_events); - if ((old_pending & le_events) == le_events) { - return; --- -1.8.0.2 - diff --git a/qemu.spec b/qemu.spec index fd17d5c..2ff5965 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.2 -Release: 3%{?dist} +Release: 4%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -468,6 +468,13 @@ Patch0511: 0511-hw-qxl-support-client-monitor-configuration-via-devi.patch Patch0512: 0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch Patch0513: 0513-qxl-fix-range-check-for-rev3-io-commands.patch Patch0514: 0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch +Patch0515: 0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch +Patch0516: 0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch +Patch0517: 0517-hw-qxl-qxl_send_events-nop-if-stopped.patch +Patch0518: 0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch +Patch0519: 0519-spice-fix-initialization-order.patch +Patch0520: 0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch +Patch0521: 0521-qxl-save-qemu_create_displaysurface_from-result.patch # usb-redir live-migration and misc bits from upstream master Patch0601: 0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch @@ -516,8 +523,6 @@ Patch0702: 0702-configure-Add-disable-kvm-options.patch Patch0703: 0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch # Don't use reserved word 'function' in systemtap files (bz 870972) Patch0704: 0704-dtrace-backend-add-function-to-reserved-words.patch -# Drop assertion that was triggering when pausing guests w/ qxl (bz 870972) -Patch0705: 0705-wip-hw-qxl-inject-interrupts-in-any-state.patch # libcacard build fixes Patch0706: 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch Patch0707: 0707-configure-move-vscclient-binary-under-libcacard.patch @@ -1280,6 +1285,13 @@ CAC emulation development files. %patch0512 -p1 %patch0513 -p1 %patch0514 -p1 +%patch0515 -p1 +%patch0516 -p1 +%patch0517 -p1 +%patch0518 -p1 +%patch0519 -p1 +%patch0520 -p1 +%patch0521 -p1 # usb-redir live-migration and misc bits from upstream master %patch0601 -p1 @@ -1323,7 +1335,6 @@ CAC emulation development files. %patch0702 -p1 %patch0703 -p1 %patch0704 -p1 -%patch0705 -p1 %patch0706 -p1 %patch0707 -p1 %patch0708 -p1 @@ -1937,6 +1948,13 @@ getent passwd qemu >/dev/null || \ %{_libdir}/pkgconfig/libcacard.pc %changelog +* Mon Jan 21 2013 Hans de Goede - 2:1.2.2-4 +- Add "qxl: call dpy_gfx_resize when entering vga mode" patch, fixing + an often reported use after free crash (rhbz#873845) +- Replace "wip: hw/qxl: inject interrupts in any state" patch with the + official upstream fix +- Add 5 other spice/qxl crash/bug fixes cherry-picked from upstream + * Fri Jan 18 2013 Hans de Goede - 2:1.2.2-3 - Fix a crash when using -vga qxl without -spice (bz #892075) From e051f2359ecdddb2d670c127a034a35a25e90653 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Wed, 23 Jan 2013 18:02:50 +0200 Subject: [PATCH 08/10] fix missing error_set symbol in libcacard.so 2:1.2.2-5 --- ...-fix-missing-symbols-in-libcacard.so.patch | 33 +++++++++++++++++++ qemu.spec | 8 ++++- 2 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 0710-libcacard-fix-missing-symbols-in-libcacard.so.patch diff --git a/0710-libcacard-fix-missing-symbols-in-libcacard.so.patch b/0710-libcacard-fix-missing-symbols-in-libcacard.so.patch new file mode 100644 index 0000000..e380c28 --- /dev/null +++ b/0710-libcacard-fix-missing-symbols-in-libcacard.so.patch @@ -0,0 +1,33 @@ +From a198c5ee0b8311aadffb682a70587cb92368b3fc Mon Sep 17 00:00:00 2001 +From: Alon Levy +Date: Wed, 28 Nov 2012 11:16:26 +0200 +Subject: [PATCH] libcacard: fix missing symbol in libcacard.so + +Before patch: +$ make libcacard.la +$ nm ./libcacard/.libs/libcacard.so.0.0.0 | grep " U " | \ + egrep -v "(g_)|(GLIBC)|(SECMOD)|(PK11)|(CERT)|(NSS)|(PORT)|(PR)" + U error_set + +Signed-off-by: Alon Levy +Signed-off-by: Paolo Bonzini +--- + libcacard/Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/libcacard/Makefile b/libcacard/Makefile +index 88ed064..7973f8d 100644 +--- a/libcacard/Makefile ++++ b/libcacard/Makefile +@@ -7,7 +7,7 @@ libcacard_includedir=$(includedir)/cacard + $(call set-vpath, $(SRC_PATH)) + + # objects linked into a shared library, built with libtool with -fPIC if required +-QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o iov.o cutils.o qemu-user.o $(trace-obj-y) ++QEMU_OBJS=$(oslib-obj-y) qemu-timer-common.o error.o iov.o cutils.o qemu-user.o $(trace-obj-y) + QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS)) + + QEMU_CFLAGS+=-I../ +-- +1.8.0.1 + diff --git a/qemu.spec b/qemu.spec index 2ff5965..1428328 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.2 -Release: 4%{?dist} +Release: 5%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -531,6 +531,8 @@ Patch0708: 0708-seccomp-adding-new-syscalls-bugzilla-855162.patch # CVE-2012-6075: Buffer overflow in e1000 nic (bz 889301, bz 889304) Patch709: 0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch +Patch710: 0710-libcacard-fix-missing-symbols-in-libcacard.so.patch + BuildRequires: SDL-devel BuildRequires: zlib-devel @@ -1339,6 +1341,7 @@ CAC emulation development files. %patch0707 -p1 %patch0708 -p1 %patch709 -p1 +%patch710 -p1 %build @@ -1948,6 +1951,9 @@ getent passwd qemu >/dev/null || \ %{_libdir}/pkgconfig/libcacard.pc %changelog +* Wed Jan 23 2013 Alon Levy - 2:1.2.2-5 +- Add fix for missing error_set in libcacard.so picked from upstream. + * Mon Jan 21 2013 Hans de Goede - 2:1.2.2-4 - Add "qxl: call dpy_gfx_resize when entering vga mode" patch, fixing an often reported use after free crash (rhbz#873845) From 9290838132369d5fa45896ed07d42fbba1d605bb Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Sat, 2 Feb 2013 15:47:37 -0500 Subject: [PATCH 09/10] Fix boot hang if console is not connected (bz #894451) Fix segfault with zero length virtio-scsi disk (bz #847549) --- ...a-convert-host-errno-values-to-guest.patch | 3 - 0002-target-cris-Fix-buffer-overflow.patch | 3 - ...-fix-missing-errno-codes-for-mingw32.patch | 3 - ...-fcmp-s-d-q-instructions-wrt-excepti.patch | 3 - 0005-target-s390x-fix-style.patch | 3 - 0006-target-s390x-split-FPU-ops.patch | 3 - ...t-s390x-split-condition-code-helpers.patch | 3 - 0008-target-s390x-split-integer-helpers.patch | 3 - ...et-s390x-split-memory-access-helpers.patch | 3 - ...-rename-op_helper.c-to-misc_helper.c.patch | 3 - ...et-s390x-avoid-AREG0-for-FPU-helpers.patch | 3 - ...390x-avoid-AREG0-for-integer-helpers.patch | 3 - ...oid-AREG0-for-condition-code-helpers.patch | 3 - ...t-s390x-avoid-AREG0-for-misc-helpers.patch | 3 - ...rget-s390x-switch-to-AREG0-free-mode.patch | 3 - ...fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch | 3 - ...et-arm-Fix-potential-buffer-overflow.patch | 3 - ...mize-split-expression-simplification.patch | 3 - ...optimize-simplify-or-xor-r-a-0-cases.patch | 3 - ...cg-optimize-simplify-and-r-a-0-cases.patch | 3 - ...plify-shift-rot-r-0-a-movi-r-0-cases.patch | 3 - ...p-brcond-setcond-arguments-when-poss.patch | 3 - ...ize-add-constant-folding-for-setcond.patch | 3 - ...mize-add-constant-folding-for-brcond.patch | 3 - ...imize-fix-if-else-break-coding-style.patch | 3 - 0026-target-s390x-avoid-cpu_single_env.patch | 3 - ...arget-lm32-switch-to-AREG0-free-mode.patch | 3 - ...arget-m68k-switch-to-AREG0-free-mode.patch | 3 - ...rget-m68k-avoid-using-cpu_single_env.patch | 3 - ...-unicore32-switch-to-AREG0-free-mode.patch | 3 - 0031-target-arm-convert-void-helpers.patch | 3 - ...target-arm-convert-remaining-helpers.patch | 3 - ...-final-conversion-to-AREG0-free-mode.patch | 3 - ...microblaze-switch-to-AREG0-free-mode.patch | 3 - ...-target-cris-Avoid-AREG0-for-helpers.patch | 3 - ...arget-cris-Switch-to-AREG0-free-mode.patch | 3 - ...target-sh4-switch-to-AREG0-free-mode.patch | 3 - ...arget-mips-switch-to-AREG0-free-mode.patch | 3 - ...-CONFIG_TCG_PASS_AREG0-and-dead-code.patch | 3 - ...86-allow-constants-in-load-store-ops.patch | 3 - ...k-set_label-with-TCG_OPF_BB_END-flag.patch | 3 - 0042-revert-TCG-fix-copy-propagation.patch | 3 - ...et-mips-Set-opn-in-gen_ldst_multiple.patch | 3 - 0044-target-mips-Fix-MIPS_DEBUG.patch | 3 - ...ys-evaluate-debugging-macro-argument.patch | 3 - ...ize-fix-end-of-basic-block-detection.patch | 3 - ...target-xtensa-fix-extui-shift-amount.patch | 3 - ...nsa-don-t-emit-extra-tcg_gen_goto_tb.patch | 3 - 0049-tcg-Introduce-movcond.patch | 3 - 0050-target-alpha-Use-movcond.patch | 3 - 0051-tcg-i386-Implement-movcond.patch | 3 - ...ize-movcond-for-constant-comparisons.patch | 3 - ...e-two-address-commutative-operations.patch | 3 - ...build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch | 3 - 0055-tcg-Fix-USE_DIRECT_JUMP.patch | 3 - 0056-tcg-hppa-Fix-brcond2-and-setcond2.patch | 3 - ...g-hppa-Fix-broken-load-store-helpers.patch | 3 - ...mips-fix-wrong-usage-of-Z-constraint.patch | 3 - ...-tcg-mips-kill-warnings-in-user-mode.patch | 3 - ...-use-TCGArg-or-TCGReg-instead-of-int.patch | 3 - 0061-tcg-mips-don-t-use-global-pointer.patch | 3 - 0062-tcg-mips-use-stack-for-TCG-temps.patch | 3 - 0063-tcg-mips-optimize-brcond-arg-0.patch | 3 - ...optimize-bswap-16-16s-32-on-MIPS32R2.patch | 3 - ...-implement-rotl-rotr-ops-on-MIPS32R2.patch | 3 - ...ips-implement-deposit-op-on-MIPS32R2.patch | 3 - ...ips-implement-movcond-op-on-MIPS32R2.patch | 3 - 0068-tcg-optimize-remove-TCG_TEMP_ANY.patch | 3 - ...mize-check-types-in-copy-propagation.patch | 3 - ...tcg-optimize-rework-copy-progagation.patch | 3 - ...-copy-propagation-for-all-operations.patch | 3 - ...g-optimize-optimize-op-r-a-a-mov-r-a.patch | 3 - ...-optimize-optimize-op-r-a-a-movi-r-0.patch | 3 - ...ther-optimize-brcond-movcond-setcond.patch | 3 - ...fer-the-op-a-a-b-form-for-commutativ.patch | 3 - ...e-ifdef-endif-around-TCGOpcode-tests.patch | 3 - ...ize-add-constant-folding-for-deposit.patch | 3 - ...ocument-tcg_gen_goto_tb-restrictions.patch | 3 - ...CG-helper-functions-with-5-arguments.patch | 3 - 0080-tcg-ppc32-Implement-movcond32.patch | 3 - ...parc-Hack-in-qemu_ld-st64-for-32-bit.patch | 3 - 0082-tcg-sparc-Fix-ADDX-opcode.patch | 3 - ...on-t-MAP_FIXED-on-top-of-the-program.patch | 3 - ...-v9-cpu-always-i.e.-force-v8plus-in-.patch | 3 - ...Fix-qemu_ld-st-to-handle-32-bit-host.patch | 3 - 0086-tcg-sparc-Support-GUEST_BASE.patch | 3 - ...Change-AREG0-in-generated-code-to-i0.patch | 3 - ...up-cruft-stemming-from-attempts-to-u.patch | 3 - ...hift-immediates-to-avoid-illegal-ins.patch | 3 - ...cg-sparc-Use-defines-for-temporaries.patch | 3 - ...arc-Add-g-o-registers-to-alloc_order.patch | 3 - ...rc-Fix-and-enable-direct-TB-chaining.patch | 3 - ...ve-branch-destinations-during-retran.patch | 3 - ...t-alpha-Initialize-env-cpu_model_str.patch | 3 - 0095-tcg-mips-fix-MIPS32-R2-detection.patch | 3 - ...-Adjust-descriptions-of-cond-opcodes.patch | 3 - 0097-tcg-i386-fix-build-with-march-i686.patch | 3 - 0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch | 3 - 0099-tci-Fix-for-AREG0-free-mode.patch | 3 - ...-on-invalid-streaming-cmdline-params.patch | 3 - ...notify-spice-server-on-vm-start-stop.patch | 3 - ...vm-state-change-only-via-spice_serve.patch | 3 - ...n-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch | 3 - ...pice-add-migrated-flag-to-spice-info.patch | 3 - ...mless-migration-option-to-the-comman.patch | 3 - ...he-verbosity-of-spice-section-in-qem.patch | 3 - ...a_io-guest_bug-on-invalid-parameters.patch | 3 - ...qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch | 3 - ...spice-protocol-and-spice-server-vers.patch | 3 - ...doc-of-using-raw-values-with-sendkey.patch | 3 - ...-Fix-potential-NULL-pointer-segfault.patch | 3 - ...-Fix-potential-NULL-pointer-segfault.patch | 3 - ...-version_id-field-for-live-migration.patch | 3 - ...mask-for-Advanced-Error-Interrupt-Me.patch | 3 - ...r-for-ELF-kernels-loaded-with-kernel.patch | 3 - 0116-lan9118-fix-multicast-filtering.patch | 3 - ...r-Fix-reset-CPU-state-initialization.patch | 3 - 0118-Add-MAINTAINERS-entry-for-leon3.patch | 3 - 0119-musicpal-Fix-flash-mapping.patch | 3 - ...d-annotations-to-mark-kvm-guest-memo.patch | 3 - ...wm8750-Fix-potential-buffer-overflow.patch | 3 - ...-buffer-overflow-for-MBAR-read-write.patch | 3 - ...nstead-of-ignoring-it-first-and-rein.patch | 3 - ...empt-to-reconnect-a-TCP-socket-in-se.patch | 3 - ...-force-enable-disable-of-tools-build.patch | 3 - ...do-not-need-to-check-for-babble-them.patch | 3 - ...et-packet-state-to-complete-on-a-nak.patch | 3 - ...sb_ep_find_packet_by_id-helper-funct.patch | 3 - ...he-first-packet-of-a-pipelined-ep-to.patch | 3 - ...-don-t-flush-cache-on-doorbell-rings.patch | 3 - ...-is-not-changed-unexpectedly-by-the-.patch | 3 - ...right-headers-to-reflect-recent-work.patch | 3 - ...i-Properly-cleanup-packets-on-cancel.patch | 3 - ...port-completed-but-not-yet-processed.patch | 3 - ...HCI_ASYNC_FINISHED-first-in-ehci_fre.patch | 3 - 0136-ehci-trace-guest-bugs.patch | 3 - 0137-ehci-add-doorbell-trace-events.patch | 3 - ...dditional-ehci_trace_guest_bug-calls.patch | 3 - ...y-leak-in-handling-of-NAK-ed-packets.patch | 3 - ...e-USB_RET_PROCERR-in-ehci_fill_queue.patch | 3 - ...omment-in-fetchqtd-packet-processing.patch | 3 - ...return-USB_RET_NAK-for-async-handled.patch | 3 - ...delay-handling-of-open-events-to-a-b.patch | 3 - ...r-Get-rid-of-async-struct-get-member.patch | 3 - ...d-of-local-shadow-copy-of-packet-hea.patch | 3 - ...id-of-unused-async-struct-dev-member.patch | 3 - ...to-core-packet-id-and-queue-handling.patch | 3 - ...-babble-when-getting-more-bulk-data-.patch | 3 - 0149-Better-name-usb-braille-device.patch | 3 - 0150-usb-audio-fix-usb-version.patch | 3 - ...hci-rip-out-background-transfer-code.patch | 3 - 0152-xhci-drop-buffering.patch | 3 - 0153-xhci-fix-runtime-write-tracepoint.patch | 3 - ...w-bytewise-capability-register-reads.patch | 3 - 0155-qxl-dont-update-invalid-area.patch | 3 - ...mulated-non-async-control-requests-w.patch | 3 - ...l-better-cleanup-for-surface-destroy.patch | 3 - ...-ehci-switch-to-new-style-memory-ops.patch | 3 - ...pts-stopping-when-Interrupt-Threshol.patch | 3 - ...ss-too-much-frames-in-1-timer-tick-v.patch | 3 - 0161-sheepdog-fix-savevm-and-loadvm.patch | 3 - ...ssages-from-static-code-analysis-no-.patch | 3 - ...-block-curl-Fix-wrong-free-statement.patch | 3 - 0164-vdi-Fix-warning-from-clang.patch | 3 - 0165-block-fix-block-tray-status.patch | 3 - ...ci-properly-reset-PxCMD-on-HBA-reset.patch | 3 - ...cryption-password-for-qemu-img-info-.patch | 3 - ...on-t-forget-to-delete-temporary-file.patch | 3 - 0169-hw-qxl-tracing-fixes.patch | 3 - 0170-configure-usbredir-fixes.patch | 3 - ...een-to-0-when-removing-unseen-queue-.patch | 3 - ...-schedule-before-and-after-migration.patch | 3 - ...rt-usb-redir-part-of-commit-93bfef4c.patch | 3 - ...-up-packets-after-one-with-the-SPD-f.patch | 3 - ...rong-type-casts-ins-debug-statements.patch | 3 - ...ror-reported-by-static-code-analysis.patch | 3 - 0177-slirp-improve-TFTP-performance.patch | 3 - ...e-than-65535-blocks-in-TFTP-transfer.patch | 3 - ...lirp-Implement-TFTP-Blocksize-option.patch | 3 - ...MU_PACKED-for-single-elements-of-a-s.patch | 3 - ...-fixes-in-comments-and-documentation.patch | 3 - ...Clean-up-bytes-per-pixel-calculation.patch | 3 - 0183-qapi-Fix-enumeration-typo-error.patch | 3 - ...ix-warning-from-static-code-analysis.patch | 3 - ...missing-symbols-before-PRIu64-in-deb.patch | 3 - ...notify-iothread-after-flushing-queue.patch | 3 - ...e-whenever-can_receive-can-go-from-f.patch | 3 - ...en-flush-queue-when-getting-an-event.patch | 3 - ...network-hang-when-rx-buffers-run-out.patch | 3 - ..._disabled-logic-to-iov-delivery-path.patch | 3 - ...do-not-report-queued-packets-as-sent.patch | 3 - 0192-net-add-netdev-options-to-man-page.patch | 3 - 0193-net-clean-up-usbnet_receive.patch | 3 - ...-net-fix-usbnet_receive-packet-drops.patch | 3 - ...b-packets-if-at-least-one-port-can-r.patch | 3 - ...-send-receive-infrastructure-for-net.patch | 3 - ...EAGAIN-handling-for-net-socket.c-UDP.patch | 3 - ...EAGAIN-handling-for-net-socket.c-TCP.patch | 3 - 0199-configure-fix-seccomp-check.patch | 3 - ...operly-check-if-lrt-and-lm-is-needed.patch | 3 - 0201-Revert-455aa1e08-and-c3767ed0eb.patch | 3 - ...-don-t-call-FD_ISSET-with-negative-f.patch | 3 - ...ory_write_rom-needs-to-do-TB-invalid.patch | 3 - ...ove-soundhw-help-for-non-HAS_AUDIO_C.patch | 3 - ...x_timer-Removed-comma-in-device-name.patch | 3 - ...r-Send-dbg-msgs-to-stderr-not-stdout.patch | 3 - ...inx.h-Error-check-when-setting-links.patch | 3 - ...Fix-a-compile-error-if-debug-enabled.patch | 3 - ...1-fix-vendor-specific-extended-query.patch | 3 - 0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch | 3 - ...-support-SG_IO-also-from-iscsi_ioctl.patch | 3 - ...ed-to-explicitely-call-qemu_notify_e.patch | 3 - ...-scsi-disk-introduce-check_lba_range.patch | 3 - ...-disk-fix-check-for-out-of-range-LBA.patch | 3 - ...QUIRY-data-should-report-HiSup-flag-.patch | 3 - ...ix-warning-from-static-code-analysis.patch | 3 - ...emove-unreachable-code-after-g_error.patch | 3 - ...mu-sockets-Fix-potential-memory-leak.patch | 3 - 0219-cadence_uart-Fix-buffer-overflow.patch | 3 - 0220-lm4549-Fix-buffer-overflow.patch | 3 - 0221-ioh3420-Remove-unreachable-code.patch | 3 - ...x-warning-caused-by-unreachable-code.patch | 3 - ...tialize-curses-when-qemu-is-daemoniz.patch | 3 - ...rate-escape-parameter-in-TTY_STATE_C.patch | 3 - ...e-redundant-null-check-and-replace-f.patch | 3 - ...ompiler-warning-regression-for-MinGW.patch | 3 - ...tandard-instead-of-native-format-str.patch | 3 - ...plementation-of-gmtime_r-localtime_r.patch | 3 - ...e-readonly-and-snapshot-states-acros.patch | 3 - ...orrectly-set-the-keep_read_only-flag.patch | 3 - ...builds-without-any-system-or-user-em.patch | 3 - ...-Refactor-inet_connect_opts-function.patch | 3 - ...nnect-into-inet_connect-blocking-and.patch | 3 - ...handling-in-inet_nonblocking_connect.patch | 3 - 0235-Clear-handler-only-for-valid-fd.patch | 3 - 0236-pl190-fix-read-of-VECTADDR.patch | 3 - ...orrectly-register-GIC-region-when-se.patch | 3 - ...s-Fix-NOR-flash-0-address-and-remove.patch | 3 - ...-of-CPUID-8000_0001-.EDX-is-reserved.patch | 3 - ...Return-correctly-signed-values-from-.patch | 3 - ...st-for-MSR_PR-for-hypercalls-under-K.patch | 3 - 0242-update-VERSION-for-v1.2.1.patch | 3 - ...Fix-CONFIG_QEMU_HELPERDIR-generation.patch | 3 - ...NFIG_QEMU_HELPERDIR-generation-again.patch | 3 - ...rt-use-TIGHT_PNG-encoding-if-enabled.patch | 3 - ...c-fix-info-vnc-with-vnc-.-reverse-on.patch | 3 - ...rupt-when-requested-even-for-non-act.patch | 3 - ...qxl-qxl_dirty_surfaces-use-uintptr_t.patch | 3 - ...ways-update-displaysurface-on-resize.patch | 3 - 0308-rtc-fix-overflow-in-mktimegm.patch | 3 - ...value-check-for-bdrv_read-bdrv_write.patch | 3 - ...w-tsc-frequency-to-be-larger-then-2..patch | 3 - ..._rxov-always-treat-RX-ring-with-RDH-.patch | 3 - ...ring-of-a-region-obscured-by-another.patch | 3 - 0313-s390x-fix-initrd-in-virtio-machine.patch | 3 - ...C-Bamboo-Fix-memory-size-DT-property.patch | 3 - 0315-target-sparc64-disable-VGA-cirrus.patch | 3 - 0316-xhci-fix-usb-name-in-caps.patch | 3 - ...tialize-main-loop-before-block-layer.patch | 3 - ...n-semihosting-errno-values-correctly.patch | 3 - 0319-nbd-fixes-to-read-only-handling.patch | 3 - ...ps-malta-fix-CBUS-UART-interrupt-pin.patch | 3 - ...-fix-wrong-microMIPS-opcode-encoding.patch | 3 - ...arm-fix-TLB-access-in-qemu-ld-st-ops.patch | 3 - 0323-tcg-arm-fix-cross-endian-qemu_st16.patch | 3 - ...remove-conflicting-definitions-from-.patch | 3 - ...-compiler-warning-in-pipe2-detection.patch | 3 - ...-Fix-refcount-table-size-calculation.patch | 3 - 0327-tci-Fix-type-of-tci_read_label.patch | 3 - ...sion-for-MinGW-assertion-caused-by-s.patch | 3 - ...-dynamic_cast-of-NULL-is-always-NULL.patch | 3 - ...do-not-crash-on-invalid-SCSI-hotplug.patch | 3 - 0331-PPC-Fix-missing-TRACE-exception.patch | 3 - ...fcount-of-non-heap-allocated-objects.patch | 3 - ...itor-type_size-in-QapiDeallocVisitor.patch | 3 - ...api_dealloc_type_size-parameter-type.patch | 3 - 0335-iscsi-fix-segfault-in-url-parsing.patch | 3 - 0336-iscsi-fix-deadlock-during-login.patch | 3 - ...ot-assume-device-is-zero-initialized.patch | 3 - ...ix-some-endian-bugs-with-virtio-scsi.patch | 3 - ...tio-scsi-Fix-subtle-guest-endian-bug.patch | 3 - ...ots-after-migration-when-qxl-is-in-U.patch | 3 - ...vice_create-when-there-is-no-USB-bus.patch | 3 - 0342-stream-fix-ratelimit_set_speed.patch | 3 - ...ckets-that-are-too-long-if-SBP-and-L.patch | 3 - 0401-update-VERSION-for-v1.2.2.patch | 3 - ...cp-socket-close-code-in-a-separate-f.patch | 3 - ...hrHandlers-struct-to-initialise-char.patch | 3 - ...nable-disable_write_fd_handler-funct.patch | 3 - ...ework-for-a-write-unblocked-callback.patch | 3 - ..._all-to-handle-nonblocking-chardev-w.patch | 3 - ...nix-tcp-backend-to-handle-nonblockin.patch | 3 - ...hrottle-when-host-connection-is-down.patch | 3 - ...nable-port-throttling-when-chardev-i.patch | 3 - 0410-spice-qemu-char.c-add-throttling.patch | 3 - ...mu-char.c-remove-intermediate-buffer.patch | 3 - 0412-usb-redir-Add-flow-control-support.patch | 3 - ...l-bus-replay-guest_open-on-migration.patch | 3 - ...te-callback-if-throttled-chardev-is-.patch | 3 - 0501-qxl-disallow-unknown-revisions.patch | 3 - ...ber-of-surfaces-runtime-configurable.patch | 3 - ...nt_capabilities-interface-to-QXLInte.patch | 3 - ...-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch | 3 - ...switch-to-queue-for-vga-mode-updates.patch | 3 - ...spice-split-qemu_spice_create_update.patch | 3 - 0507-spice-add-screen-mirror.patch | 3 - ...ates-only-for-changed-screen-content.patch | 3 - ...client_capabilities-pre-post-migrate.patch | 3 - 0510-qxl-add-trace-event-for-QXL_IO_LOG.patch | 3 - ...lient-monitor-configuration-via-devi.patch | 3 - ...io-cleanup-invalid-parameters-handli.patch | 3 - ...fix-range-check-for-rev3-io-commands.patch | 3 - ...-a-vm-state-change-handler-for-dummy.patch | 14 ++-- ...on-failure-to-register-qxl-interface.patch | 7 +- ...-fix-condition-for-exiting-guest_bug.patch | 7 +- ...w-qxl-qxl_send_events-nop-if-stopped.patch | 11 ++- ...py_gfx_resize-when-entering-vga-mode.patch | 9 +-- 0519-spice-fix-initialization-order.patch | 9 +-- ...ice-server-callbacks-to-ui-spice-dis.patch | 8 +-- ...mu_create_displaysurface_from-result.patch | 7 +- ...ert-to-new-libusbredirparser-0.5-API.patch | 5 +- ...-Set-ep-max_packet_size-if-available.patch | 5 +- ...usbredir_reject_device-helper-functi.patch | 5 +- ...-our-peer-has-the-necessary-caps-whe.patch | 5 +- ...Enable-pipelining-for-bulk-endpoints.patch | 5 +- ...device-lookup-into-xhci_setup_packet.patch | 5 +- 0607-xhci-implement-mfindex.patch | 5 +- 0608-xhci-iso-xfer-support.patch | 5 +- 0609-xhci-trace-cc-codes-in-cleartext.patch | 7 +- ...ci-add-trace_usb_xhci_ep_set_dequeue.patch | 7 +- 0611-xhci-update-register-layout.patch | 5 +- 0612-xhci-update-port-handling.patch | 5 +- 0613-usb3-superspeed-descriptors.patch | 5 +- 0614-usb3-superspeed-endpoint-companion.patch | 5 +- 0615-usb3-bos-decriptor.patch | 7 +- 0616-usb-storage-usb3-support.patch | 5 +- 0617-xhci-fix-cleanup-msi.patch | 5 +- 0618-xhci-rework-interrupt-handling.patch | 5 +- 0619-xhci-add-msix-support.patch | 7 +- ...register-update-into-xhci_intr_raise.patch | 5 +- 0621-xhci-add-XHCIInterrupter.patch | 7 +- ...i_runtime_-read-write-for-multiple-i.patch | 5 +- 0623-xhci-pick-target-interrupter.patch | 5 +- 0624-xhci-support-multiple-interrupters.patch | 5 +- ...mem_-read-write-dispatcher-functions.patch | 5 +- ...-cancelled-packet-code-into-a-generi.patch | 5 +- ...an-already_in_flight-packet-id-queue.patch | 5 +- ...r-Store-max_packet_size-in-endp_data.patch | 5 +- ...-usb-redir-Add-support-for-migration.patch | 5 +- ...Add-chardev-open-close-debug-logging.patch | 5 +- ...rt-usb-redir-part-of-commit-93bfef4c.patch | 5 +- ...i-Fix-interrupt-packet-MULT-handling.patch | 5 +- ...-pkg-config-check-for-usbredirparser.patch | 5 +- ...-usbredir_open_chardev-into-usbredir.patch | 5 +- ...make-migration-fail-in-none-seamless.patch | 5 +- ...ps-Fix-link-error-with-piix4_pm_init.patch | 5 +- 0702-configure-Add-disable-kvm-options.patch | 5 +- ...initrd-load-address-to-halfway-throu.patch | 5 +- ...ckend-add-function-to-reserved-words.patch | 5 +- ...-fix-missing-symbols-in-libcacard.so.patch | 5 +- ...ove-vscclient-binary-under-libcacard.patch | 5 +- ...d-fix-missing-symbol-in-libcacard.so.patch | 5 +- ...-adding-new-syscalls-bugzilla-855162.patch | 5 +- ...d-oversized-packets-based-on-SBP-LPE.patch | 5 +- 0710-Revert-serial-fix-retry-logic.patch | 67 +++++++++++++++++++ 0711-scsi-fix-segfault-with-0-byte-disk.patch | 37 ++++++++++ qemu.spec | 49 +++++++++----- 367 files changed, 211 insertions(+), 1180 deletions(-) rename 0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch => 0514-qxl-vnc-register-a-vm-state-change-handler-for-dummy.patch (75%) rename 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch => 0705-libcacard-fix-missing-symbols-in-libcacard.so.patch (90%) rename 0707-configure-move-vscclient-binary-under-libcacard.patch => 0706-configure-move-vscclient-binary-under-libcacard.patch (97%) rename 0710-libcacard-fix-missing-symbols-in-libcacard.so.patch => 0707-libcacard-fix-missing-symbol-in-libcacard.so.patch (93%) create mode 100644 0710-Revert-serial-fix-retry-logic.patch create mode 100644 0711-scsi-fix-segfault-with-0-byte-disk.patch diff --git a/0001-target-xtensa-convert-host-errno-values-to-guest.patch b/0001-target-xtensa-convert-host-errno-values-to-guest.patch index a8eb0a1..93d4708 100644 --- a/0001-target-xtensa-convert-host-errno-values-to-guest.patch +++ b/0001-target-xtensa-convert-host-errno-values-to-guest.patch @@ -178,6 +178,3 @@ index 6d001c2..e745bef 100644 break; } } --- -1.8.0.2 - diff --git a/0002-target-cris-Fix-buffer-overflow.patch b/0002-target-cris-Fix-buffer-overflow.patch index 6e370cd..6614697 100644 --- a/0002-target-cris-Fix-buffer-overflow.patch +++ b/0002-target-cris-Fix-buffer-overflow.patch @@ -30,6 +30,3 @@ index 1ad9ec7..ad31877 100644 for (i = 0; i < 16; i++) { cpu_fprintf(f, "s%2.2d=%8.8x ", i, env->sregs[srs][i]); --- -1.8.0.2 - diff --git a/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch b/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch index 2ef4163..70cfd9a 100644 --- a/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch +++ b/0003-target-xtensa-fix-missing-errno-codes-for-mingw32.patch @@ -59,6 +59,3 @@ index e745bef..52be07a 100644 }; if (host_errno == 0) { --- -1.8.0.2 - diff --git a/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch b/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch index c72fca4..439dcfa 100644 --- a/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch +++ b/0004-target-sparc-fix-fcmp-s-d-q-instructions-wrt-excepti.patch @@ -128,6 +128,3 @@ index 9c64ef8..f4b62a5 100644 env->fsr |= FSR_FCC1 << FS; \ break; \ default: \ --- -1.8.0.2 - diff --git a/0005-target-s390x-fix-style.patch b/0005-target-s390x-fix-style.patch index 21b777d..f4c8187 100644 --- a/0005-target-s390x-fix-style.patch +++ b/0005-target-s390x-fix-style.patch @@ -1598,6 +1598,3 @@ index abc35dd..195e93e 100644 } else { env->regs[r1] = ret; } --- -1.8.0.2 - diff --git a/0006-target-s390x-split-FPU-ops.patch b/0006-target-s390x-split-FPU-ops.patch index b5d1cfa..5b8ee02 100644 --- a/0006-target-s390x-split-FPU-ops.patch +++ b/0006-target-s390x-split-FPU-ops.patch @@ -1751,6 +1751,3 @@ index 1c1baf5..c370df3 100644 tcg_temp_free_i32(tmp32); break; case 0xd: /* DEB R1,D2(X2,B2) [RXE] */ --- -1.8.0.2 - diff --git a/0007-target-s390x-split-condition-code-helpers.patch b/0007-target-s390x-split-condition-code-helpers.patch index ab12a6c..1d1bb40 100644 --- a/0007-target-s390x-split-condition-code-helpers.patch +++ b/0007-target-s390x-split-condition-code-helpers.patch @@ -1153,6 +1153,3 @@ index 270bf14..eced890 100644 /* invalidate pte */ void HELPER(ipte)(uint64_t pte_addr, uint64_t vaddr) { --- -1.8.0.2 - diff --git a/0008-target-s390x-split-integer-helpers.patch b/0008-target-s390x-split-integer-helpers.patch index 998b49f..4e51bd7 100644 --- a/0008-target-s390x-split-integer-helpers.patch +++ b/0008-target-s390x-split-integer-helpers.patch @@ -439,6 +439,3 @@ index eced890..3b8b997 100644 void HELPER(unpk)(uint32_t len, uint64_t dest, uint64_t src) { int len_dest = len >> 4; --- -1.8.0.2 - diff --git a/0009-target-s390x-split-memory-access-helpers.patch b/0009-target-s390x-split-memory-access-helpers.patch index 43e46a5..0c5ddb8 100644 --- a/0009-target-s390x-split-memory-access-helpers.patch +++ b/0009-target-s390x-split-memory-access-helpers.patch @@ -2419,6 +2419,3 @@ index 3b8b997..bb8dbf5 100644 -} - #endif --- -1.8.0.2 - diff --git a/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch b/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch index b9182c5..fe5c597 100644 --- a/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch +++ b/0010-target-s390x-rename-op_helper.c-to-misc_helper.c.patch @@ -919,6 +919,3 @@ index bb8dbf5..0000000 - return cc; -} -#endif --- -1.8.0.2 - diff --git a/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch b/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch index 254d47f..4c29852 100644 --- a/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch +++ b/0011-target-s390x-avoid-AREG0-for-FPU-helpers.patch @@ -1213,6 +1213,3 @@ index c370df3..b1f2071 100644 set_cc_static(s); tcg_temp_free_i32(tmp32_1); tcg_temp_free_i32(tmp32_2); --- -1.8.0.2 - diff --git a/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch b/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch index 9e2b2ef..e44752a 100644 --- a/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch +++ b/0012-target-s390x-avoid-AREG0-for-integer-helpers.patch @@ -197,6 +197,3 @@ index b1f2071..2a61e92 100644 set_cc_static(s); tcg_temp_free_i32(tmp32_1); tcg_temp_free_i32(tmp32_2); --- -1.8.0.2 - diff --git a/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch b/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch index fbda591..eee6b96 100644 --- a/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch +++ b/0013-target-s390x-avoid-AREG0-for-condition-code-helpers.patch @@ -185,6 +185,3 @@ index 2a61e92..1d87272 100644 tcg_temp_free_i64(tmp); tcg_temp_free_i64(tmp2); tcg_temp_free_i64(tmp3); --- -1.8.0.2 - diff --git a/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch b/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch index b804afb..84dc387 100644 --- a/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch +++ b/0014-target-s390x-avoid-AREG0-for-misc-helpers.patch @@ -406,6 +406,3 @@ index 1d87272..0c61e63 100644 set_cc_static(s); tcg_temp_free_i64(tmp); tcg_temp_free_i64(tmp2); --- -1.8.0.2 - diff --git a/0015-target-s390x-switch-to-AREG0-free-mode.patch b/0015-target-s390x-switch-to-AREG0-free-mode.patch index a4b1a3e..c01f6d1 100644 --- a/0015-target-s390x-switch-to-AREG0-free-mode.patch +++ b/0015-target-s390x-switch-to-AREG0-free-mode.patch @@ -1579,6 +1579,3 @@ index 0c61e63..66119cd 100644 } set_cc_static(s); tcg_temp_free_i64(tmp); --- -1.8.0.2 - diff --git a/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch b/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch index ddfa091..3330efb 100644 --- a/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch +++ b/0016-tcg-s390-fix-ld-st-with-CONFIG_TCG_PASS_AREG0.patch @@ -59,6 +59,3 @@ index 04662c1..99b5339 100644 TCG_AREG0); #endif tgen_calli(s, (tcg_target_ulong)qemu_ld_helpers[s_bits]); --- -1.8.0.2 - diff --git a/0017-target-arm-Fix-potential-buffer-overflow.patch b/0017-target-arm-Fix-potential-buffer-overflow.patch index 918e22d..2f008b5 100644 --- a/0017-target-arm-Fix-potential-buffer-overflow.patch +++ b/0017-target-arm-Fix-potential-buffer-overflow.patch @@ -42,6 +42,3 @@ index dceaa95..e27df96 100644 return EXCP_UDEF; } env->cp15.c6_region[ri->crm] = value; --- -1.8.0.2 - diff --git a/0018-tcg-optimize-split-expression-simplification.patch b/0018-tcg-optimize-split-expression-simplification.patch index 7d5d7cd..d45fc9b 100644 --- a/0018-tcg-optimize-split-expression-simplification.patch +++ b/0018-tcg-optimize-split-expression-simplification.patch @@ -52,6 +52,3 @@ index 9c65474..63f970d 100644 CASE_OP_32_64(or): CASE_OP_32_64(and): if (args[1] == args[2]) { --- -1.8.0.2 - diff --git a/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch b/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch index 3bb71ae..a11a168 100644 --- a/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch +++ b/0019-tcg-optimize-simplify-or-xor-r-a-0-cases.patch @@ -25,6 +25,3 @@ index 63f970d..0db849e 100644 if (temps[args[1]].state == TCG_TEMP_CONST) { /* Proceed with possible constant folding. */ break; --- -1.8.0.2 - diff --git a/0020-tcg-optimize-simplify-and-r-a-0-cases.patch b/0020-tcg-optimize-simplify-and-r-a-0-cases.patch index 26ba03d..1c829c9 100644 --- a/0020-tcg-optimize-simplify-and-r-a-0-cases.patch +++ b/0020-tcg-optimize-simplify-and-r-a-0-cases.patch @@ -24,6 +24,3 @@ index 0db849e..c12cb2b 100644 CASE_OP_32_64(mul): if ((temps[args[2]].state == TCG_TEMP_CONST && temps[args[2]].val == 0)) { --- -1.8.0.2 - diff --git a/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch b/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch index 9af5fe4..02d8ee2 100644 --- a/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch +++ b/0021-tcg-optimize-simplify-shift-rot-r-0-a-movi-r-0-cases.patch @@ -43,6 +43,3 @@ index c12cb2b..1698ba3 100644 /* Simplify expression for "op r, a, 0 => mov r, a" cases */ switch (op) { CASE_OP_32_64(add): --- -1.8.0.2 - diff --git a/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch b/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch index f003828..d4d17d6 100644 --- a/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch +++ b/0022-tcg-optimize-swap-brcond-setcond-arguments-when-poss.patch @@ -44,6 +44,3 @@ index 1698ba3..7debc8a 100644 default: break; } --- -1.8.0.2 - diff --git a/0023-tcg-optimize-add-constant-folding-for-setcond.patch b/0023-tcg-optimize-add-constant-folding-for-setcond.patch index be84590..cfe240a 100644 --- a/0023-tcg-optimize-add-constant-folding-for-setcond.patch +++ b/0023-tcg-optimize-add-constant-folding-for-setcond.patch @@ -109,6 +109,3 @@ index 7debc8a..1cb1f36 100644 case INDEX_op_call: nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { --- -1.8.0.2 - diff --git a/0024-tcg-optimize-add-constant-folding-for-brcond.patch b/0024-tcg-optimize-add-constant-folding-for-brcond.patch index 172d65e..876f86f 100644 --- a/0024-tcg-optimize-add-constant-folding-for-brcond.patch +++ b/0024-tcg-optimize-add-constant-folding-for-brcond.patch @@ -55,6 +55,3 @@ index 1cb1f36..156e8d9 100644 memset(temps, 0, nb_temps * sizeof(struct tcg_temp_info)); for (i = 0; i < def->nb_args; i++) { *gen_args = *args; --- -1.8.0.2 - diff --git a/0025-tcg-optimize-fix-if-else-break-coding-style.patch b/0025-tcg-optimize-fix-if-else-break-coding-style.patch index d922bed..ab070ff 100644 --- a/0025-tcg-optimize-fix-if-else-break-coding-style.patch +++ b/0025-tcg-optimize-fix-if-else-break-coding-style.patch @@ -139,6 +139,3 @@ index 156e8d9..fba0ed9 100644 case INDEX_op_call: nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { --- -1.8.0.2 - diff --git a/0026-target-s390x-avoid-cpu_single_env.patch b/0026-target-s390x-avoid-cpu_single_env.patch index dbfe5b9..9914968 100644 --- a/0026-target-s390x-avoid-cpu_single_env.patch +++ b/0026-target-s390x-avoid-cpu_single_env.patch @@ -1332,6 +1332,3 @@ index 66119cd..3214783 100644 num_insns++; if (env->singlestep_enabled) { --- -1.8.0.2 - diff --git a/0027-target-lm32-switch-to-AREG0-free-mode.patch b/0027-target-lm32-switch-to-AREG0-free-mode.patch index 72668c5..43582fd 100644 --- a/0027-target-lm32-switch-to-AREG0-free-mode.patch +++ b/0027-target-lm32-switch-to-AREG0-free-mode.patch @@ -277,6 +277,3 @@ index 872a2ba..5f6dcba 100644 dc->pc += 4; num_insns++; --- -1.8.0.2 - diff --git a/0028-target-m68k-switch-to-AREG0-free-mode.patch b/0028-target-m68k-switch-to-AREG0-free-mode.patch index 4e2b518..48eba15 100644 --- a/0028-target-m68k-switch-to-AREG0-free-mode.patch +++ b/0028-target-m68k-switch-to-AREG0-free-mode.patch @@ -497,6 +497,3 @@ index 9fc1e31..10bb303 100644 } else { switch(dc->is_jmp) { case DISAS_NEXT: --- -1.8.0.2 - diff --git a/0029-target-m68k-avoid-using-cpu_single_env.patch b/0029-target-m68k-avoid-using-cpu_single_env.patch index 0cb01b5..5a8538b 100644 --- a/0029-target-m68k-avoid-using-cpu_single_env.patch +++ b/0029-target-m68k-avoid-using-cpu_single_env.patch @@ -896,6 +896,3 @@ index 10bb303..fb707f2 100644 } /* generate intermediate code for basic block 'tb'. */ --- -1.8.0.2 - diff --git a/0030-target-unicore32-switch-to-AREG0-free-mode.patch b/0030-target-unicore32-switch-to-AREG0-free-mode.patch index c1fce32..ff07552 100644 --- a/0030-target-unicore32-switch-to-AREG0-free-mode.patch +++ b/0030-target-unicore32-switch-to-AREG0-free-mode.patch @@ -432,6 +432,3 @@ index 188bf8c..b786a6b 100644 s->pc += 4; /* UniCore instructions class: --- -1.8.0.2 - diff --git a/0031-target-arm-convert-void-helpers.patch b/0031-target-arm-convert-void-helpers.patch index 8e50813..30e06c8 100644 --- a/0031-target-arm-convert-void-helpers.patch +++ b/0031-target-arm-convert-void-helpers.patch @@ -176,6 +176,3 @@ index edef79a..6f651d9 100644 break; case DISAS_SWI: gen_exception(EXCP_SWI); --- -1.8.0.2 - diff --git a/0032-target-arm-convert-remaining-helpers.patch b/0032-target-arm-convert-remaining-helpers.patch index e5a39f4..0246b94 100644 --- a/0032-target-arm-convert-remaining-helpers.patch +++ b/0032-target-arm-convert-remaining-helpers.patch @@ -816,6 +816,3 @@ index 6f651d9..9ae3b26 100644 rd = 16; break; case 0xc: /* orr */ --- -1.8.0.2 - diff --git a/0033-target-arm-final-conversion-to-AREG0-free-mode.patch b/0033-target-arm-final-conversion-to-AREG0-free-mode.patch index 0a3790a..8883ff4 100644 --- a/0033-target-arm-final-conversion-to-AREG0-free-mode.patch +++ b/0033-target-arm-final-conversion-to-AREG0-free-mode.patch @@ -174,6 +174,3 @@ index 9ae3b26..f4b447a 100644 s->pc += 2; switch (insn >> 12) { --- -1.8.0.2 - diff --git a/0034-target-microblaze-switch-to-AREG0-free-mode.patch b/0034-target-microblaze-switch-to-AREG0-free-mode.patch index 923f524..f7dd13f 100644 --- a/0034-target-microblaze-switch-to-AREG0-free-mode.patch +++ b/0034-target-microblaze-switch-to-AREG0-free-mode.patch @@ -710,6 +710,3 @@ index 7470149..9c7d77f 100644 tcg_temp_free_i32(tmp); } else { switch(dc->is_jmp) { --- -1.8.0.2 - diff --git a/0035-target-cris-Avoid-AREG0-for-helpers.patch b/0035-target-cris-Avoid-AREG0-for-helpers.patch index ce3a4fd..e217da2 100644 --- a/0035-target-cris-Avoid-AREG0-for-helpers.patch +++ b/0035-target-cris-Avoid-AREG0-for-helpers.patch @@ -518,6 +518,3 @@ index 3629629..9a39c6a 100644 cpu_R[dc->src], cpu_PR[PR_CCS]); break; case CRISV10_REG_DSTEP: --- -1.8.0.2 - diff --git a/0036-target-cris-Switch-to-AREG0-free-mode.patch b/0036-target-cris-Switch-to-AREG0-free-mode.patch index 113ed4b..bd2f054 100644 --- a/0036-target-cris-Switch-to-AREG0-free-mode.patch +++ b/0036-target-cris-Switch-to-AREG0-free-mode.patch @@ -1533,6 +1533,3 @@ index 9a39c6a..d2cca89 100644 break; } --- -1.8.0.2 - diff --git a/0037-target-sh4-switch-to-AREG0-free-mode.patch b/0037-target-sh4-switch-to-AREG0-free-mode.patch index 31c3ce3..cb9d0a7 100644 --- a/0037-target-sh4-switch-to-AREG0-free-mode.patch +++ b/0037-target-sh4-switch-to-AREG0-free-mode.patch @@ -1055,6 +1055,3 @@ index 6532ad2..d05c74c 100644 } else { switch (ctx.bstate) { case BS_STOP: --- -1.8.0.2 - diff --git a/0038-target-mips-switch-to-AREG0-free-mode.patch b/0038-target-mips-switch-to-AREG0-free-mode.patch index 95e6466..51616fb 100644 --- a/0038-target-mips-switch-to-AREG0-free-mode.patch +++ b/0038-target-mips-switch-to-AREG0-free-mode.patch @@ -6331,6 +6331,3 @@ index b293419..7ab769f 100644 } else { switch (ctx.bstate) { case BS_STOP: --- -1.8.0.2 - diff --git a/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch b/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch index cfa93c5..cbd9b59 100644 --- a/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch +++ b/0039-Remove-unused-CONFIG_TCG_PASS_AREG0-and-dead-code.patch @@ -1678,6 +1678,3 @@ index b9ea9dd..ef9b172 100644 #if defined(DEBUG_SIGNAL) qemu_printf("qemu: SIGSEGV pc=0x%08lx address=%08lx w=%d oldset=0x%08lx\n", pc, address, is_write, *(unsigned long *)old_set); --- -1.8.0.2 - diff --git a/0040-tcg-i386-allow-constants-in-load-store-ops.patch b/0040-tcg-i386-allow-constants-in-load-store-ops.patch index e675050..2fae1d5 100644 --- a/0040-tcg-i386-allow-constants-in-load-store-ops.patch +++ b/0040-tcg-i386-allow-constants-in-load-store-ops.patch @@ -109,6 +109,3 @@ index 34c2df8..3017858 100644 { INDEX_op_add_i64, { "r", "0", "re" } }, { INDEX_op_mul_i64, { "r", "0", "re" } }, --- -1.8.0.2 - diff --git a/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch b/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch index 516e728..35e9a15 100644 --- a/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch +++ b/0041-tcg-mark-set_label-with-TCG_OPF_BB_END-flag.patch @@ -48,6 +48,3 @@ index 8386b70..c002a88 100644 case INDEX_op_debug_insn_start: args -= def->nb_args; break; --- -1.8.0.2 - diff --git a/0042-revert-TCG-fix-copy-propagation.patch b/0042-revert-TCG-fix-copy-propagation.patch index 809aeef..bcd9076 100644 --- a/0042-revert-TCG-fix-copy-propagation.patch +++ b/0042-revert-TCG-fix-copy-propagation.patch @@ -80,6 +80,3 @@ index d710694..8fbbc81 100644 #if defined(CONFIG_DEBUG_TCG) /* If you call tcg_clear_temp_count() at the start of a section of * code which is not supposed to leak any TCG temporaries, then --- -1.8.0.2 - diff --git a/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch b/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch index e1b3f22..feb145d 100644 --- a/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch +++ b/0043-target-mips-Set-opn-in-gen_ldst_multiple.patch @@ -50,6 +50,3 @@ index 7ab769f..c31f91c 100644 MIPS_DEBUG("%s, %x, %d(%s)", opn, reglist, offset, regnames[base]); tcg_temp_free(t0); tcg_temp_free(t1); --- -1.8.0.2 - diff --git a/0044-target-mips-Fix-MIPS_DEBUG.patch b/0044-target-mips-Fix-MIPS_DEBUG.patch index 72c05de..f361872 100644 --- a/0044-target-mips-Fix-MIPS_DEBUG.patch +++ b/0044-target-mips-Fix-MIPS_DEBUG.patch @@ -283,6 +283,3 @@ index c31f91c..4937f6b 100644 break; case OPC_J ... OPC_JAL: /* Jump */ offset = (int32_t)(ctx->opcode & 0x3FFFFFF) << 2; --- -1.8.0.2 - diff --git a/0045-target-mips-Always-evaluate-debugging-macro-argument.patch b/0045-target-mips-Always-evaluate-debugging-macro-argument.patch index d32bed4..ee41de3 100644 --- a/0045-target-mips-Always-evaluate-debugging-macro-argument.patch +++ b/0045-target-mips-Always-evaluate-debugging-macro-argument.patch @@ -65,6 +65,3 @@ index 4937f6b..aba7935 100644 /* General purpose registers moves. */ static inline void gen_load_gpr (TCGv t, int reg) --- -1.8.0.2 - diff --git a/0046-tcg-optimize-fix-end-of-basic-block-detection.patch b/0046-tcg-optimize-fix-end-of-basic-block-detection.patch index 345bcab..1bf628a 100644 --- a/0046-tcg-optimize-fix-end-of-basic-block-detection.patch +++ b/0046-tcg-optimize-fix-end-of-basic-block-detection.patch @@ -57,6 +57,3 @@ index 10d9773..9da333c 100644 } for (i = 0; i < def->nb_args; i++) { gen_args[i] = args[i]; --- -1.8.0.2 - diff --git a/0047-target-xtensa-fix-extui-shift-amount.patch b/0047-target-xtensa-fix-extui-shift-amount.patch index f2e209d..15506f6 100644 --- a/0047-target-xtensa-fix-extui-shift-amount.patch +++ b/0047-target-xtensa-fix-extui-shift-amount.patch @@ -52,6 +52,3 @@ index 1900bd5..7a1c528 100644 tcg_temp_free(tmp); } break; --- -1.8.0.2 - diff --git a/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch b/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch index f7636fd..6136b50 100644 --- a/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch +++ b/0048-target-xtensa-don-t-emit-extra-tcg_gen_goto_tb.patch @@ -30,6 +30,3 @@ index 7a1c528..b6643eb 100644 dc->pc = dc->next_pc; return; --- -1.8.0.2 - diff --git a/0049-tcg-Introduce-movcond.patch b/0049-tcg-Introduce-movcond.patch index 2f17299..f2321b5 100644 --- a/0049-tcg-Introduce-movcond.patch +++ b/0049-tcg-Introduce-movcond.patch @@ -328,6 +328,3 @@ index 30a0f21..6d89495 100644 #endif /* TCG_TARGET_REG_BITS == 64 */ /* Offset to user memory in user mode. */ --- -1.8.0.2 - diff --git a/0050-target-alpha-Use-movcond.patch b/0050-target-alpha-Use-movcond.patch index ebbddcc..5091803 100644 --- a/0050-target-alpha-Use-movcond.patch +++ b/0050-target-alpha-Use-movcond.patch @@ -155,6 +155,3 @@ index 12de6a3..4a9011a 100644 } #define QUAL_RM_N 0x080 /* Round mode nearest even */ --- -1.8.0.2 - diff --git a/0051-tcg-i386-Implement-movcond.patch b/0051-tcg-i386-Implement-movcond.patch index b979337..0c9e0d7 100644 --- a/0051-tcg-i386-Implement-movcond.patch +++ b/0051-tcg-i386-Implement-movcond.patch @@ -113,6 +113,3 @@ index 504f953..b356d76 100644 #endif #define TCG_TARGET_deposit_i32_valid(ofs, len) \ --- -1.8.0.2 - diff --git a/0052-tcg-Optimize-movcond-for-constant-comparisons.patch b/0052-tcg-Optimize-movcond-for-constant-comparisons.patch index b5d36e2..2a61fda 100644 --- a/0052-tcg-Optimize-movcond-for-constant-comparisons.patch +++ b/0052-tcg-Optimize-movcond-for-constant-comparisons.patch @@ -68,6 +68,3 @@ index 9da333c..26038a6 100644 case INDEX_op_call: nb_call_args = (args[0] >> 16) + (args[0] & 0xffff); if (!(args[nb_call_args + 1] & (TCG_CALL_CONST | TCG_CALL_PURE))) { --- -1.8.0.2 - diff --git a/0053-tcg-Optimize-two-address-commutative-operations.patch b/0053-tcg-Optimize-two-address-commutative-operations.patch index b142681..1e034c6 100644 --- a/0053-tcg-Optimize-two-address-commutative-operations.patch +++ b/0053-tcg-Optimize-two-address-commutative-operations.patch @@ -52,6 +52,3 @@ index 26038a6..1be7631 100644 default: break; } --- -1.8.0.2 - diff --git a/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch b/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch index 3c3c71e..4ce049a 100644 --- a/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch +++ b/0054-gdbstub-sh4-fix-build-with-USE_SOFTFLOAT_STRUCT_TYPE.patch @@ -187,6 +187,3 @@ index 5d37dd9..a91709f 100644 default: return 0; } --- -1.8.0.2 - diff --git a/0055-tcg-Fix-USE_DIRECT_JUMP.patch b/0055-tcg-Fix-USE_DIRECT_JUMP.patch index 6a1bb50..3dfb656 100644 --- a/0055-tcg-Fix-USE_DIRECT_JUMP.patch +++ b/0055-tcg-Fix-USE_DIRECT_JUMP.patch @@ -30,6 +30,3 @@ index f454107..609ed86 100644 uint16_t *tb_next_offset; uint16_t *tb_jmp_offset; /* != NULL if USE_DIRECT_JUMP */ --- -1.8.0.2 - diff --git a/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch b/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch index 26a807a..8244946 100644 --- a/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch +++ b/0056-tcg-hppa-Fix-brcond2-and-setcond2.patch @@ -103,6 +103,3 @@ index 8b81b70..a76569d 100644 } tcg_out_mov(s, TCG_TYPE_I32, ret, scratch); --- -1.8.0.2 - diff --git a/0057-tcg-hppa-Fix-broken-load-store-helpers.patch b/0057-tcg-hppa-Fix-broken-load-store-helpers.patch index b23c10d..36d41a6 100644 --- a/0057-tcg-hppa-Fix-broken-load-store-helpers.patch +++ b/0057-tcg-hppa-Fix-broken-load-store-helpers.patch @@ -244,6 +244,3 @@ index a76569d..5385d45 100644 addrlo_reg = TCG_REG_R31; } tcg_out_qemu_st_direct(s, datalo_reg, datahi_reg, addrlo_reg, opc); --- -1.8.0.2 - diff --git a/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch b/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch index 52839e3..628251b 100644 --- a/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch +++ b/0058-tcg-mips-fix-wrong-usage-of-Z-constraint.patch @@ -60,6 +60,3 @@ index 74db83d..9293745 100644 { INDEX_op_brcond2_i32, { "rZ", "rZ", "rZ", "rZ" } }, #if TARGET_LONG_BITS == 32 --- -1.8.0.2 - diff --git a/0059-tcg-mips-kill-warnings-in-user-mode.patch b/0059-tcg-mips-kill-warnings-in-user-mode.patch index 3179bcb..1b32a2a 100644 --- a/0059-tcg-mips-kill-warnings-in-user-mode.patch +++ b/0059-tcg-mips-kill-warnings-in-user-mode.patch @@ -161,6 +161,3 @@ index 9293745..a09c0d6 100644 #if defined(CONFIG_SOFTMMU) tcg_out_opc_sa(s, OPC_SRL, TCG_REG_A0, addr_regl, TARGET_PAGE_BITS - CPU_TLB_ENTRY_BITS); --- -1.8.0.2 - diff --git a/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch b/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch index 7bd5d17..ffe9c4c 100644 --- a/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch +++ b/0060-tcg-mips-use-TCGArg-or-TCGReg-instead-of-int.patch @@ -241,6 +241,3 @@ index a09c0d6..8b38f98 100644 # endif #endif data_regl = *args++; --- -1.8.0.2 - diff --git a/0061-tcg-mips-don-t-use-global-pointer.patch b/0061-tcg-mips-don-t-use-global-pointer.patch index 27884f8..c29193c 100644 --- a/0061-tcg-mips-don-t-use-global-pointer.patch +++ b/0061-tcg-mips-don-t-use-global-pointer.patch @@ -32,6 +32,3 @@ index 8b38f98..0ea6a76 100644 tcg_add_target_add_op_defs(mips_op_defs); tcg_set_frame(s, TCG_AREG0, offsetof(CPUArchState, temp_buf), --- -1.8.0.2 - diff --git a/0062-tcg-mips-use-stack-for-TCG-temps.patch b/0062-tcg-mips-use-stack-for-TCG-temps.patch index 6be77f1..38c7b50 100644 --- a/0062-tcg-mips-use-stack-for-TCG-temps.patch +++ b/0062-tcg-mips-use-stack-for-TCG-temps.patch @@ -42,6 +42,3 @@ index 0ea6a76..c05169f 100644 - tcg_set_frame(s, TCG_AREG0, offsetof(CPUArchState, temp_buf), - CPU_TEMP_BUF_NLONGS * sizeof(long)); } --- -1.8.0.2 - diff --git a/0063-tcg-mips-optimize-brcond-arg-0.patch b/0063-tcg-mips-optimize-brcond-arg-0.patch index 9f5f839..12a8e21 100644 --- a/0063-tcg-mips-optimize-brcond-arg-0.patch +++ b/0063-tcg-mips-optimize-brcond-arg-0.patch @@ -94,6 +94,3 @@ index c05169f..6aa4527 100644 break; case TCG_COND_GTU: tcg_out_opc_reg(s, OPC_SLTU, TCG_REG_AT, arg2, arg1); --- -1.8.0.2 - diff --git a/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch b/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch index b3ca1c3..fdb6cbf 100644 --- a/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch +++ b/0064-tcg-mips-optimize-bswap-16-16s-32-on-MIPS32R2.patch @@ -156,6 +156,3 @@ index 9c68a32..c5c13f7 100644 /* optional instructions automatically implemented */ #define TCG_TARGET_HAS_neg_i32 0 /* sub rd, zero, rt */ #define TCG_TARGET_HAS_ext8u_i32 0 /* andi rt, rs, 0xff */ --- -1.8.0.2 - diff --git a/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch b/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch index 78f918c..b1da826 100644 --- a/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch +++ b/0065-tcg-mips-implement-rotl-rotr-ops-on-MIPS32R2.patch @@ -87,6 +87,3 @@ index c5c13f7..470314c 100644 #endif /* optional instructions automatically implemented */ --- -1.8.0.2 - diff --git a/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch b/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch index eb38a58..13a2688 100644 --- a/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch +++ b/0066-tcg-mips-implement-deposit-op-on-MIPS32R2.patch @@ -72,6 +72,3 @@ index 470314c..897a737 100644 #endif /* optional instructions automatically implemented */ --- -1.8.0.2 - diff --git a/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch b/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch index 4ecf038..a27ad5d 100644 --- a/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch +++ b/0067-tcg-mips-implement-movcond-op-on-MIPS32R2.patch @@ -135,6 +135,3 @@ index 897a737..d147e70 100644 /* optional instructions only implemented on MIPS32R2 */ #ifdef _MIPS_ARCH_MIPS32R2 --- -1.8.0.2 - diff --git a/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch b/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch index 2002c81..1187432 100644 --- a/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch +++ b/0068-tcg-optimize-remove-TCG_TEMP_ANY.patch @@ -57,6 +57,3 @@ index 1be7631..308b7f9 100644 } } --- -1.8.0.2 - diff --git a/0069-tcg-optimize-check-types-in-copy-propagation.patch b/0069-tcg-optimize-check-types-in-copy-propagation.patch index e269b63..12b231f 100644 --- a/0069-tcg-optimize-check-types-in-copy-propagation.patch +++ b/0069-tcg-optimize-check-types-in-copy-propagation.patch @@ -73,6 +73,3 @@ index 308b7f9..da8dffe 100644 gen_args += 2; args += 2; break; --- -1.8.0.2 - diff --git a/0070-tcg-optimize-rework-copy-progagation.patch b/0070-tcg-optimize-rework-copy-progagation.patch index 1ddca44..c797cce 100644 --- a/0070-tcg-optimize-rework-copy-progagation.patch +++ b/0070-tcg-optimize-rework-copy-progagation.patch @@ -372,6 +372,3 @@ index da8dffe..1904b39 100644 } } for (i = 0; i < def->nb_args; i++) { --- -1.8.0.2 - diff --git a/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch b/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch index e0cd01c..d502253 100644 --- a/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch +++ b/0071-tcg-optimize-do-copy-propagation-for-all-operations.patch @@ -37,6 +37,3 @@ index 1904b39..aeb2225 100644 for (i = def->nb_oargs; i < def->nb_oargs + def->nb_iargs; i++) { if (temps[args[i]].state == TCG_TEMP_COPY) { args[i] = find_better_copy(s, args[i]); --- -1.8.0.2 - diff --git a/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch b/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch index bc92f45..5c0a3c2 100644 --- a/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch +++ b/0072-tcg-optimize-optimize-op-r-a-a-mov-r-a.patch @@ -26,6 +26,3 @@ index aeb2225..b9a7da9 100644 if (temps_are_copies(args[0], args[1])) { gen_opc_buf[op_index] = INDEX_op_nop; } else { --- -1.8.0.2 - diff --git a/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch b/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch index 32c5222..f5ebe44 100644 --- a/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch +++ b/0073-tcg-optimize-optimize-op-r-a-a-movi-r-0.patch @@ -41,6 +41,3 @@ index b9a7da9..ceea644 100644 /* Propagate constants through copy operations and do constant folding. Constants will be substituted to arguments by register allocator where needed and possible. Also detect copies. */ --- -1.8.0.2 - diff --git a/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch b/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch index 50401e3..1277768 100644 --- a/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch +++ b/0074-tcg-optimize-further-optimize-brcond-movcond-setcond.patch @@ -187,6 +187,3 @@ index ceea644..abe016a 100644 if (temps_are_copies(args[0], args[4-tmp])) { gen_opc_buf[op_index] = INDEX_op_nop; } else if (temps[args[4-tmp]].state == TCG_TEMP_CONST) { --- -1.8.0.2 - diff --git a/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch b/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch index 14fcf13..8d30fc5 100644 --- a/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch +++ b/0075-tcg-optimize-prefer-the-op-a-a-b-form-for-commutativ.patch @@ -33,6 +33,3 @@ index abe016a..c8ae50b 100644 tmp = args[1]; args[1] = args[2]; args[2] = tmp; --- -1.8.0.2 - diff --git a/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch b/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch index c335383..5eaf355 100644 --- a/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch +++ b/0076-tcg-remove-ifdef-endif-around-TCGOpcode-tests.patch @@ -63,6 +63,3 @@ index 24ce830..93421cd 100644 tcg_reg_alloc_movi(s, args); break; case INDEX_op_debug_insn_start: --- -1.8.0.2 - diff --git a/0077-tcg-optimize-add-constant-folding-for-deposit.patch b/0077-tcg-optimize-add-constant-folding-for-deposit.patch index 14d9783..85331af 100644 --- a/0077-tcg-optimize-add-constant-folding-for-deposit.patch +++ b/0077-tcg-optimize-add-constant-folding-for-deposit.patch @@ -41,6 +41,3 @@ index c8ae50b..35532a1 100644 CASE_OP_32_64(setcond): tmp = do_constant_folding_cond(op, args[1], args[2], args[3]); if (tmp != 2) { --- -1.8.0.2 - diff --git a/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch b/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch index 3adb4c8..f411689 100644 --- a/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch +++ b/0078-tcg-README-document-tcg_gen_goto_tb-restrictions.patch @@ -28,6 +28,3 @@ index d03ae05..33783ee 100644 * qemu_ld8u t0, t1, flags qemu_ld8s t0, t1, flags --- -1.8.0.2 - diff --git a/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch b/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch index 686f492..33feaaf 100644 --- a/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch +++ b/0079-w64-Fix-TCG-helper-functions-with-5-arguments.patch @@ -52,6 +52,3 @@ index b356d76..ace63ba 100644 /* optional instructions */ #define TCG_TARGET_HAS_div2_i32 1 --- -1.8.0.2 - diff --git a/0080-tcg-ppc32-Implement-movcond32.patch b/0080-tcg-ppc32-Implement-movcond32.patch index d992f78..dc55aa3 100644 --- a/0080-tcg-ppc32-Implement-movcond32.patch +++ b/0080-tcg-ppc32-Implement-movcond32.patch @@ -132,6 +132,3 @@ index 177eea1..3259d89 100644 #define TCG_AREG0 TCG_REG_R27 --- -1.8.0.2 - diff --git a/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch b/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch index 8d2ac6a..56e5f0a 100644 --- a/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch +++ b/0081-tcg-sparc-Hack-in-qemu_ld-st64-for-32-bit.patch @@ -25,6 +25,3 @@ index baed3b4..608fc46 100644 #endif { -1 }, }; --- -1.8.0.2 - diff --git a/0082-tcg-sparc-Fix-ADDX-opcode.patch b/0082-tcg-sparc-Fix-ADDX-opcode.patch index 87fbdbc..7c46b9f 100644 --- a/0082-tcg-sparc-Fix-ADDX-opcode.patch +++ b/0082-tcg-sparc-Fix-ADDX-opcode.patch @@ -22,6 +22,3 @@ index 608fc46..0a19313 100644 #define ARITH_SUBX (INSN_OP(2) | INSN_OP3(0x0c)) #define ARITH_UMUL (INSN_OP(2) | INSN_OP3(0x0a)) #define ARITH_UDIV (INSN_OP(2) | INSN_OP3(0x0e)) --- -1.8.0.2 - diff --git a/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch b/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch index 3ed5c98..6f1d3ad 100644 --- a/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch +++ b/0083-tcg-sparc-Don-t-MAP_FIXED-on-top-of-the-program.patch @@ -40,6 +40,3 @@ index 5834766..871a68a 100644 if (code_gen_buffer_size > (512 * 1024 * 1024)) { code_gen_buffer_size = (512 * 1024 * 1024); } --- -1.8.0.2 - diff --git a/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch b/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch index 901d583..bc773ca 100644 --- a/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch +++ b/0084-tcg-sparc-Assume-v9-cpu-always-i.e.-force-v8plus-in-.patch @@ -281,6 +281,3 @@ index 93421cd..16c4e1d 100644 s->current_frame_offset = (s->current_frame_offset + (tcg_target_long)sizeof(tcg_target_long) - 1) & ~(sizeof(tcg_target_long) - 1); --- -1.8.0.2 - diff --git a/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch b/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch index 1e6b5e4..1df9038 100644 --- a/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch +++ b/0085-tcg-sparc-Fix-qemu_ld-st-to-handle-32-bit-host.patch @@ -962,6 +962,3 @@ index 23c2fda..d89c19b 100644 { -1 }, }; --- -1.8.0.2 - diff --git a/0086-tcg-sparc-Support-GUEST_BASE.patch b/0086-tcg-sparc-Support-GUEST_BASE.patch index e1996aa..1a18244 100644 --- a/0086-tcg-sparc-Support-GUEST_BASE.patch +++ b/0086-tcg-sparc-Support-GUEST_BASE.patch @@ -108,6 +108,3 @@ index adca1d2..99e9f57 100644 #ifdef CONFIG_SOLARIS #define TCG_AREG0 TCG_REG_G2 #elif HOST_LONG_BITS == 64 --- -1.8.0.2 - diff --git a/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch b/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch index ed711b2..cf5f3b0 100644 --- a/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch +++ b/0087-tcg-sparc-Change-AREG0-in-generated-code-to-i0.patch @@ -46,6 +46,3 @@ index 99e9f57..ee154d0 100644 static inline void flush_icache_range(tcg_target_ulong start, tcg_target_ulong stop) --- -1.8.0.2 - diff --git a/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch b/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch index edef4da..c69be8a 100644 --- a/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch +++ b/0088-tcg-sparc-Clean-up-cruft-stemming-from-attempts-to-u.patch @@ -198,6 +198,3 @@ index ee154d0..6314ffb 100644 #endif #if TCG_TARGET_REG_BITS == 64 --- -1.8.0.2 - diff --git a/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch b/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch index fdd8142..7ced9e0 100644 --- a/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch +++ b/0089-tcg-sparc-Mask-shift-immediates-to-avoid-illegal-ins.patch @@ -57,6 +57,3 @@ index e625aa3..be5c170 100644 case INDEX_op_mul_i64: c = ARITH_MULX; goto gen_arith; --- -1.8.0.2 - diff --git a/0090-tcg-sparc-Use-defines-for-temporaries.patch b/0090-tcg-sparc-Use-defines-for-temporaries.patch index 2dbc636..56e0c17 100644 --- a/0090-tcg-sparc-Use-defines-for-temporaries.patch +++ b/0090-tcg-sparc-Use-defines-for-temporaries.patch @@ -270,6 +270,3 @@ index be5c170..d401f8e 100644 tcg_add_target_add_op_defs(sparc_op_defs); } --- -1.8.0.2 - diff --git a/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch b/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch index 03d8469..20af5bb 100644 --- a/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch +++ b/0091-tcg-sparc-Add-g-o-registers-to-alloc_order.patch @@ -39,6 +39,3 @@ index d401f8e..03c385a 100644 }; static const int tcg_target_call_iarg_regs[6] = { --- -1.8.0.2 - diff --git a/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch b/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch index 6eea805..bcbecbf 100644 --- a/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch +++ b/0092-tcg-sparc-Fix-and-enable-direct-TB-chaining.patch @@ -74,6 +74,3 @@ index 03c385a..1db0c9d 100644 + *ptr = CALL | (disp & 0x3fffffff); + flush_icache_range(jmp_addr, jmp_addr + 4); +} --- -1.8.0.2 - diff --git a/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch b/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch index e002185..187ffec 100644 --- a/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch +++ b/0093-tcg-sparc-Preserve-branch-destinations-during-retran.patch @@ -55,6 +55,3 @@ index 1db0c9d..876da4f 100644 } #endif --- -1.8.0.2 - diff --git a/0094-target-alpha-Initialize-env-cpu_model_str.patch b/0094-target-alpha-Initialize-env-cpu_model_str.patch index 2b0155f..cf7272b 100644 --- a/0094-target-alpha-Initialize-env-cpu_model_str.patch +++ b/0094-target-alpha-Initialize-env-cpu_model_str.patch @@ -28,6 +28,3 @@ index 4a9011a..3f9aee1 100644 qemu_init_vcpu(env); return env; --- -1.8.0.2 - diff --git a/0095-tcg-mips-fix-MIPS32-R2-detection.patch b/0095-tcg-mips-fix-MIPS32-R2-detection.patch index a31cfdd..5aa90c8 100644 --- a/0095-tcg-mips-fix-MIPS32-R2-detection.patch +++ b/0095-tcg-mips-fix-MIPS32-R2-detection.patch @@ -88,6 +88,3 @@ index d147e70..7020d65 100644 #define TCG_TARGET_HAS_bswap16_i32 1 #define TCG_TARGET_HAS_bswap32_i32 1 #define TCG_TARGET_HAS_rot_i32 1 --- -1.8.0.2 - diff --git a/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch b/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch index cfe0d8b..bcef0e8 100644 --- a/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch +++ b/0096-tcg-Adjust-descriptions-of-cond-opcodes.patch @@ -62,6 +62,3 @@ index 33783ee..27846f1 100644 Similar to setcond, except that the 64-bit values T1 and T2 are formed from two 32-bit arguments. The result is a 32-bit value. --- -1.8.0.2 - diff --git a/0097-tcg-i386-fix-build-with-march-i686.patch b/0097-tcg-i386-fix-build-with-march-i686.patch index f8bfc32..d36642b 100644 --- a/0097-tcg-i386-fix-build-with-march-i686.patch +++ b/0097-tcg-i386-fix-build-with-march-i686.patch @@ -29,6 +29,3 @@ index 85c6b81..616ef23 100644 #if TCG_TARGET_REG_BITS == 32 { INDEX_op_mulu2_i32, { "a", "d", "a", "r" } }, --- -1.8.0.2 - diff --git a/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch b/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch index 2fca6d4..a6898b8 100644 --- a/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch +++ b/0098-tcg-Fix-MAX_OPC_PARAM_IARGS.patch @@ -47,6 +47,3 @@ index 1f81da7..6516da0 100644 #define MAX_OPC_PARAM_OARGS 1 #define MAX_OPC_PARAM_ARGS (MAX_OPC_PARAM_IARGS + MAX_OPC_PARAM_OARGS) --- -1.8.0.2 - diff --git a/0099-tci-Fix-for-AREG0-free-mode.patch b/0099-tci-Fix-for-AREG0-free-mode.patch index 31b4673..dbe45ae 100644 --- a/0099-tci-Fix-for-AREG0-free-mode.patch +++ b/0099-tci-Fix-for-AREG0-free-mode.patch @@ -114,6 +114,3 @@ index ce8a988..a4f7b78 100644 tci_write_reg(TCG_REG_R0, tmp64); #endif break; --- -1.8.0.2 - diff --git a/0100-spice-abort-on-invalid-streaming-cmdline-params.patch b/0100-spice-abort-on-invalid-streaming-cmdline-params.patch index 67d3d35..1ee5c3a 100644 --- a/0100-spice-abort-on-invalid-streaming-cmdline-params.patch +++ b/0100-spice-abort-on-invalid-streaming-cmdline-params.patch @@ -36,6 +36,3 @@ index 4fc48f8..bb4f585 100644 static const char *compression_names[] = { [ SPICE_IMAGE_COMPRESS_OFF ] = "off", --- -1.8.0.2 - diff --git a/0101-spice-notify-spice-server-on-vm-start-stop.patch b/0101-spice-notify-spice-server-on-vm-start-stop.patch index 6e08d98..1527c4a 100644 --- a/0101-spice-notify-spice-server-on-vm-start-stop.patch +++ b/0101-spice-notify-spice-server-on-vm-start-stop.patch @@ -50,6 +50,3 @@ index bb4f585..a515c94 100644 g_free(x509_key_file); g_free(x509_cert_file); g_free(x509_cacert_file); --- -1.8.0.2 - diff --git a/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch b/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch index 6c96f49..b0ccd8a 100644 --- a/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch +++ b/0102-spice-notify-on-vm-state-change-only-via-spice_serve.patch @@ -168,6 +168,3 @@ index 12e50b6..672d65e 100644 +void qemu_spice_display_stop(void); +#endif +int qemu_spice_display_is_running(SimpleSpiceDisplay *ssd); --- -1.8.0.2 - diff --git a/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch b/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch index fbfabaa..ad2da2f 100644 --- a/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch +++ b/0103-spice-migration-add-QEVENT_SPICE_MIGRATE_COMPLETED.patch @@ -88,6 +88,3 @@ index 1a7a773..851e869 100644 #else spice_server_migrate_end(spice_server, true); } else if (migration_has_failed(s)) { --- -1.8.0.2 - diff --git a/0104-spice-add-migrated-flag-to-spice-info.patch b/0104-spice-add-migrated-flag-to-spice-info.patch index 458d912..eb7a997 100644 --- a/0104-spice-add-migrated-flag-to-spice-info.patch +++ b/0104-spice-add-migrated-flag-to-spice-info.patch @@ -92,6 +92,3 @@ index 851e869..ab069c5 100644 #else spice_server_migrate_end(spice_server, true); } else if (migration_has_failed(s)) { --- -1.8.0.2 - diff --git a/0105-spice-adding-seamless-migration-option-to-the-comman.patch b/0105-spice-adding-seamless-migration-option-to-the-comman.patch index c43d3fb..9fdcb4d 100644 --- a/0105-spice-adding-seamless-migration-option-to-the-comman.patch +++ b/0105-spice-adding-seamless-migration-option-to-the-comman.patch @@ -74,6 +74,3 @@ index ab069c5..ba0d0bd 100644 if (0 != spice_server_init(spice_server, &core_interface)) { error_report("failed to initialize spice server"); exit(1); --- -1.8.0.2 - diff --git a/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch b/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch index 77c0890..a84a446 100644 --- a/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch +++ b/0106-spice-increase-the-verbosity-of-spice-section-in-qem.patch @@ -45,6 +45,3 @@ index dd7aa63..1af4fec 100644 STEXI @item -spice @var{option}[,@var{option}[,...]] @findex -spice --- -1.8.0.2 - diff --git a/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch b/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch index 341717c..f34e533 100644 --- a/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch +++ b/0107-qxl-update_area_io-guest_bug-on-invalid-parameters.patch @@ -35,6 +35,3 @@ index 95bbc03..baf9bb4 100644 if (async == QXL_ASYNC) { cookie = qxl_cookie_new(QXL_COOKIE_TYPE_IO, QXL_IO_UPDATE_AREA_ASYNC); --- -1.8.0.2 - diff --git a/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch b/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch index bdfcbe8..ba49852 100644 --- a/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch +++ b/0108-qxl-add-QXL_IO_MONITORS_CONFIG_ASYNC.patch @@ -322,6 +322,3 @@ index 672d65e..bcff114 100644 }; typedef struct QXLCookie { --- -1.8.0.2 - diff --git a/0109-configure-print-spice-protocol-and-spice-server-vers.patch b/0109-configure-print-spice-protocol-and-spice-server-vers.patch index 2990c3f..841c630 100644 --- a/0109-configure-print-spice-protocol-and-spice-server-vers.patch +++ b/0109-configure-print-spice-protocol-and-spice-server-vers.patch @@ -34,6 +34,3 @@ index b5cea26..d7a948f 100755 echo "rbd support $rbd" echo "xfsctl support $xfs" echo "nss used $smartcard_nss" --- -1.8.0.2 - diff --git a/0110-fix-doc-of-using-raw-values-with-sendkey.patch b/0110-fix-doc-of-using-raw-values-with-sendkey.patch index 855f817..efde3ff 100644 --- a/0110-fix-doc-of-using-raw-values-with-sendkey.patch +++ b/0110-fix-doc-of-using-raw-values-with-sendkey.patch @@ -37,6 +37,3 @@ index 13f28cf..a72614d 100644 @example sendkey ctrl-alt-f1 @end example --- -1.8.0.2 - diff --git a/0111-qapi-Fix-potential-NULL-pointer-segfault.patch b/0111-qapi-Fix-potential-NULL-pointer-segfault.patch index ff6d326..a7de589 100644 --- a/0111-qapi-Fix-potential-NULL-pointer-segfault.patch +++ b/0111-qapi-Fix-potential-NULL-pointer-segfault.patch @@ -33,6 +33,3 @@ index 04ef7c4..5b15ee3 100644 visit_type_%(name)sKind(m, &(*obj)->kind, "type", &err); if (!err) { switch ((*obj)->kind) { --- -1.8.0.2 - diff --git a/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch b/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch index c7737da..2c2d4a3 100644 --- a/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch +++ b/0112-json-parser-Fix-potential-NULL-pointer-segfault.patch @@ -35,6 +35,3 @@ index d42386d..9124649 100644 /* Initialize an object to default values */ #define QOBJECT_INIT(obj, qtype_type) \ --- -1.8.0.2 - diff --git a/0113-pcie-drop-version_id-field-for-live-migration.patch b/0113-pcie-drop-version_id-field-for-live-migration.patch index 3f8f0dc..9c5aa3f 100644 --- a/0113-pcie-drop-version_id-field-for-live-migration.patch +++ b/0113-pcie-drop-version_id-field-for-live-migration.patch @@ -74,6 +74,3 @@ index b8ab0c7..4889194 100644 .size = sizeof(PCIDevice), \ .vmsd = &vmstate_pcie_device, \ .flags = VMS_STRUCT, \ --- -1.8.0.2 - diff --git a/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch b/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch index e1f0739..d4bd386 100644 --- a/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch +++ b/0114-pcie_aer-clear-cmask-for-Advanced-Error-Interrupt-Me.patch @@ -35,6 +35,3 @@ index 3b6981c..b04c164 100644 } void pcie_aer_root_reset(PCIDevice *dev) --- -1.8.0.2 - diff --git a/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch b/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch index 02f9105..8c7098f 100644 --- a/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch +++ b/0115-fix-entry-pointer-for-ELF-kernels-loaded-with-kernel.patch @@ -37,6 +37,3 @@ index fa65ce2..731a983 100644 snprintf(label, sizeof(label), "phdr #%d: %s", i, name); rom_add_blob_fixed(label, data, mem_size, addr); --- -1.8.0.2 - diff --git a/0116-lan9118-fix-multicast-filtering.patch b/0116-lan9118-fix-multicast-filtering.patch index 877e6a4..d9b8664 100644 --- a/0116-lan9118-fix-multicast-filtering.patch +++ b/0116-lan9118-fix-multicast-filtering.patch @@ -32,6 +32,3 @@ index ff0a50b..ceaf96f 100644 if (hash & 0x20) { return (s->mac_hashh >> (hash & 0x1f)) & 1; } else { --- -1.8.0.2 - diff --git a/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch b/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch index 427408f..21d7371 100644 --- a/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch +++ b/0117-MIPS-user-Fix-reset-CPU-state-initialization.patch @@ -191,6 +191,3 @@ index aba7935..4e04e97 100644 env->exception_index = EXCP_NONE; } --- -1.8.0.2 - diff --git a/0118-Add-MAINTAINERS-entry-for-leon3.patch b/0118-Add-MAINTAINERS-entry-for-leon3.patch index 3b14753..a69eeb4 100644 --- a/0118-Add-MAINTAINERS-entry-for-leon3.patch +++ b/0118-Add-MAINTAINERS-entry-for-leon3.patch @@ -29,6 +29,3 @@ index 6d864c1..61f8b45 100644 S390 Machines ------------- S390 Virtio --- -1.8.0.2 - diff --git a/0119-musicpal-Fix-flash-mapping.patch b/0119-musicpal-Fix-flash-mapping.patch index 1ec2830..881801c 100644 --- a/0119-musicpal-Fix-flash-mapping.patch +++ b/0119-musicpal-Fix-flash-mapping.patch @@ -37,6 +37,3 @@ index ad725b5..f305e21 100644 "musicpal.flash", flash_size, dinfo->bdrv, 0x10000, (flash_size + 0xffff) >> 16, --- -1.8.0.2 - diff --git a/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch b/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch index f2b0456..42ee2c5 100644 --- a/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch +++ b/0120-qemu-Use-valgrind-annotations-to-mark-kvm-guest-memo.patch @@ -79,6 +79,3 @@ index badf1d8..90c71f9 100644 if (!kvm_has_sync_mmu()) { int ret = qemu_madvise(start, size, QEMU_MADV_DONTFORK); --- -1.8.0.2 - diff --git a/0121-hw-wm8750-Fix-potential-buffer-overflow.patch b/0121-hw-wm8750-Fix-potential-buffer-overflow.patch index 36802b7..db8b2be 100644 --- a/0121-hw-wm8750-Fix-potential-buffer-overflow.patch +++ b/0121-hw-wm8750-Fix-potential-buffer-overflow.patch @@ -38,6 +38,3 @@ index 11bcec3..44f138f 100644 } s->i2c_data[s->i2c_len ++] = data; if (s->i2c_len != 2) --- -1.8.0.2 - diff --git a/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch b/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch index 7f385bd..ec1c7c0 100644 --- a/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch +++ b/0122-hw-mcf5206-Fix-buffer-overflow-for-MBAR-read-write.patch @@ -82,6 +82,3 @@ index 539b391..27753e2 100644 hw_error("Bad MBAR write offset 0x%x", (int)offset); } width = m5206_mbar_width[offset >> 2]; --- -1.8.0.2 - diff --git a/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch b/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch index 5020cb2..144f951 100644 --- a/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch +++ b/0123-use-libexecdir-instead-of-ignoring-it-first-and-rein.patch @@ -89,6 +89,3 @@ index 8874eff..d01f9dc 100755 echo "ARCH=$ARCH" >> $config_host_mak if test "$debug_tcg" = "yes" ; then --- -1.8.0.2 - diff --git a/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch b/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch index babe9ee..333a77a 100644 --- a/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch +++ b/0124-socket-don-t-attempt-to-reconnect-a-TCP-socket-in-se.patch @@ -38,6 +38,3 @@ index 398baf1..767da93 100644 } } --- -1.8.0.2 - diff --git a/0125-Add-ability-to-force-enable-disable-of-tools-build.patch b/0125-Add-ability-to-force-enable-disable-of-tools-build.patch index c76157c..b98e9a0 100644 --- a/0125-Add-ability-to-force-enable-disable-of-tools-build.patch +++ b/0125-Add-ability-to-force-enable-disable-of-tools-build.patch @@ -78,6 +78,3 @@ index d01f9dc..a8061c1 100755 fi # Mac OS X ships with a broken assembler --- -1.8.0.2 - diff --git a/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch b/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch index 3ad2a65..69d43d1 100644 --- a/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch +++ b/0126-usb-controllers-do-not-need-to-check-for-babble-them.patch @@ -53,6 +53,3 @@ index b0db921..c7c8786 100644 if ((td->ctrl & TD_CTRL_SPD) && len < max_len) { *int_mask |= 0x02; /* short packet: do not update QH */ --- -1.8.0.2 - diff --git a/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch b/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch index 348947d..34a1a3c 100644 --- a/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch +++ b/0127-usb-core-Don-t-set-packet-state-to-complete-on-a-nak.patch @@ -32,6 +32,3 @@ index 2da38e7..be6d936 100644 } } else { ret = USB_RET_ASYNC; --- -1.8.0.2 - diff --git a/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch b/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch index c975292..020f67f 100644 --- a/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch +++ b/0128-usb-core-Add-a-usb_ep_find_packet_by_id-helper-funct.patch @@ -49,6 +49,3 @@ index be6d936..fe431d0 100644 + + return NULL; +} --- -1.8.0.2 - diff --git a/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch b/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch index 7186113..8826075 100644 --- a/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch +++ b/0129-usb-core-Allow-the-first-packet-of-a-pipelined-ep-to.patch @@ -30,6 +30,3 @@ index fe431d0..b9f1f7a 100644 if (ret != USB_RET_NAK) { p->result = ret; usb_packet_set_state(p, USB_PACKET_COMPLETE); --- -1.8.0.2 - diff --git a/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch b/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch index 7600ddb..1749750 100644 --- a/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch +++ b/0130-Revert-ehci-don-t-flush-cache-on-doorbell-rings.patch @@ -119,6 +119,3 @@ index 9523247..e7c36f4 100644 break; default: --- -1.8.0.2 - diff --git a/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch b/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch index 27a76c8..a1faa09 100644 --- a/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch +++ b/0131-ehci-Validate-qh-is-not-changed-unexpectedly-by-the-.patch @@ -81,6 +81,3 @@ index e7c36f4..35eb441 100644 if (q->dev == NULL) { q->dev = ehci_find_device(q->ehci, devaddr); } --- -1.8.0.2 - diff --git a/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch b/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch index e557925..104037c 100644 --- a/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch +++ b/0132-ehci-Update-copyright-headers-to-reflect-recent-work.patch @@ -30,6 +30,3 @@ index 35eb441..78a248f 100644 * * EHCI project was started by Mark Burkley, with contributions by * Niels de Vos. David S. Ahern continued working on it. Kevin Wolf, --- -1.8.0.2 - diff --git a/0133-ehci-Properly-cleanup-packets-on-cancel.patch b/0133-ehci-Properly-cleanup-packets-on-cancel.patch index 3cdc6a4..a1bf6e6 100644 --- a/0133-ehci-Properly-cleanup-packets-on-cancel.patch +++ b/0133-ehci-Properly-cleanup-packets-on-cancel.patch @@ -24,6 +24,3 @@ index 78a248f..4fe85c8 100644 } QTAILQ_REMOVE(&p->queue->packets, p, next); usb_packet_cleanup(&p->packet); --- -1.8.0.2 - diff --git a/0134-ehci-Properly-report-completed-but-not-yet-processed.patch b/0134-ehci-Properly-report-completed-but-not-yet-processed.patch index 430ea91..5a7d08f 100644 --- a/0134-ehci-Properly-report-completed-but-not-yet-processed.patch +++ b/0134-ehci-Properly-report-completed-but-not-yet-processed.patch @@ -47,6 +47,3 @@ index 4fe85c8..0a6c9ef 100644 QTAILQ_REMOVE(&p->queue->packets, p, next); usb_packet_cleanup(&p->packet); g_free(p); --- -1.8.0.2 - diff --git a/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch b/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch index 56269e4..784c480 100644 --- a/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch +++ b/0135-ehci-check-for-EHCI_ASYNC_FINISHED-first-in-ehci_fre.patch @@ -44,6 +44,3 @@ index 0a6c9ef..23221d0 100644 QTAILQ_REMOVE(&p->queue->packets, p, next); usb_packet_cleanup(&p->packet); g_free(p); --- -1.8.0.2 - diff --git a/0136-ehci-trace-guest-bugs.patch b/0136-ehci-trace-guest-bugs.patch index f93ccca..295696d 100644 --- a/0136-ehci-trace-guest-bugs.patch +++ b/0136-ehci-trace-guest-bugs.patch @@ -104,6 +104,3 @@ index 8fcbc50..5112a47 100644 # hw/usb/hcd-uhci.c usb_uhci_reset(void) "=== RESET ===" --- -1.8.0.2 - diff --git a/0137-ehci-add-doorbell-trace-events.patch b/0137-ehci-add-doorbell-trace-events.patch index 4b5e7a1..aac729c 100644 --- a/0137-ehci-add-doorbell-trace-events.patch +++ b/0137-ehci-add-doorbell-trace-events.patch @@ -46,6 +46,3 @@ index 5112a47..10bc04e 100644 # hw/usb/hcd-uhci.c usb_uhci_reset(void) "=== RESET ===" --- -1.8.0.2 - diff --git a/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch b/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch index 73b4755..a580d28 100644 --- a/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch +++ b/0138-ehci-Add-some-additional-ehci_trace_guest_bug-calls.patch @@ -83,6 +83,3 @@ index 398f5e0..5a88268 100644 return USB_RET_PROCERR; } --- -1.8.0.2 - diff --git a/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch b/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch index d80e373..d0ba725 100644 --- a/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch +++ b/0139-ehci-Fix-memory-leak-in-handling-of-NAK-ed-packets.patch @@ -115,6 +115,3 @@ index 5a88268..d87aca8 100644 ehci_set_state(q->ehci, q->async, EST_HORIZONTALQH); break; case EHCI_ASYNC_FINISHED: --- -1.8.0.2 - diff --git a/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch b/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch index b934bd6..e94e747 100644 --- a/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch +++ b/0140-ehci-Handle-USB_RET_PROCERR-in-ehci_fill_queue.patch @@ -52,6 +52,3 @@ index d87aca8..2534394 100644 goto out; } --- -1.8.0.2 - diff --git a/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch b/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch index 99a1f6e..287cee2 100644 --- a/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch +++ b/0141-ehci-Correct-a-comment-in-fetchqtd-packet-processing.patch @@ -32,6 +32,3 @@ index 2534394..2f3e9c0 100644 ehci_set_state(q->ehci, q->async, EST_EXECUTING); break; } --- -1.8.0.2 - diff --git a/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch b/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch index 4506477..ec5a34d 100644 --- a/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch +++ b/0142-usb-redir-Never-return-USB_RET_NAK-for-async-handled.patch @@ -41,6 +41,3 @@ index 10b4fbb..7f3719b 100644 case usb_redir_babble: return USB_RET_BABBLE; case usb_redir_ioerror: --- -1.8.0.2 - diff --git a/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch b/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch index e38ae3d..612d892 100644 --- a/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch +++ b/0143-usb-redir-Don-t-delay-handling-of-open-events-to-a-b.patch @@ -179,6 +179,3 @@ index 7f3719b..5cc3334 100644 qemu_del_timer(dev->attach_timer); qemu_free_timer(dev->attach_timer); --- -1.8.0.2 - diff --git a/0144-usb-redir-Get-rid-of-async-struct-get-member.patch b/0144-usb-redir-Get-rid-of-async-struct-get-member.patch index 9eaadb9..531603e 100644 --- a/0144-usb-redir-Get-rid-of-async-struct-get-member.patch +++ b/0144-usb-redir-Get-rid-of-async-struct-get-member.patch @@ -71,6 +71,3 @@ index 5cc3334..2cae8c5 100644 dev->dev.data_buf[0] = alt_setting_status->alt; len = 1; } --- -1.8.0.2 - diff --git a/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch b/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch index f9403bb..d291ead 100644 --- a/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch +++ b/0145-usb-redir-Get-rid-of-local-shadow-copy-of-packet-hea.patch @@ -104,6 +104,3 @@ index 2cae8c5..e4ef372 100644 if (aurb->packet) { aurb->packet->result = usbredir_handle_status(dev, interrupt_packet->status, len); --- -1.8.0.2 - diff --git a/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch b/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch index 20cab1e..d56a1fb 100644 --- a/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch +++ b/0146-usb-redir-Get-rid-of-unused-async-struct-dev-member.patch @@ -36,6 +36,3 @@ index e4ef372..6593d50 100644 aurb->packet = p; aurb->packet_id = dev->packet_id; QTAILQ_INSERT_TAIL(&dev->asyncq, aurb, next); --- -1.8.0.2 - diff --git a/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch b/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch index a99b211..67fc09b 100644 --- a/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch +++ b/0147-usb-redir-Move-to-core-packet-id-and-queue-handling.patch @@ -497,6 +497,3 @@ index 6593d50..fd1f8cc 100644 } } --- -1.8.0.2 - diff --git a/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch b/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch index ee4691f..185f4c9 100644 --- a/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch +++ b/0148-usb-redir-Return-babble-when-getting-more-bulk-data-.patch @@ -32,6 +32,3 @@ index fd1f8cc..ee75217 100644 } } p->result = len; --- -1.8.0.2 - diff --git a/0149-Better-name-usb-braille-device.patch b/0149-Better-name-usb-braille-device.patch index 26c4728..ca00165 100644 --- a/0149-Better-name-usb-braille-device.patch +++ b/0149-Better-name-usb-braille-device.patch @@ -28,6 +28,3 @@ index 8aa6552..69b6e48 100644 [STR_SERIALNUMBER] = "1", }; --- -1.8.0.2 - diff --git a/0150-usb-audio-fix-usb-version.patch b/0150-usb-audio-fix-usb-version.patch index 7170c9f..277c60a 100644 --- a/0150-usb-audio-fix-usb-version.patch +++ b/0150-usb-audio-fix-usb-version.patch @@ -27,6 +27,3 @@ index 79b75fb..2594c78 100644 .bMaxPacketSize0 = 64, .bNumConfigurations = 1, .confs = (USBDescConfig[]) { --- -1.8.0.2 - diff --git a/0151-xhci-rip-out-background-transfer-code.patch b/0151-xhci-rip-out-background-transfer-code.patch index 1622c3a..ce78b1b 100644 --- a/0151-xhci-rip-out-background-transfer-code.patch +++ b/0151-xhci-rip-out-background-transfer-code.patch @@ -322,6 +322,3 @@ index 3eb27fa..c0a2476 100644 break; } length = xhci_ring_chain_length(xhci, &epctx->ring); --- -1.8.0.2 - diff --git a/0152-xhci-drop-buffering.patch b/0152-xhci-drop-buffering.patch index 210e4ea..ce5bb91 100644 --- a/0152-xhci-drop-buffering.patch +++ b/0152-xhci-drop-buffering.patch @@ -381,6 +381,3 @@ index 10bc04e..c83d65e 100644 usb_xhci_xfer_async(void *xfer) "%p" usb_xhci_xfer_nak(void *xfer) "%p" usb_xhci_xfer_retry(void *xfer) "%p" --- -1.8.0.2 - diff --git a/0153-xhci-fix-runtime-write-tracepoint.patch b/0153-xhci-fix-runtime-write-tracepoint.patch index af2878a..6f8475a 100644 --- a/0153-xhci-fix-runtime-write-tracepoint.patch +++ b/0153-xhci-fix-runtime-write-tracepoint.patch @@ -24,6 +24,3 @@ index 446d692..24b1f87 100644 switch (reg) { case 0x20: /* IMAN */ --- -1.8.0.2 - diff --git a/0154-xhci-allow-bytewise-capability-register-reads.patch b/0154-xhci-allow-bytewise-capability-register-reads.patch index 5f733da..9a70680 100644 --- a/0154-xhci-allow-bytewise-capability-register-reads.patch +++ b/0154-xhci-allow-bytewise-capability-register-reads.patch @@ -34,6 +34,3 @@ index 24b1f87..333df59 100644 .endianness = DEVICE_LITTLE_ENDIAN, }; --- -1.8.0.2 - diff --git a/0155-qxl-dont-update-invalid-area.patch b/0155-qxl-dont-update-invalid-area.patch index 01d79db..243aa55 100644 --- a/0155-qxl-dont-update-invalid-area.patch +++ b/0155-qxl-dont-update-invalid-area.patch @@ -39,6 +39,3 @@ index 27f3779..038a8bb 100644 if (async == QXL_ASYNC) { cookie = qxl_cookie_new(QXL_COOKIE_TYPE_IO, QXL_IO_UPDATE_AREA_ASYNC); --- -1.8.0.2 - diff --git a/0156-usb-host-allow-emulated-non-async-control-requests-w.patch b/0156-usb-host-allow-emulated-non-async-control-requests-w.patch index 72b7216..e06f991 100644 --- a/0156-usb-host-allow-emulated-non-async-control-requests-w.patch +++ b/0156-usb-host-allow-emulated-non-async-control-requests-w.patch @@ -35,6 +35,3 @@ index 8df9207..44f1a64 100644 if (length > sizeof(dev->data_buf)) { fprintf(stderr, "husb: ctrl buffer too small (%d > %zu)\n", --- -1.8.0.2 - diff --git a/0157-qxl-better-cleanup-for-surface-destroy.patch b/0157-qxl-better-cleanup-for-surface-destroy.patch index 090e57b..69542b2 100644 --- a/0157-qxl-better-cleanup-for-surface-destroy.patch +++ b/0157-qxl-better-cleanup-for-surface-destroy.patch @@ -30,6 +30,3 @@ index 038a8bb..67f7100 100644 } } --- -1.8.0.2 - diff --git a/0158-ehci-switch-to-new-style-memory-ops.patch b/0158-ehci-switch-to-new-style-memory-ops.patch index 00e00dc..fa7dea6 100644 --- a/0158-ehci-switch-to-new-style-memory-ops.patch +++ b/0158-ehci-switch-to-new-style-memory-ops.patch @@ -365,6 +365,3 @@ index c83d65e..cf05414 100644 usb_ehci_usbsts(const char *sts, int state) "usbsts %s %d" usb_ehci_state(const char *schedule, const char *state) "%s schedule %s" usb_ehci_qh_ptrs(void *q, uint32_t addr, uint32_t nxt, uint32_t c_qtd, uint32_t n_qtd, uint32_t a_qtd) "q %p - QH @ %08x: next %08x qtds %08x,%08x,%08x" --- -1.8.0.2 - diff --git a/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch b/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch index c92665f..bca784f 100644 --- a/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch +++ b/0159-ehci-Fix-interrupts-stopping-when-Interrupt-Threshol.patch @@ -33,6 +33,3 @@ index f5ba8e1..54273d7 100644 ehci->usbsts_frindex -= 0x00004000; } else { ehci->usbsts_frindex = 0; --- -1.8.0.2 - diff --git a/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch b/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch index 0825bfc..630eeee 100644 --- a/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch +++ b/0160-ehci-Don-t-process-too-much-frames-in-1-timer-tick-v.patch @@ -55,6 +55,3 @@ index 54273d7..017a01d 100644 ehci_update_frindex(ehci, 1); ehci_advance_periodic_state(ehci); ehci->last_run_ns += FRAME_TIMER_NS; --- -1.8.0.2 - diff --git a/0161-sheepdog-fix-savevm-and-loadvm.patch b/0161-sheepdog-fix-savevm-and-loadvm.patch index 01e836a..ee2895d 100644 --- a/0161-sheepdog-fix-savevm-and-loadvm.patch +++ b/0161-sheepdog-fix-savevm-and-loadvm.patch @@ -36,6 +36,3 @@ index df4f441..e0753ee 100644 remaining -= data_len; } ret = size; --- -1.8.0.2 - diff --git a/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch b/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch index 9ace08e..45e4ea0 100644 --- a/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch +++ b/0162-ide-Fix-error-messages-from-static-code-analysis-no-.patch @@ -62,6 +62,3 @@ index d65ef3d..d6fb69c 100644 int i; for(i = 0; i < 11; i++) { s->io_buffer[2+i+(n*12)] = smart_attributes[n][i]; --- -1.8.0.2 - diff --git a/0163-block-curl-Fix-wrong-free-statement.patch b/0163-block-curl-Fix-wrong-free-statement.patch index 4ee0e8d..85e5b14 100644 --- a/0163-block-curl-Fix-wrong-free-statement.patch +++ b/0163-block-curl-Fix-wrong-free-statement.patch @@ -32,6 +32,3 @@ index e7c3634..c1074cd 100644 } static int64_t curl_getlength(BlockDriverState *bs) --- -1.8.0.2 - diff --git a/0164-vdi-Fix-warning-from-clang.patch b/0164-vdi-Fix-warning-from-clang.patch index fbefc69..4842cad 100644 --- a/0164-vdi-Fix-warning-from-clang.patch +++ b/0164-vdi-Fix-warning-from-clang.patch @@ -70,6 +70,3 @@ index c4f1529..550cf58 100644 if (image_type == VDI_TYPE_STATIC) { if (ftruncate(fd, sizeof(header) + bmap_size + blocks * block_size)) { result = -errno; --- -1.8.0.2 - diff --git a/0165-block-fix-block-tray-status.patch b/0165-block-fix-block-tray-status.patch index 47861e3..5476562 100644 --- a/0165-block-fix-block-tray-status.patch +++ b/0165-block-fix-block-tray-status.patch @@ -31,6 +31,3 @@ index 470bdcc..c754353 100644 /*throttling disk I/O limits*/ if (bs->io_limits_enabled) { bdrv_io_limits_disable(bs); --- -1.8.0.2 - diff --git a/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch b/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch index e496d34..70c1d11 100644 --- a/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch +++ b/0166-ahci-properly-reset-PxCMD-on-HBA-reset.patch @@ -59,6 +59,3 @@ index 5ea3cad..68671bc 100644 ahci_reset_port(s, i); } } --- -1.8.0.2 - diff --git a/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch b/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch index f44ff81..f018cad 100644 --- a/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch +++ b/0167-Don-t-require-encryption-password-for-qemu-img-info-.patch @@ -115,6 +115,3 @@ index b41e670..0d208e8 100644 if (!bs) { ret = -1; goto out; --- -1.8.0.2 - diff --git a/0168-block-Don-t-forget-to-delete-temporary-file.patch b/0168-block-Don-t-forget-to-delete-temporary-file.patch index 4eef95e..0b86df0 100644 --- a/0168-block-Don-t-forget-to-delete-temporary-file.patch +++ b/0168-block-Don-t-forget-to-delete-temporary-file.patch @@ -31,6 +31,3 @@ index c754353..e78039b 100644 return -errno; } return 0; --- -1.8.0.2 - diff --git a/0169-hw-qxl-tracing-fixes.patch b/0169-hw-qxl-tracing-fixes.patch index 11c1085..d317b75 100644 --- a/0169-hw-qxl-tracing-fixes.patch +++ b/0169-hw-qxl-tracing-fixes.patch @@ -94,6 +94,3 @@ index cf05414..aa79836 100644 # hw/qxl-render.c qxl_render_blit_guest_primary_initialized(void) "" --- -1.8.0.2 - diff --git a/0170-configure-usbredir-fixes.patch b/0170-configure-usbredir-fixes.patch index f896be4..924dc3c 100644 --- a/0170-configure-usbredir-fixes.patch +++ b/0170-configure-usbredir-fixes.patch @@ -31,6 +31,3 @@ index a8061c1..dcd8e7b 100755 else if test "$usb_redir" = "yes"; then feature_not_found "usb-redir" --- -1.8.0.2 - diff --git a/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch b/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch index 438e18e..daec59a 100644 --- a/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch +++ b/0171-ehci-Don-t-set-seen-to-0-when-removing-unseen-queue-.patch @@ -99,6 +99,3 @@ index 017a01d..bc86460 100644 break; default: --- -1.8.0.2 - diff --git a/0172-ehci-Walk-async-schedule-before-and-after-migration.patch b/0172-ehci-Walk-async-schedule-before-and-after-migration.patch index 882a426..4009d8f 100644 --- a/0172-ehci-Walk-async-schedule-before-and-after-migration.patch +++ b/0172-ehci-Walk-async-schedule-before-and-after-migration.patch @@ -65,6 +65,3 @@ index bc86460..6a5da84 100644 memory_region_init(&s->mem, "ehci", MMIO_SIZE); memory_region_init_io(&s->mem_caps, &ehci_mmio_caps_ops, s, --- -1.8.0.2 - diff --git a/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch b/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch index 2d13524..e8d3495 100644 --- a/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch +++ b/0173-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch @@ -58,6 +58,3 @@ index ee75217..ab8d79a 100644 usbredirparser_do_write(dev->parser); } --- -1.8.0.2 - diff --git a/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch b/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch index 95ee36e..1f4df3a 100644 --- a/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch +++ b/0174-uhci-Don-t-queue-up-packets-after-one-with-the-SPD-f.patch @@ -42,6 +42,3 @@ index c7c8786..cdc8bc3 100644 uhci_fill_queue(s, &td); } link = curr_qh ? qh.link : td.link; --- -1.8.0.2 - diff --git a/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch b/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch index c34a7a5..4f909e2 100644 --- a/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch +++ b/0175-slirp-Remove-wrong-type-casts-ins-debug-statements.patch @@ -32,6 +32,3 @@ index 025b374..5890d7a 100644 DEBUG_ARG("ack = %u", ack); DEBUG_ARG("seq = %u", seq); DEBUG_ARG("flags = %x", flags); --- -1.8.0.2 - diff --git a/0176-slirp-Fix-error-reported-by-static-code-analysis.patch b/0176-slirp-Fix-error-reported-by-static-code-analysis.patch index d85c027..6ec5eb7 100644 --- a/0176-slirp-Fix-error-reported-by-static-code-analysis.patch +++ b/0176-slirp-Fix-error-reported-by-static-code-analysis.patch @@ -32,6 +32,3 @@ index 5890d7a..1542e43 100644 return; tlen = 0; m->m_data += IF_MAXLINKHDR; --- -1.8.0.2 - diff --git a/0177-slirp-improve-TFTP-performance.patch b/0177-slirp-improve-TFTP-performance.patch index f7124da..24011eb 100644 --- a/0177-slirp-improve-TFTP-performance.patch +++ b/0177-slirp-improve-TFTP-performance.patch @@ -101,6 +101,3 @@ index 72e5e91..9c364ea 100644 struct in_addr client_ip; uint16_t client_port; --- -1.8.0.2 - diff --git a/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch b/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch index d5bbebb..356eebb 100644 --- a/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch +++ b/0178-slirp-Handle-more-than-65535-blocks-in-TFTP-transfer.patch @@ -116,6 +116,3 @@ index 9c364ea..51704e4 100644 int timestamp; }; --- -1.8.0.2 - diff --git a/0179-slirp-Implement-TFTP-Blocksize-option.patch b/0179-slirp-Implement-TFTP-Blocksize-option.patch index 08a6554..97eafe5 100644 --- a/0179-slirp-Implement-TFTP-Blocksize-option.patch +++ b/0179-slirp-Implement-TFTP-Blocksize-option.patch @@ -118,6 +118,3 @@ index c6a5df2..37b0387 100644 spt->block_nr = 0; tftp_send_next_block(spt, tp); } --- -1.8.0.2 - diff --git a/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch b/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch index ccad49f..214916c 100644 --- a/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch +++ b/0180-srp-Don-t-use-QEMU_PACKED-for-single-elements-of-a-s.patch @@ -58,6 +58,3 @@ index 3009bd5..5e0cad5 100644 enum { SRP_RSP_FLAG_RSPVALID = 1 << 0, --- -1.8.0.2 - diff --git a/0181-Spelling-fixes-in-comments-and-documentation.patch b/0181-Spelling-fixes-in-comments-and-documentation.patch index 676fbc4..299116b 100644 --- a/0181-Spelling-fixes-in-comments-and-documentation.patch +++ b/0181-Spelling-fixes-in-comments-and-documentation.patch @@ -178,6 +178,3 @@ index 6b42e35..360543b 100644 Only the formats @code{qcow2}, @code{qed} and @code{vdi} support consistency checks. --- -1.8.0.2 - diff --git a/0182-console-Clean-up-bytes-per-pixel-calculation.patch b/0182-console-Clean-up-bytes-per-pixel-calculation.patch index a7705ea..45fde5f 100644 --- a/0182-console-Clean-up-bytes-per-pixel-calculation.patch +++ b/0182-console-Clean-up-bytes-per-pixel-calculation.patch @@ -46,6 +46,3 @@ index 3b5cabb..8b5e21d 100644 pf.rmask = 0x00007c00; pf.gmask = 0x000003E0; pf.bmask = 0x0000001F; --- -1.8.0.2 - diff --git a/0183-qapi-Fix-enumeration-typo-error.patch b/0183-qapi-Fix-enumeration-typo-error.patch index ec44860..a5cabb7 100644 --- a/0183-qapi-Fix-enumeration-typo-error.patch +++ b/0183-qapi-Fix-enumeration-typo-error.patch @@ -49,6 +49,3 @@ index 8ddde12..29dacb5 100644 # # @client: Mouse cursor position is determined by the client. # --- -1.8.0.2 - diff --git a/0184-kvm-Fix-warning-from-static-code-analysis.patch b/0184-kvm-Fix-warning-from-static-code-analysis.patch index b31cc6d..18d845b 100644 --- a/0184-kvm-Fix-warning-from-static-code-analysis.patch +++ b/0184-kvm-Fix-warning-from-static-code-analysis.patch @@ -44,6 +44,3 @@ index 90c71f9..08d6051 100644 } g_free(s); --- -1.8.0.2 - diff --git a/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch b/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch index a4b0068..383fe8e 100644 --- a/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch +++ b/0185-arch_init.c-add-missing-symbols-before-PRIu64-in-deb.patch @@ -49,6 +49,3 @@ index 5a1173e..47977de 100644 return ret; } --- -1.8.0.2 - diff --git a/0186-net-notify-iothread-after-flushing-queue.patch b/0186-net-notify-iothread-after-flushing-queue.patch index 7a5625d..9dd44b0 100644 --- a/0186-net-notify-iothread-after-flushing-queue.patch +++ b/0186-net-notify-iothread-after-flushing-queue.patch @@ -100,6 +100,3 @@ index 9d44a9b..fc02b33 100644 +bool qemu_net_queue_flush(NetQueue *queue); #endif /* QEMU_NET_QUEUE_H */ --- -1.8.0.2 - diff --git a/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch b/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch index da0e2a3..d9b13ef 100644 --- a/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch +++ b/0187-e1000-flush-queue-whenever-can_receive-can-go-from-f.patch @@ -46,6 +46,3 @@ index ae8a6c5..ec3a7c4 100644 } static void --- -1.8.0.2 - diff --git a/0188-xen-flush-queue-when-getting-an-event.patch b/0188-xen-flush-queue-when-getting-an-event.patch index e01d7fa..25b1087 100644 --- a/0188-xen-flush-queue-when-getting-an-event.patch +++ b/0188-xen-flush-queue-when-getting-an-event.patch @@ -32,6 +32,3 @@ index 8b79bfb..cf7d559 100644 } static int net_free(struct XenDevice *xendev) --- -1.8.0.2 - diff --git a/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch b/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch index cdb886a..a256edb 100644 --- a/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch +++ b/0189-eepro100-Fix-network-hang-when-rx-buffers-run-out.patch @@ -67,6 +67,3 @@ index 50d117e..5b23116 100644 } if (rfd_command & COMMAND_S) { /* S bit is set. */ --- -1.8.0.2 - diff --git a/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch b/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch index fdb1ad8..7393b14 100644 --- a/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch +++ b/0190-net-add-receive_disabled-logic-to-iov-delivery-path.patch @@ -60,6 +60,3 @@ index 76a8336..1303819 100644 } ssize_t qemu_sendv_packet_async(NetClientState *sender, --- -1.8.0.2 - diff --git a/0191-net-do-not-report-queued-packets-as-sent.patch b/0191-net-do-not-report-queued-packets-as-sent.patch index 4ebde09..ee11193 100644 --- a/0191-net-do-not-report-queued-packets-as-sent.patch +++ b/0191-net-do-not-report-queued-packets-as-sent.patch @@ -98,6 +98,3 @@ index 6e64091..254f280 100644 } ret = qemu_net_queue_deliver_iov(queue, sender, flags, iov, iovcnt); --- -1.8.0.2 - diff --git a/0192-net-add-netdev-options-to-man-page.patch b/0192-net-add-netdev-options-to-man-page.patch index e2585d5..bb3f5cb 100644 --- a/0192-net-add-netdev-options-to-man-page.patch +++ b/0192-net-add-netdev-options-to-man-page.patch @@ -76,6 +76,3 @@ index 1af4fec..1021ab7 100644 @item -net vde[,vlan=@var{n}][,name=@var{name}][,sock=@var{socketpath}] [,port=@var{n}][,group=@var{groupname}][,mode=@var{octalmode}] Connect VLAN @var{n} to PORT @var{n} of a vde switch running on host and listening for incoming connections on @var{socketpath}. Use GROUP @var{groupname} --- -1.8.0.2 - diff --git a/0193-net-clean-up-usbnet_receive.patch b/0193-net-clean-up-usbnet_receive.patch index e86c6bb..01f2463 100644 --- a/0193-net-clean-up-usbnet_receive.patch +++ b/0193-net-clean-up-usbnet_receive.patch @@ -75,6 +75,3 @@ index c84892c..0b5cb71 100644 s->in_ptr = 0; return size; } --- -1.8.0.2 - diff --git a/0194-net-fix-usbnet_receive-packet-drops.patch b/0194-net-fix-usbnet_receive-packet-drops.patch index b2c99c8..c129091 100644 --- a/0194-net-fix-usbnet_receive-packet-drops.patch +++ b/0194-net-fix-usbnet_receive-packet-drops.patch @@ -76,6 +76,3 @@ index 0b5cb71..e4a4359 100644 if (is_rndis(s)) { struct rndis_packet_msg_type *msg; --- -1.8.0.2 - diff --git a/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch b/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch index e5f9771..2a5f9bb 100644 --- a/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch +++ b/0195-net-broadcast-hub-packets-if-at-least-one-port-can-r.patch @@ -46,6 +46,3 @@ index ac157e3..650a8b4 100644 } static ssize_t net_hub_port_receive(NetClientState *nc, --- -1.8.0.2 - diff --git a/0196-net-asynchronous-send-receive-infrastructure-for-net.patch b/0196-net-asynchronous-send-receive-infrastructure-for-net.patch index e4f77f9..3f1f1fc 100644 --- a/0196-net-asynchronous-send-receive-infrastructure-for-net.patch +++ b/0196-net-asynchronous-send-receive-infrastructure-for-net.patch @@ -128,6 +128,3 @@ index c172c24..54e32f0 100644 } static NetClientInfo net_socket_info = { --- -1.8.0.2 - diff --git a/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch b/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch index c39e101..81754e5 100644 --- a/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch +++ b/0197-net-EAGAIN-handling-for-net-socket.c-UDP.patch @@ -40,6 +40,3 @@ index 54e32f0..e5e4e8d 100644 } static void net_socket_send(void *opaque) --- -1.8.0.2 - diff --git a/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch b/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch index 76ae44a..2cc4f59 100644 --- a/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch +++ b/0198-net-EAGAIN-handling-for-net-socket.c-TCP.patch @@ -92,6 +92,3 @@ index e5e4e8d..c3e55b8 100644 } static ssize_t net_socket_receive_dgram(NetClientState *nc, const uint8_t *buf, size_t size) --- -1.8.0.2 - diff --git a/0199-configure-fix-seccomp-check.patch b/0199-configure-fix-seccomp-check.patch index 020826d..dd44ae1 100644 --- a/0199-configure-fix-seccomp-check.patch +++ b/0199-configure-fix-seccomp-check.patch @@ -40,6 +40,3 @@ index dcd8e7b..9e53cc2 100755 fi fi ########################################## --- -1.8.0.2 - diff --git a/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch b/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch index d1ff74d..a746373 100644 --- a/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch +++ b/0200-configure-properly-check-if-lrt-and-lm-is-needed.patch @@ -75,6 +75,3 @@ index 9e53cc2..a1f256c 100755 fi if test "$darwin" != "yes" -a "$mingw32" != "yes" -a "$solaris" != yes -a \ --- -1.8.0.2 - diff --git a/0201-Revert-455aa1e08-and-c3767ed0eb.patch b/0201-Revert-455aa1e08-and-c3767ed0eb.patch index 00b3564..3ec2dae 100644 --- a/0201-Revert-455aa1e08-and-c3767ed0eb.patch +++ b/0201-Revert-455aa1e08-and-c3767ed0eb.patch @@ -46,6 +46,3 @@ index 767da93..10d1504 100644 return len; } } --- -1.8.0.2 - diff --git a/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch b/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch index 88569ff..a9caf4c 100644 --- a/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch +++ b/0202-qemu-char-BUGFIX-don-t-call-FD_ISSET-with-negative-f.patch @@ -54,6 +54,3 @@ index 10d1504..7f0f895 100644 qemu_chr_generic_open(chr); } --- -1.8.0.2 - diff --git a/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch b/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch index c4950ba..dd7473a 100644 --- a/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch +++ b/0203-cpu_physical_memory_write_rom-needs-to-do-TB-invalid.patch @@ -47,6 +47,3 @@ index ad175db..3fdbbde 100644 qemu_put_ram_ptr(ptr); } len -= l; --- -1.8.0.2 - diff --git a/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch b/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch index 5630073..291eba6 100644 --- a/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch +++ b/0204-arch_init.c-Improve-soundhw-help-for-non-HAS_AUDIO_C.patch @@ -38,6 +38,3 @@ index 47977de..f849f9b 100644 exit(!is_help_option(optarg)); } else { --- -1.8.0.2 - diff --git a/0205-xilinx_timer-Removed-comma-in-device-name.patch b/0205-xilinx_timer-Removed-comma-in-device-name.patch index 10b5802..d225507 100644 --- a/0205-xilinx_timer-Removed-comma-in-device-name.patch +++ b/0205-xilinx_timer-Removed-comma-in-device-name.patch @@ -49,6 +49,3 @@ index b562bd0..053ba02 100644 .parent = TYPE_SYS_BUS_DEVICE, .instance_size = sizeof(struct timerblock), .class_init = xilinx_timer_class_init, --- -1.8.0.2 - diff --git a/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch b/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch index ee2fab9..c283e89 100644 --- a/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch +++ b/0206-xilinx_timer-Send-dbg-msgs-to-stderr-not-stdout.patch @@ -51,6 +51,3 @@ index 053ba02..c02e6ca 100644 xt->regs[R_TCSR] |= TCSR_TINT; if (xt->regs[R_TCSR] & TCSR_ARHT) --- -1.8.0.2 - diff --git a/0207-xilinx.h-Error-check-when-setting-links.patch b/0207-xilinx.h-Error-check-when-setting-links.patch index 1bcbfe6..778d367 100644 --- a/0207-xilinx.h-Error-check-when-setting-links.patch +++ b/0207-xilinx.h-Error-check-when-setting-links.patch @@ -49,6 +49,3 @@ index df06a00..35d6681 100644 qdev_init_nofail(dev); sysbus_mmio_map(sysbus_from_qdev(dev), 0, base); --- -1.8.0.2 - diff --git a/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch b/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch index 7e32f7d..d966721 100644 --- a/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch +++ b/0208-xilinx_timer-Fix-a-compile-error-if-debug-enabled.patch @@ -36,6 +36,3 @@ index c02e6ca..f410487 100644 xt->regs[R_TCSR] |= TCSR_TINT; if (xt->regs[R_TCSR] & TCSR_ARHT) --- -1.8.0.2 - diff --git a/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch b/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch index 5244dfd..76b03f8 100644 --- a/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch +++ b/0209-pflash_cfi01-fix-vendor-specific-extended-query.patch @@ -44,6 +44,3 @@ index d1c7423..d56b51a 100644 return pfl; } --- -1.8.0.2 - diff --git a/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch b/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch index 8cf16da..55066fd 100644 --- a/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch +++ b/0210-MAINTAINERS-Add-entry-for-QOM-CPU.patch @@ -31,6 +31,3 @@ index 61f8b45..25733fc 100644 Device Tree M: Peter Crosthwaite M: Alexander Graf --- -1.8.0.2 - diff --git a/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch b/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch index 2af6fe3..2d235aa 100644 --- a/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch +++ b/0211-iSCSI-We-need-to-support-SG_IO-also-from-iscsi_ioctl.patch @@ -54,6 +54,3 @@ index 0b96165..ea16609 100644 default: return -1; } --- -1.8.0.2 - diff --git a/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch b/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch index 5236629..171153a 100644 --- a/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch +++ b/0212-iSCSI-We-dont-need-to-explicitely-call-qemu_notify_e.patch @@ -34,6 +34,3 @@ index ea16609..fb001b9 100644 iscsilun->events = ev; } --- -1.8.0.2 - diff --git a/0213-scsi-disk-introduce-check_lba_range.patch b/0213-scsi-disk-introduce-check_lba_range.patch index 52bac3e..db8f050 100644 --- a/0213-scsi-disk-introduce-check_lba_range.patch +++ b/0213-scsi-disk-introduce-check_lba_range.patch @@ -77,6 +77,3 @@ index 1585683..3959603 100644 goto illegal_lba; } r->sector = r->req.cmd.lba * (s->qdev.blocksize / 512); --- -1.8.0.2 - diff --git a/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch b/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch index 8d7d358..f55ccd7 100644 --- a/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch +++ b/0214-scsi-disk-fix-check-for-out-of-range-LBA.patch @@ -33,6 +33,3 @@ index 3959603..d621852 100644 } typedef struct UnmapCBData { --- -1.8.0.2 - diff --git a/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch b/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch index 6465ed5..659b920 100644 --- a/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch +++ b/0215-SCSI-Standard-INQUIRY-data-should-report-HiSup-flag-.patch @@ -38,6 +38,3 @@ index d621852..7ed1bde 100644 if (buflen > 36) { outbuf[4] = buflen - 5; /* Additional Length = (Len - 1) - 4 */ --- -1.8.0.2 - diff --git a/0216-audio-Fix-warning-from-static-code-analysis.patch b/0216-audio-Fix-warning-from-static-code-analysis.patch index 838551d..dfe9886 100644 --- a/0216-audio-Fix-warning-from-static-code-analysis.patch +++ b/0216-audio-Fix-warning-from-static-code-analysis.patch @@ -42,6 +42,3 @@ index 519432a..16f7880 100644 if (audio_bug (AUDIO_FUNC, audio_validate_settings (as))) { audio_print_settings (as); goto fail; --- -1.8.0.2 - diff --git a/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch b/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch index 7daf257..922fff9 100644 --- a/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch +++ b/0217-qemu-ga-Remove-unreachable-code-after-g_error.patch @@ -35,6 +35,3 @@ index 7623079..b747470 100644 } return true; --- -1.8.0.2 - diff --git a/0218-qemu-sockets-Fix-potential-memory-leak.patch b/0218-qemu-sockets-Fix-potential-memory-leak.patch index e3693c2..f48ad0b 100644 --- a/0218-qemu-sockets-Fix-potential-memory-leak.patch +++ b/0218-qemu-sockets-Fix-potential-memory-leak.patch @@ -27,6 +27,3 @@ index 361d890..037775b 100644 } /* create socket */ --- -1.8.0.2 - diff --git a/0219-cadence_uart-Fix-buffer-overflow.patch b/0219-cadence_uart-Fix-buffer-overflow.patch index 8e22ca1..027dc64 100644 --- a/0219-cadence_uart-Fix-buffer-overflow.patch +++ b/0219-cadence_uart-Fix-buffer-overflow.patch @@ -30,6 +30,3 @@ index d98e531..f8afc4e 100644 return 0; } else if (offset == R_TX_RX) { uart_read_rx_fifo(s, &c); --- -1.8.0.2 - diff --git a/0220-lm4549-Fix-buffer-overflow.patch b/0220-lm4549-Fix-buffer-overflow.patch index bea3118..26e834c 100644 --- a/0220-lm4549-Fix-buffer-overflow.patch +++ b/0220-lm4549-Fix-buffer-overflow.patch @@ -42,6 +42,3 @@ index 80b3ec4..e0137d5 100644 DPRINTF("write_sample Buffer full\n"); return 0; } --- -1.8.0.2 - diff --git a/0221-ioh3420-Remove-unreachable-code.patch b/0221-ioh3420-Remove-unreachable-code.patch index 92346da..99413a9 100644 --- a/0221-ioh3420-Remove-unreachable-code.patch +++ b/0221-ioh3420-Remove-unreachable-code.patch @@ -28,6 +28,3 @@ index 94a537c..4d31473 100644 } pcie_cap_root_init(d); rc = pcie_aer_init(d, IOH_EP_AER_OFFSET); --- -1.8.0.2 - diff --git a/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch b/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch index f0204a8..aad88ee 100644 --- a/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch +++ b/0222-pflash_cfi01-Fix-warning-caused-by-unreachable-code.patch @@ -60,6 +60,3 @@ index d56b51a..ac503cf 100644 default: /* Should never happen */ DPRINTF("%s: invalid write state\n", __func__); --- -1.8.0.2 - diff --git a/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch b/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch index 71d0d75..c6ef610 100644 --- a/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch +++ b/0223-curses-don-t-initialize-curses-when-qemu-is-daemoniz.patch @@ -85,6 +85,3 @@ index c681c33..49d7a52 100644 break; #endif #if defined(CONFIG_SDL) --- -1.8.0.2 - diff --git a/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch b/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch index 78c8155..b95d4ee 100644 --- a/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch +++ b/0224-TextConsole-saturate-escape-parameter-in-TTY_STATE_C.patch @@ -31,6 +31,3 @@ index 8b5e21d..314f5a5 100644 } } else { if (s->nb_esc_params < MAX_ESC_PARAMS) --- -1.8.0.2 - diff --git a/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch b/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch index 1c36efc..57d4f6c 100644 --- a/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch +++ b/0225-linux-user-Remove-redundant-null-check-and-replace-f.patch @@ -37,6 +37,3 @@ index 6257a04..471d060 100644 return ret; } --- -1.8.0.2 - diff --git a/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch b/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch index a227db4..49d90a3 100644 --- a/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch +++ b/0226-net-socket-Fix-compiler-warning-regression-for-MinGW.patch @@ -63,6 +63,3 @@ index e5c2bcd..15d9e4e 100644 #endif /* Error handling. */ --- -1.8.0.2 - diff --git a/0227-w32-Always-use-standard-instead-of-native-format-str.patch b/0227-w32-Always-use-standard-instead-of-native-format-str.patch index 16b1f5a..5ef8430 100644 --- a/0227-w32-Always-use-standard-instead-of-native-format-str.patch +++ b/0227-w32-Always-use-standard-instead-of-native-format-str.patch @@ -47,6 +47,3 @@ index 07ba1f8..c734a71 100644 # endif #if defined(_WIN32) #define GCC_WEAK __attribute__((weak)) --- -1.8.0.2 - diff --git a/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch b/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch index 3895884..64815ea 100644 --- a/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch +++ b/0228-w32-Add-implementation-of-gmtime_r-localtime_r.patch @@ -76,6 +76,3 @@ index b3e451b..8ba466d 100644 static inline void os_setup_signal_handling(void) {} static inline void os_daemonize(void) {} static inline void os_setup_post(void) {} --- -1.8.0.2 - diff --git a/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch b/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch index d44d264..19c876e 100644 --- a/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch +++ b/0229-blockdev-preserve-readonly-and-snapshot-states-acros.patch @@ -32,6 +32,3 @@ index 4a5266e..9ba3503 100644 dinfo->devaddr = devaddr; dinfo->type = type; dinfo->bus = bus_id; --- -1.8.0.2 - diff --git a/0230-block-correctly-set-the-keep_read_only-flag.patch b/0230-block-correctly-set-the-keep_read_only-flag.patch index 33605d9..95bde04 100644 --- a/0230-block-correctly-set-the-keep_read_only-flag.patch +++ b/0230-block-correctly-set-the-keep_read_only-flag.patch @@ -99,6 +99,3 @@ index 2e2be11..4d919c2 100644 #define BDRV_O_CACHE_MASK (BDRV_O_NOCACHE | BDRV_O_CACHE_WB | BDRV_O_NO_FLUSH) --- -1.8.0.2 - diff --git a/0231-configure-Allow-builds-without-any-system-or-user-em.patch b/0231-configure-Allow-builds-without-any-system-or-user-em.patch index 47ca6f3..e7129bf 100644 --- a/0231-configure-Allow-builds-without-any-system-or-user-em.patch +++ b/0231-configure-Allow-builds-without-any-system-or-user-em.patch @@ -54,6 +54,3 @@ index a1f256c..f528146 100755 # see if system emulation was really requested case " $target_list " in *"-softmmu "*) softmmu=yes --- -1.8.0.2 - diff --git a/0232-Refactor-inet_connect_opts-function.patch b/0232-Refactor-inet_connect_opts-function.patch index b0a1b17..8490f3a 100644 --- a/0232-Refactor-inet_connect_opts-function.patch +++ b/0232-Refactor-inet_connect_opts-function.patch @@ -202,6 +202,3 @@ index 037775b..22797bf 100644 } int inet_dgram_opts(QemuOpts *opts) --- -1.8.0.2 - diff --git a/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch b/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch index 691792d..5ae4a00 100644 --- a/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch +++ b/0233-Separate-inet_connect-into-inet_connect-blocking-and.patch @@ -183,6 +183,3 @@ index 385e345..01b2daf 100644 if (-1 == vs->lsock) { g_free(vs->display); vs->display = NULL; --- -1.8.0.2 - diff --git a/0234-Fix-address-handling-in-inet_nonblocking_connect.patch b/0234-Fix-address-handling-in-inet_nonblocking_connect.patch index c089ea3..72eb695 100644 --- a/0234-Fix-address-handling-in-inet_nonblocking_connect.patch +++ b/0234-Fix-address-handling-in-inet_nonblocking_connect.patch @@ -364,6 +364,3 @@ index 80696aa..3e8aee9 100644 int inet_dgram_opts(QemuOpts *opts); const char *inet_strfamily(int family); --- -1.8.0.2 - diff --git a/0235-Clear-handler-only-for-valid-fd.patch b/0235-Clear-handler-only-for-valid-fd.patch index cf1ef37..18e8ac7 100644 --- a/0235-Clear-handler-only-for-valid-fd.patch +++ b/0235-Clear-handler-only-for-valid-fd.patch @@ -27,6 +27,3 @@ index 1edeec5..22a05c4 100644 if (s->file) { DPRINTF("closing file\n"); --- -1.8.0.2 - diff --git a/0236-pl190-fix-read-of-VECTADDR.patch b/0236-pl190-fix-read-of-VECTADDR.patch index c4b99ae..f9072f8 100644 --- a/0236-pl190-fix-read-of-VECTADDR.patch +++ b/0236-pl190-fix-read-of-VECTADDR.patch @@ -46,6 +46,3 @@ index cb50afb..7332f4d 100644 /* Reading this value with no pending interrupts is undefined. We return the default address. */ if (i == PL190_NUM_PRIO) --- -1.8.0.2 - diff --git a/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch b/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch index faf59ef..56ea7e2 100644 --- a/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch +++ b/0237-hw-armv7m_nvic-Correctly-register-GIC-region-when-se.patch @@ -35,6 +35,3 @@ index 6a0832e..5c09116 100644 /* Map the whole thing into system memory at the location required * by the v7M architecture. */ --- -1.8.0.2 - diff --git a/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch b/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch index 4161dc7..088dcc5 100644 --- a/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch +++ b/0238-Versatile-Express-Fix-NOR-flash-0-address-and-remove.patch @@ -51,6 +51,3 @@ index b615844..454c2bb 100644 /* VE_NORFLASH1: not modelled */ sram_size = 0x2000000; --- -1.8.0.2 - diff --git a/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch b/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch index 30e7bcd..856d75b 100644 --- a/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch +++ b/0239-i386-kvm-bit-10-of-CPUID-8000_0001-.EDX-is-reserved.patch @@ -31,6 +31,3 @@ index 6790180..acb9369 100644 break; } break; --- -1.8.0.2 - diff --git a/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch b/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch index c94ba5d..31a8f10 100644 --- a/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch +++ b/0240-fpu-softfloat.c-Return-correctly-signed-values-from-.patch @@ -39,6 +39,3 @@ index b29256a..91497e8 100644 } } --- -1.8.0.2 - diff --git a/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch b/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch index 7950b22..8653846 100644 --- a/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch +++ b/0241-pseries-Don-t-test-for-MSR_PR-for-hypercalls-under-K.patch @@ -61,6 +61,3 @@ index abd847f..38098f7 100644 if ((opcode <= MAX_HCALL_OPCODE) && ((opcode & 0x3) == 0)) { spapr_hcall_fn fn = papr_hypercall_table[opcode / 4]; --- -1.8.0.2 - diff --git a/0242-update-VERSION-for-v1.2.1.patch b/0242-update-VERSION-for-v1.2.1.patch index c68a13d..9bf36cc 100644 --- a/0242-update-VERSION-for-v1.2.1.patch +++ b/0242-update-VERSION-for-v1.2.1.patch @@ -15,6 +15,3 @@ index 26aaba0..6085e94 100644 @@ -1 +1 @@ -1.2.0 +1.2.1 --- -1.8.0.2 - diff --git a/0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch b/0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch index 2ba6e0e..dc0ed3e 100644 --- a/0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch +++ b/0301-configure-Fix-CONFIG_QEMU_HELPERDIR-generation.patch @@ -33,6 +33,3 @@ index f528146..2de0900 100755 echo "ARCH=$ARCH" >> $config_host_mak if test "$debug_tcg" = "yes" ; then --- -1.8.0.2 - diff --git a/0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch b/0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch index 31c7a78..6345999 100644 --- a/0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch +++ b/0302-fix-CONFIG_QEMU_HELPERDIR-generation-again.patch @@ -35,6 +35,3 @@ index 2de0900..4d11fe3 100755 echo "ARCH=$ARCH" >> $config_host_mak if test "$debug_tcg" = "yes" ; then --- -1.8.0.2 - diff --git a/0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch b/0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch index c0c468c..b31d4b1 100644 --- a/0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch +++ b/0303-ui-vnc-Only-report-use-TIGHT_PNG-encoding-if-enabled.patch @@ -37,6 +37,3 @@ index 01b2daf..18ec101 100644 case VNC_ENCODING_ZLIB: vs->features |= VNC_FEATURE_ZLIB_MASK; vs->vnc_encoding = enc; --- -1.8.0.2 - diff --git a/0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch b/0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch index 66871c6..b14a049 100644 --- a/0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch +++ b/0304-vnc-fix-info-vnc-with-vnc-.-reverse-on.patch @@ -49,6 +49,3 @@ index 18ec101..66ae930 100644 if (getsockname(vnc_display->lsock, (struct sockaddr *)&sa, &salen) == -1) { error_set(errp, QERR_UNDEFINED_ERROR); --- -1.8.0.2 - diff --git a/0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch b/0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch index 962838d..880e7eb 100644 --- a/0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch +++ b/0305-uhci-Raise-interrupt-when-requested-even-for-non-act.patch @@ -46,6 +46,3 @@ index cdc8bc3..c2f08e3 100644 async = uhci_async_find_td(s, addr, td); if (async) { --- -1.8.0.2 - diff --git a/0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch b/0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch index 15c9c57..52ee853 100644 --- a/0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch +++ b/0306-hw-qxl-qxl_dirty_surfaces-use-uintptr_t.patch @@ -36,6 +36,3 @@ index 59bf822..89e9ad9 100644 /* dirty the off-screen surfaces */ for (i = 0; i < NUM_SURFACES; i++) { --- -1.8.0.2 - diff --git a/0307-qxl-always-update-displaysurface-on-resize.patch b/0307-qxl-always-update-displaysurface-on-resize.patch index c981d7e..f719f87 100644 --- a/0307-qxl-always-update-displaysurface-on-resize.patch +++ b/0307-qxl-always-update-displaysurface-on-resize.patch @@ -42,6 +42,3 @@ index e2e3fe2..b66c168 100644 if (qxl->guest_primary.qxl_stride > 0) { qemu_free_displaysurface(vga->ds); qemu_create_displaysurface_from(qxl->guest_primary.surface.width, --- -1.8.0.2 - diff --git a/0308-rtc-fix-overflow-in-mktimegm.patch b/0308-rtc-fix-overflow-in-mktimegm.patch index ca4541b..91254b1 100644 --- a/0308-rtc-fix-overflow-in-mktimegm.patch +++ b/0308-rtc-fix-overflow-in-mktimegm.patch @@ -95,6 +95,3 @@ index f23ac3a..2b9aa63 100644 qtest_add_func("/rtc/fuzz-registers", fuzz_registers); ret = g_test_run(); --- -1.8.0.2 - diff --git a/0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch b/0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch index b7021cc..262bc39 100644 --- a/0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch +++ b/0309-hw-Fix-return-value-check-for-bdrv_read-bdrv_write.patch @@ -196,6 +196,3 @@ index ec26407..297580a 100644 } } --- -1.8.0.2 - diff --git a/0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch b/0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch index 6508c64..661749f 100644 --- a/0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch +++ b/0310-target-i386-Allow-tsc-frequency-to-be-larger-then-2..patch @@ -28,6 +28,3 @@ index 423e009..cbc172e 100644 int64_t value; visit_type_int(v, &value, name, errp); --- -1.8.0.2 - diff --git a/0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch b/0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch index dd3a367..327854c 100644 --- a/0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch +++ b/0311-e1000-drop-check_rxov-always-treat-RX-ring-with-RDH-.patch @@ -60,6 +60,3 @@ index ec3a7c4..4d4ac32 100644 s->mac_reg[index] = val & 0xffff; if (e1000_has_rxbufs(s, 1)) { qemu_flush_queued_packets(&s->nic->nc); --- -1.8.0.2 - diff --git a/0312-memory-fix-rendering-of-a-region-obscured-by-another.patch b/0312-memory-fix-rendering-of-a-region-obscured-by-another.patch index 8e08900..e423b4c 100644 --- a/0312-memory-fix-rendering-of-a-region-obscured-by-another.patch +++ b/0312-memory-fix-rendering-of-a-region-obscured-by-another.patch @@ -52,6 +52,3 @@ index d528d1f..7144020 100644 } if (int128_nz(remain)) { fr.mr = mr; --- -1.8.0.2 - diff --git a/0313-s390x-fix-initrd-in-virtio-machine.patch b/0313-s390x-fix-initrd-in-virtio-machine.patch index 25f40a8..4cf28c7 100644 --- a/0313-s390x-fix-initrd-in-virtio-machine.patch +++ b/0313-s390x-fix-initrd-in-virtio-machine.patch @@ -32,6 +32,3 @@ index 47eed35..12ae612 100644 } if (rom_ptr(KERN_PARM_AREA)) { --- -1.8.0.2 - diff --git a/0314-PPC-Bamboo-Fix-memory-size-DT-property.patch b/0314-PPC-Bamboo-Fix-memory-size-DT-property.patch index a40ac4c..68dbe62 100644 --- a/0314-PPC-Bamboo-Fix-memory-size-DT-property.patch +++ b/0314-PPC-Bamboo-Fix-memory-size-DT-property.patch @@ -28,6 +28,3 @@ index c198071..9286438 100644 char *filename; int fdt_size; void *fdt; --- -1.8.0.2 - diff --git a/0315-target-sparc64-disable-VGA-cirrus.patch b/0315-target-sparc64-disable-VGA-cirrus.patch index 55a8715..e69a856 100644 --- a/0315-target-sparc64-disable-VGA-cirrus.patch +++ b/0315-target-sparc64-disable-VGA-cirrus.patch @@ -32,6 +32,3 @@ index c9a36c1..03e8b42 100644 CONFIG_SERIAL=y CONFIG_PARALLEL=y CONFIG_PCKBD=y --- -1.8.0.2 - diff --git a/0316-xhci-fix-usb-name-in-caps.patch b/0316-xhci-fix-usb-name-in-caps.patch index 1f3e668..217e882 100644 --- a/0316-xhci-fix-usb-name-in-caps.patch +++ b/0316-xhci-fix-usb-name-in-caps.patch @@ -35,6 +35,3 @@ index 333df59..30cb0d5 100644 break; case 0x38: /* Supported Protocol:08 */ ret = 0x00000000 | (USB2_PORTS+1) | (USB3_PORTS<<8); --- -1.8.0.2 - diff --git a/0317-tools-initialize-main-loop-before-block-layer.patch b/0317-tools-initialize-main-loop-before-block-layer.patch index 178620a..1891c33 100644 --- a/0317-tools-initialize-main-loop-before-block-layer.patch +++ b/0317-tools-initialize-main-loop-before-block-layer.patch @@ -52,6 +52,3 @@ index d0f4fb7..1ad7d3a 100644 /* initialize commands */ quit_init(); --- -1.8.0.2 - diff --git a/0318-m68k-Return-semihosting-errno-values-correctly.patch b/0318-m68k-Return-semihosting-errno-values-correctly.patch index 397a8a3..a3b8a01 100644 --- a/0318-m68k-Return-semihosting-errno-values-correctly.patch +++ b/0318-m68k-Return-semihosting-errno-values-correctly.patch @@ -34,6 +34,3 @@ index 3bb30cd..fed44ea 100644 } #define ARG(n) \ --- -1.8.0.2 - diff --git a/0319-nbd-fixes-to-read-only-handling.patch b/0319-nbd-fixes-to-read-only-handling.patch index fdefe80..81e0ffd 100644 --- a/0319-nbd-fixes-to-read-only-handling.patch +++ b/0319-nbd-fixes-to-read-only-handling.patch @@ -57,6 +57,3 @@ index 206f75c..19f6cd8 100644 TRACE("Negotiation ended"); return 0; --- -1.8.0.2 - diff --git a/0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch b/0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch index 841a1d5..a8119d1 100644 --- a/0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch +++ b/0320-mips-malta-fix-CBUS-UART-interrupt-pin.patch @@ -36,6 +36,3 @@ index ad23f26..9289a28 100644 /* Load firmware in flash / BIOS. */ dinfo = drive_get(IF_PFLASH, 0, fl_idx); --- -1.8.0.2 - diff --git a/0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch b/0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch index 31f19ff..b6a87dd 100644 --- a/0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch +++ b/0321-target-mips-fix-wrong-microMIPS-opcode-encoding.patch @@ -33,6 +33,3 @@ index 4e04e97..49907bb 100644 /* bits 15..12 for 0x2c */ SEB = 0x2, --- -1.8.0.2 - diff --git a/0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch b/0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch index a181d1a..0544bce 100644 --- a/0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch +++ b/0322-tcg-arm-fix-TLB-access-in-qemu-ld-st-ops.patch @@ -164,6 +164,3 @@ index aed3b53..fbad716 100644 switch (opc) { case 0: --- -1.8.0.2 - diff --git a/0323-tcg-arm-fix-cross-endian-qemu_st16.patch b/0323-tcg-arm-fix-cross-endian-qemu_st16.patch index a4ba0d9..94e536d 100644 --- a/0323-tcg-arm-fix-cross-endian-qemu_st16.patch +++ b/0323-tcg-arm-fix-cross-endian-qemu_st16.patch @@ -72,6 +72,3 @@ index fbad716..83aa856 100644 tcg_out_st16_8(s, COND_AL, TCG_REG_R0, addr_reg, 0); } else { tcg_out_st16_8(s, COND_AL, data_reg, addr_reg, 0); --- -1.8.0.2 - diff --git a/0324-target-openrisc-remove-conflicting-definitions-from-.patch b/0324-target-openrisc-remove-conflicting-definitions-from-.patch index fc77240..ad5930c 100644 --- a/0324-target-openrisc-remove-conflicting-definitions-from-.patch +++ b/0324-target-openrisc-remove-conflicting-definitions-from-.patch @@ -47,6 +47,3 @@ index de21a87..244788c 100644 /* Unit presece register */ enum { UPR_UP = (1 << 0), --- -1.8.0.2 - diff --git a/0325-configure-avoid-compiler-warning-in-pipe2-detection.patch b/0325-configure-avoid-compiler-warning-in-pipe2-detection.patch index fe952fa..8803ca3 100644 --- a/0325-configure-avoid-compiler-warning-in-pipe2-detection.patch +++ b/0325-configure-avoid-compiler-warning-in-pipe2-detection.patch @@ -33,6 +33,3 @@ index 4d11fe3..9129433 100755 } EOF if compile_prog "" "" ; then --- -1.8.0.2 - diff --git a/0326-qcow2-Fix-refcount-table-size-calculation.patch b/0326-qcow2-Fix-refcount-table-size-calculation.patch index ec32c1a..5af0b5e 100644 --- a/0326-qcow2-Fix-refcount-table-size-calculation.patch +++ b/0326-qcow2-Fix-refcount-table-size-calculation.patch @@ -31,6 +31,3 @@ index 5e3f915..96224d1 100644 blocks_clusters = 1 + ((table_clusters + refcount_block_clusters - 1) / refcount_block_clusters); --- -1.8.0.2 - diff --git a/0327-tci-Fix-type-of-tci_read_label.patch b/0327-tci-Fix-type-of-tci_read_label.patch index 82dbb6b..469304a 100644 --- a/0327-tci-Fix-type-of-tci_read_label.patch +++ b/0327-tci-Fix-type-of-tci_read_label.patch @@ -34,6 +34,3 @@ index a4f7b78..bb456d2 100644 assert(label != 0); return label; } --- -1.8.0.2 - diff --git a/0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch b/0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch index 7e864bf..5a542aa 100644 --- a/0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch +++ b/0328-block-Fix-regression-for-MinGW-assertion-caused-by-s.patch @@ -36,6 +36,3 @@ index 4c0e7f5..e49a999 100644 if (flags & BDRV_O_SNAPSHOT) { BlockDriverState *bs1; --- -1.8.0.2 - diff --git a/0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch b/0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch index 2faa00e..315e226 100644 --- a/0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch +++ b/0329-qom-dynamic_cast-of-NULL-is-always-NULL.patch @@ -39,6 +39,3 @@ index e3e9242..f33e84d 100644 fprintf(stderr, "Object %p is not an instance of type %s\n", obj, typename); abort(); --- -1.8.0.2 - diff --git a/0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch b/0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch index b7a710f..49cc9ac 100644 --- a/0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch +++ b/0330-hmp-do-not-crash-on-invalid-SCSI-hotplug.patch @@ -41,6 +41,3 @@ index e7fb780..0ca5546 100644 /* * drive_init() tries to find a default for dinfo->unit. Doesn't --- -1.8.0.2 - diff --git a/0331-PPC-Fix-missing-TRACE-exception.patch b/0331-PPC-Fix-missing-TRACE-exception.patch index da3348a..ee2ce29 100644 --- a/0331-PPC-Fix-missing-TRACE-exception.patch +++ b/0331-PPC-Fix-missing-TRACE-exception.patch @@ -80,6 +80,3 @@ index ac915cc..3c49ca9 100644 target_ulong tmp = ctx->nip; ctx->nip = dest; gen_exception(ctx, POWERPC_EXCP_TRACE); --- -1.8.0.2 - diff --git a/0332-qom-fix-refcount-of-non-heap-allocated-objects.patch b/0332-qom-fix-refcount-of-non-heap-allocated-objects.patch index 893a667..bbc9585 100644 --- a/0332-qom-fix-refcount-of-non-heap-allocated-objects.patch +++ b/0332-qom-fix-refcount-of-non-heap-allocated-objects.patch @@ -45,6 +45,3 @@ index f33e84d..5499318 100644 return obj; } --- -1.8.0.2 - diff --git a/0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch b/0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch index f808218..93a5ce7 100644 --- a/0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch +++ b/0333-qapi-handle-visitor-type_size-in-QapiDeallocVisitor.patch @@ -52,6 +52,3 @@ index a154523..a07b171 100644 QTAILQ_INIT(&v->stack); --- -1.8.0.2 - diff --git a/0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch b/0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch index f80ef25..3ac013a 100644 --- a/0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch +++ b/0334-qapi-fix-qapi_dealloc_type_size-parameter-type.patch @@ -31,6 +31,3 @@ index a07b171..75214e7 100644 Error **errp) { } --- -1.8.0.2 - diff --git a/0335-iscsi-fix-segfault-in-url-parsing.patch b/0335-iscsi-fix-segfault-in-url-parsing.patch index 3d6a3af..325a1a8 100644 --- a/0335-iscsi-fix-segfault-in-url-parsing.patch +++ b/0335-iscsi-fix-segfault-in-url-parsing.patch @@ -29,6 +29,3 @@ index fb001b9..817196a 100644 ret = -EINVAL; goto out; } --- -1.8.0.2 - diff --git a/0336-iscsi-fix-deadlock-during-login.patch b/0336-iscsi-fix-deadlock-during-login.patch index 2f7d425..ae9d69a 100644 --- a/0336-iscsi-fix-deadlock-during-login.patch +++ b/0336-iscsi-fix-deadlock-during-login.patch @@ -328,6 +328,3 @@ index 817196a..1836c71 100644 if (ret) { if (iscsi != NULL) { --- -1.8.0.2 - diff --git a/0337-iscsi-do-not-assume-device-is-zero-initialized.patch b/0337-iscsi-do-not-assume-device-is-zero-initialized.patch index 69e2fe3..f4a8177 100644 --- a/0337-iscsi-do-not-assume-device-is-zero-initialized.patch +++ b/0337-iscsi-do-not-assume-device-is-zero-initialized.patch @@ -39,6 +39,3 @@ index 1836c71..11fd37e 100644 #ifdef __linux__ .bdrv_ioctl = iscsi_ioctl, --- -1.8.0.2 - diff --git a/0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch b/0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch index 8f5bbb3..f07e36b 100644 --- a/0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch +++ b/0338-virtio-scsi-Fix-some-endian-bugs-with-virtio-scsi.patch @@ -52,6 +52,3 @@ index c1b47a8..c6d5290 100644 } virtio_scsi_complete_req(req); } --- -1.8.0.2 - diff --git a/0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch b/0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch index e97c7ca..ecbc7d4 100644 --- a/0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch +++ b/0339-virtio-scsi-Fix-subtle-guest-endian-bug.patch @@ -41,6 +41,3 @@ index c6d5290..5fcbdd8 100644 stl_raw(&scsiconf->max_lun, VIRTIO_SCSI_MAX_LUN); } --- -1.8.0.2 - diff --git a/0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch b/0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch index 28e3e1d..8d970f4 100644 --- a/0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch +++ b/0340-qxl-reload-memslots-after-migration-when-qxl-is-in-U.patch @@ -31,6 +31,3 @@ index 89e9ad9..e7e9dd9 100644 break; case QXL_MODE_VGA: qxl_create_memslots(d); --- -1.8.0.2 - diff --git a/0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch b/0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch index 6d143d5..b984928 100644 --- a/0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch +++ b/0341-usb-fail-usbdevice_create-when-there-is-no-USB-bus.patch @@ -42,6 +42,3 @@ index b649360..1f73a52 100644 if (!f->usbdevice_init) { if (*params) { error_report("usbdevice %s accepts no params", driver); --- -1.8.0.2 - diff --git a/0342-stream-fix-ratelimit_set_speed.patch b/0342-stream-fix-ratelimit_set_speed.patch index 17ba4d2..c072227 100644 --- a/0342-stream-fix-ratelimit_set_speed.patch +++ b/0342-stream-fix-ratelimit_set_speed.patch @@ -28,6 +28,3 @@ index c6ac281..d1610f1 100644 } #endif --- -1.8.0.2 - diff --git a/0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch b/0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch index ee5993c..203027d 100644 --- a/0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch +++ b/0343-e1000-Discard-packets-that-are-too-long-if-SBP-and-L.patch @@ -44,6 +44,3 @@ index 4d4ac32..b1d8508 100644 if (!receive_filter(s, buf, size)) return size; --- -1.8.0.2 - diff --git a/0401-update-VERSION-for-v1.2.2.patch b/0401-update-VERSION-for-v1.2.2.patch index 543a55f..0fde5c3 100644 --- a/0401-update-VERSION-for-v1.2.2.patch +++ b/0401-update-VERSION-for-v1.2.2.patch @@ -15,6 +15,3 @@ index 6085e94..23aa839 100644 @@ -1 +1 @@ -1.2.1 +1.2.2 --- -1.8.0.2 - diff --git a/0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch b/0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch index d497b3d..7f45cd7 100644 --- a/0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch +++ b/0402-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch @@ -52,6 +52,3 @@ index b082bae..a1fdf88 100644 } else if (size > 0) { if (s->do_telnetopt) tcp_chr_process_IAC_bytes(chr, s, buf, &size); --- -1.8.0.2 - diff --git a/0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch b/0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch index e8c7283..1273bc9 100644 --- a/0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch +++ b/0403-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch @@ -957,6 +957,3 @@ index fbfab4e..4ab5b69 100644 qemu_chr_fe_set_echo(chr, true); inbuf = g_string_new(""); --- -1.8.0.2 - diff --git a/0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch b/0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch index 4bb82d7..6f593d6 100644 --- a/0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch +++ b/0404-iohandlers-Add-enable-disable_write_fd_handler-funct.patch @@ -72,6 +72,3 @@ index dce1cd9..eb31273 100644 /** * qemu_set_fd_handler2: Register a file descriptor with the main loop * --- -1.8.0.2 - diff --git a/0405-char-Add-framework-for-a-write-unblocked-callback.patch b/0405-char-Add-framework-for-a-write-unblocked-callback.patch index 8b263c8..fc245e9 100644 --- a/0405-char-Add-framework-for-a-write-unblocked-callback.patch +++ b/0405-char-Add-framework-for-a-write-unblocked-callback.patch @@ -57,6 +57,3 @@ index dfa8c2d..b5e23a4 100644 QTAILQ_ENTRY(CharDriverState) next; }; --- -1.8.0.2 - diff --git a/0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch b/0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch index 892c799..823204e 100644 --- a/0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch +++ b/0406-char-Update-send_all-to-handle-nonblocking-chardev-w.patch @@ -168,6 +168,3 @@ index 3e8aee9..a537d86 100644 /* callback function for nonblocking connect * valid fd on success, negative error code on failure --- -1.8.0.2 - diff --git a/0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch b/0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch index 4d8e62f..a4718cf 100644 --- a/0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch +++ b/0407-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch @@ -77,6 +77,3 @@ index b46cc97..9f8608a 100644 if (is_listen) { s->listen_fd = fd; --- -1.8.0.2 - diff --git a/0408-char-Throttle-when-host-connection-is-down.patch b/0408-char-Throttle-when-host-connection-is-down.patch index 3fae4db..6050547 100644 --- a/0408-char-Throttle-when-host-connection-is-down.patch +++ b/0408-char-Throttle-when-host-connection-is-down.patch @@ -52,6 +52,3 @@ index 9f8608a..bfc94a5 100644 } return ret; } else { --- -1.8.0.2 - diff --git a/0409-virtio-console-Enable-port-throttling-when-chardev-i.patch b/0409-virtio-console-Enable-port-throttling-when-chardev-i.patch index 7927239..c897d42 100644 --- a/0409-virtio-console-Enable-port-throttling-when-chardev-i.patch +++ b/0409-virtio-console-Enable-port-throttling-when-chardev-i.patch @@ -45,6 +45,3 @@ index 066590c..2b5e515 100644 }; static int virtconsole_initfn(VirtIOSerialPort *port) --- -1.8.0.2 - diff --git a/0410-spice-qemu-char.c-add-throttling.patch b/0410-spice-qemu-char.c-add-throttling.patch index b25ca3a..c11cb88 100644 --- a/0410-spice-qemu-char.c-add-throttling.patch +++ b/0410-spice-qemu-char.c-add-throttling.patch @@ -130,6 +130,3 @@ index 09aa22d..fba2bfb 100644 #if SPICE_SERVER_VERSION < 0x000901 /* See comment in vmc_state() */ --- -1.8.0.2 - diff --git a/0411-spice-qemu-char.c-remove-intermediate-buffer.patch b/0411-spice-qemu-char.c-remove-intermediate-buffer.patch index 57cb8cc..8b0cb95 100644 --- a/0411-spice-qemu-char.c-remove-intermediate-buffer.patch +++ b/0411-spice-qemu-char.c-remove-intermediate-buffer.patch @@ -68,6 +68,3 @@ index fba2bfb..ef44bc0 100644 s->chr->write_blocked = true; /* We'll get passed in the unconsumed data with the next call */ s->datalen = 0; --- -1.8.0.2 - diff --git a/0412-usb-redir-Add-flow-control-support.patch b/0412-usb-redir-Add-flow-control-support.patch index c38c93a..19f37cb 100644 --- a/0412-usb-redir-Add-flow-control-support.patch +++ b/0412-usb-redir-Add-flow-control-support.patch @@ -57,6 +57,3 @@ index 8b22c80..b7c7f1e 100644 }; /* --- -1.8.0.2 - diff --git a/0413-virtio-serial-bus-replay-guest_open-on-migration.patch b/0413-virtio-serial-bus-replay-guest_open-on-migration.patch index 6beedd2..9f4e8a0 100644 --- a/0413-virtio-serial-bus-replay-guest_open-on-migration.patch +++ b/0413-virtio-serial-bus-replay-guest_open-on-migration.patch @@ -46,6 +46,3 @@ index 82073f5..18c2ed3 100644 host_connected = qemu_get_byte(f); if (host_connected != port->host_connected) { /* --- -1.8.0.2 - diff --git a/0414-char-Disable-write-callback-if-throttled-chardev-is-.patch b/0414-char-Disable-write-callback-if-throttled-chardev-is-.patch index c475f3a..6a74b30 100644 --- a/0414-char-Disable-write-callback-if-throttled-chardev-is-.patch +++ b/0414-char-Disable-write-callback-if-throttled-chardev-is-.patch @@ -31,6 +31,3 @@ index bfc94a5..67a6d73 100644 handlers = &null_handlers; } s->chr_can_read = handlers->fd_can_read; --- -1.8.0.2 - diff --git a/0501-qxl-disallow-unknown-revisions.patch b/0501-qxl-disallow-unknown-revisions.patch index c5e1406..06c01ab 100644 --- a/0501-qxl-disallow-unknown-revisions.patch +++ b/0501-qxl-disallow-unknown-revisions.patch @@ -26,6 +26,3 @@ index e7e9dd9..20e844f 100644 } pci_set_byte(&config[PCI_REVISION_ID], pci_device_rev); --- -1.8.0.2 - diff --git a/0502-spice-make-number-of-surfaces-runtime-configurable.patch b/0502-spice-make-number-of-surfaces-runtime-configurable.patch index 3065257..850e627 100644 --- a/0502-spice-make-number-of-surfaces-runtime-configurable.patch +++ b/0502-spice-make-number-of-surfaces-runtime-configurable.patch @@ -196,6 +196,3 @@ index bcff114..512ab78 100644 QXLRect dirty; int notify; --- -1.8.0.2 - diff --git a/0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch b/0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch index 65bf21b..40b3fa1 100644 --- a/0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch +++ b/0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch @@ -59,6 +59,3 @@ index c7b4e9a..552d208 100644 }; static void qxl_enter_vga_mode(PCIQXLDevice *d) --- -1.8.0.2 - diff --git a/0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch b/0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch index 1d14605..842f0d5 100644 --- a/0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch +++ b/0504-Remove-ifdef-QXL_COMMAND_FLAG_COMPAT_16BPP.patch @@ -27,6 +27,3 @@ index 552d208..d1d995c 100644 d->shadow_rom.mode = cpu_to_le32(modenr); d->rom->mode = cpu_to_le32(modenr); qxl_rom_set_dirty(d); --- -1.8.0.2 - diff --git a/0505-spice-switch-to-queue-for-vga-mode-updates.patch b/0505-spice-switch-to-queue-for-vga-mode-updates.patch index 4a6138a..f27d73c 100644 --- a/0505-spice-switch-to-queue-for-vga-mode-updates.patch +++ b/0505-spice-switch-to-queue-for-vga-mode-updates.patch @@ -133,6 +133,3 @@ index 512ab78..3fcb6fe 100644 }; int qemu_spice_rect_is_empty(const QXLRect* r); --- -1.8.0.2 - diff --git a/0506-spice-split-qemu_spice_create_update.patch b/0506-spice-split-qemu_spice_create_update.patch index 9c3ed0c..c773e90 100644 --- a/0506-spice-split-qemu_spice_create_update.patch +++ b/0506-spice-split-qemu_spice_create_update.patch @@ -89,6 +89,3 @@ index 59c5fd7..6f68f28 100644 /* * Called from spice server thread context (via interface_release_ressource) * We do *not* hold the global qemu mutex here, so extra care is needed --- -1.8.0.2 - diff --git a/0507-spice-add-screen-mirror.patch b/0507-spice-add-screen-mirror.patch index e01bea7..ef3f45c 100644 --- a/0507-spice-add-screen-mirror.patch +++ b/0507-spice-add-screen-mirror.patch @@ -93,6 +93,3 @@ index 3fcb6fe..dea41c1 100644 void *buf; int bufsize; QXLWorker *worker; --- -1.8.0.2 - diff --git a/0508-spice-send-updates-only-for-changed-screen-content.patch b/0508-spice-send-updates-only-for-changed-screen-content.patch index 58c6282..5d5036c 100644 --- a/0508-spice-send-updates-only-for-changed-screen-content.patch +++ b/0508-spice-send-updates-only-for-changed-screen-content.patch @@ -88,6 +88,3 @@ index 973cd53..d062765 100644 memset(&ssd->dirty, 0, sizeof(ssd->dirty)); } --- -1.8.0.2 - diff --git a/0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch b/0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch index 904feb6..6cadb3b 100644 --- a/0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch +++ b/0509-qxl-Ignore-set_client_capabilities-pre-post-migrate.patch @@ -36,6 +36,3 @@ index 743082d..8a86ffc 100644 qxl->shadow_rom.client_present = client_present; memcpy(qxl->shadow_rom.client_capabilities, caps, sizeof(caps)); qxl->rom->client_present = client_present; --- -1.8.0.2 - diff --git a/0510-qxl-add-trace-event-for-QXL_IO_LOG.patch b/0510-qxl-add-trace-event-for-QXL_IO_LOG.patch index d6a82d8..2b4d451 100644 --- a/0510-qxl-add-trace-event-for-QXL_IO_LOG.patch +++ b/0510-qxl-add-trace-event-for-QXL_IO_LOG.patch @@ -34,6 +34,3 @@ index aa79836..80a52d9 100644 qxl_io_read_unexpected(int qid) "%d" qxl_io_unexpected_vga_mode(int qid, uint64_t addr, uint64_t val, const char *desc) "%d 0x%"PRIx64"=%"PRIu64" (%s)" qxl_io_write(int qid, const char *mode, uint64_t addr, uint64_t val, unsigned size, int async) "%d %s addr=%"PRIu64 " val=%"PRIu64" size=%u async=%d" --- -1.8.0.2 - diff --git a/0511-hw-qxl-support-client-monitor-configuration-via-devi.patch b/0511-hw-qxl-support-client-monitor-configuration-via-devi.patch index 0055ad6..8d032ef 100644 --- a/0511-hw-qxl-support-client-monitor-configuration-via-devi.patch +++ b/0511-hw-qxl-support-client-monitor-configuration-via-devi.patch @@ -176,6 +176,3 @@ index 80a52d9..07b63f1 100644 # hw/qxl-render.c qxl_render_blit_guest_primary_initialized(void) "" --- -1.8.0.2 - diff --git a/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch b/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch index bcc5ac3..059e13e 100644 --- a/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch +++ b/0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch @@ -43,6 +43,3 @@ index 1aac04b..6b9d5d0 100644 break; } if (async == QXL_ASYNC) { --- -1.8.0.2 - diff --git a/0513-qxl-fix-range-check-for-rev3-io-commands.patch b/0513-qxl-fix-range-check-for-rev3-io-commands.patch index bcc42ed..19caaf0 100644 --- a/0513-qxl-fix-range-check-for-rev3-io-commands.patch +++ b/0513-qxl-fix-range-check-for-rev3-io-commands.patch @@ -24,6 +24,3 @@ index 6b9d5d0..8d33745 100644 qxl_set_guest_bug(d, "unsupported io %d for revision %d\n", io_port, d->revision); return; --- -1.8.0.2 - diff --git a/0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch b/0514-qxl-vnc-register-a-vm-state-change-handler-for-dummy.patch similarity index 75% rename from 0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch rename to 0514-qxl-vnc-register-a-vm-state-change-handler-for-dummy.patch index 89b2137..d2bb1f1 100644 --- a/0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch +++ b/0514-qxl-vnc-register-a-vm-state-change-handler-for-dummy.patch @@ -1,7 +1,8 @@ -From 938b8a36b65e44c44ca29245437f8d7ac0f826e8 Mon Sep 17 00:00:00 2001 +From 2c410bf8bafee23b4a4d1041b833645c6320851e Mon Sep 17 00:00:00 2001 From: Uri Lublin Date: Wed, 12 Dec 2012 16:30:47 +0000 -Subject: qxl+vnc: register a vm state change handler for dummy spice_server +Subject: [PATCH] qxl+vnc: register a vm state change handler for dummy + spice_server When qxl + vnc are used, a dummy spice_server is initialized. The spice_server has to be told when the VM runstate changes, @@ -14,11 +15,14 @@ Cc: qemu-stable@nongnu.org Signed-off-by: Uri Lublin Signed-off-by: Gerd Hoffmann --- + ui/spice-core.c | 2 ++ + 1 file changed, 2 insertions(+) + diff --git a/ui/spice-core.c b/ui/spice-core.c -index 261c6f2..59ce5f6 100644 +index ba0d0bd..cb4b8b9 100644 --- a/ui/spice-core.c +++ b/ui/spice-core.c -@@ -732,6 +732,8 @@ int qemu_spice_add_interface(SpiceBaseInstance *sin) +@@ -775,6 +775,8 @@ int qemu_spice_add_interface(SpiceBaseInstance *sin) */ spice_server = spice_server_new(); spice_server_init(spice_server, &core_interface); @@ -27,5 +31,3 @@ index 261c6f2..59ce5f6 100644 } return spice_server_add_interface(spice_server, sin); --- -cgit v0.9.0.2-2-gbebe diff --git a/0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch b/0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch index f8aee4f..f013c14 100644 --- a/0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch +++ b/0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch @@ -1,7 +1,7 @@ -From 58891f4a215336182677e97c94198ba8cced19cd Mon Sep 17 00:00:00 2001 +From 8502c47123cbbb2f81b751780bdc8bc2fd3024ca Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Wed, 3 Oct 2012 20:13:58 +0200 -Subject: [PATCH 515/522] hw/qxl: exit on failure to register qxl interface +Subject: [PATCH] hw/qxl: exit on failure to register qxl interface This prevents a segfault later on when the device reset handler tries to access a NULL ssd.worker since interface_attach_worker has @@ -30,6 +30,3 @@ index 8d33745..db6440e 100644 qemu_add_vm_change_state_handler(qxl_vm_change_state_handler, qxl); init_pipe_signaling(qxl); --- -1.8.0.2 - diff --git a/0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch b/0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch index 216c177..ef6e3a2 100644 --- a/0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch +++ b/0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch @@ -1,7 +1,7 @@ -From 8ceaa64ed2f20a7af865eb9bac0bc6e54f5f7eea Mon Sep 17 00:00:00 2001 +From 35bc51bb66018c3b387c735070612cd81200a2f9 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Tue, 2 Oct 2012 11:39:14 +0200 -Subject: [PATCH 516/522] hw/qxl: fix condition for exiting guest_bug +Subject: [PATCH] hw/qxl: fix condition for exiting guest_bug Reported and suggested by Paolo Bonzini, thanks. @@ -24,6 +24,3 @@ index db6440e..445705e 100644 return; } --- -1.8.0.2 - diff --git a/0517-hw-qxl-qxl_send_events-nop-if-stopped.patch b/0517-hw-qxl-qxl_send_events-nop-if-stopped.patch index 324ce7d..e787f66 100644 --- a/0517-hw-qxl-qxl_send_events-nop-if-stopped.patch +++ b/0517-hw-qxl-qxl_send_events-nop-if-stopped.patch @@ -1,7 +1,7 @@ -From 79868eccfd65a7926d7beff42b1094a000b10c01 Mon Sep 17 00:00:00 2001 +From 46afee90f84ed7f03a6c1e086cb7a3894451682d Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Thu, 1 Nov 2012 14:56:00 +0200 -Subject: [PATCH 517/522] hw/qxl: qxl_send_events: nop if stopped +Subject: [PATCH] hw/qxl: qxl_send_events: nop if stopped Added a trace point for easy logging. @@ -34,10 +34,10 @@ index 445705e..8111bb9 100644 if ((old_pending & le_events) == le_events) { return; diff --git a/trace-events b/trace-events -index f5b5097..9d39d8d 100644 +index 07b63f1..992aef1 100644 --- a/trace-events +++ b/trace-events -@@ -978,6 +978,7 @@ qxl_spice_update_area(int qid, uint32_t surface_id, uint32_t left, uint32_t righ +@@ -973,6 +973,7 @@ qxl_spice_update_area(int qid, uint32_t surface_id, uint32_t left, uint32_t righ qxl_spice_update_area_rest(int qid, uint32_t num_dirty_rects, uint32_t clear_dirty_region) "%d #d=%d clear=%d" qxl_surfaces_dirty(int qid, int surface, int offset, int size) "%d surface=%d offset=%d size=%d" qxl_send_events(int qid, uint32_t events) "%d %d" @@ -45,6 +45,3 @@ index f5b5097..9d39d8d 100644 qxl_set_guest_bug(int qid) "%d" qxl_interrupt_client_monitors_config(int qid, int num_heads, void *heads) "%d %d %p" qxl_client_monitors_config_unsupported_by_guest(int qid, uint32_t int_mask, void *client_monitors_config) "%d %X %p" --- -1.8.0.2 - diff --git a/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch b/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch index 12f90d7..d5a81a0 100644 --- a/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch +++ b/0518-qxl-call-dpy_gfx_resize-when-entering-vga-mode.patch @@ -1,7 +1,7 @@ -From acbfa56143a6c8a4e0ceb2546612ae4caea907d3 Mon Sep 17 00:00:00 2001 +From 97ccbacab3e9cc19ebb54f1aacbe84118cbb3a29 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 30 Oct 2012 14:55:12 +0100 -Subject: [PATCH 518/564] qxl: call dpy_gfx_resize when entering vga mode +Subject: [PATCH] qxl: call dpy_gfx_resize when entering vga mode When entering vga mode the display size likely changes, notify all displaychangelisteners about this. @@ -20,7 +20,7 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/qxl.c b/hw/qxl.c -index 8111bb9..3583d98 100644 +index 8111bb9..f88829c 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -1084,7 +1084,7 @@ static void qxl_enter_vga_mode(PCIQXLDevice *d) @@ -32,6 +32,3 @@ index 8111bb9..3583d98 100644 vga_dirty_log_start(&d->vga); } --- -1.8.1 - diff --git a/0519-spice-fix-initialization-order.patch b/0519-spice-fix-initialization-order.patch index 41a73a0..681efdd 100644 --- a/0519-spice-fix-initialization-order.patch +++ b/0519-spice-fix-initialization-order.patch @@ -1,7 +1,7 @@ -From d106523eff9b2f7e0b201c04a825c1fbcef1e495 Mon Sep 17 00:00:00 2001 +From 13cc38946d570a43c1a913b8fb014c189e660ceb Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 2 Nov 2012 09:37:27 +0100 -Subject: [PATCH 519/564] spice: fix initialization order +Subject: [PATCH] spice: fix initialization order Register displaychangelistener last, after spice is fully initialized, otherwise we may hit NULL pointer dereferences when qemu starts calling @@ -16,7 +16,7 @@ Signed-off-by: Gerd Hoffmann 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/hw/qxl.c b/hw/qxl.c -index 3583d98..525763b 100644 +index f88829c..9418ecb 100644 --- a/hw/qxl.c +++ b/hw/qxl.c @@ -2061,6 +2061,7 @@ static int qxl_init_primary(PCIDevice *dev) @@ -62,6 +62,3 @@ index d062765..4c24c32 100644 qemu_spice_create_host_primary(&sdpy); + register_displaychangelistener(ds, &display_listener); } --- -1.8.1 - diff --git a/0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch b/0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch index dbc8120..b28cb59 100644 --- a/0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch +++ b/0520-spice-add-new-spice-server-callbacks-to-ui-spice-dis.patch @@ -1,8 +1,7 @@ -From e4e6427ffc8a25e6eafdbf1a284319721891fb77 Mon Sep 17 00:00:00 2001 +From 12bf3d6ef0b57952276361b274dcb5704480b08e Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 21 Nov 2012 14:41:48 +0100 -Subject: [PATCH 520/564] spice: add new spice-server callbacks to - ui/spice-display.c +Subject: [PATCH] spice: add new spice-server callbacks to ui/spice-display.c Otherwise qemu crashes with non-qxl graphics cards. @@ -64,6 +63,3 @@ index 4c24c32..85c055e 100644 }; static SimpleSpiceDisplay sdpy; --- -1.8.1 - diff --git a/0521-qxl-save-qemu_create_displaysurface_from-result.patch b/0521-qxl-save-qemu_create_displaysurface_from-result.patch index 8697610..4e4b7ea 100644 --- a/0521-qxl-save-qemu_create_displaysurface_from-result.patch +++ b/0521-qxl-save-qemu_create_displaysurface_from-result.patch @@ -1,7 +1,7 @@ -From 39a4efbef72744cb09151954091710400c31f18d Mon Sep 17 00:00:00 2001 +From 67a3c5e0e9b7e2ae4444f374c698fc3fbf16a1ac Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 10 Dec 2012 07:41:07 +0100 -Subject: [PATCH 521/564] qxl: save qemu_create_displaysurface_from result +Subject: [PATCH] qxl: save qemu_create_displaysurface_from result Spotted by Coverity. @@ -36,6 +36,3 @@ index b66c168..e7d41ec 100644 } else { qemu_resize_displaysurface(vga->ds, qxl->guest_primary.surface.width, --- -1.8.1 - diff --git a/0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch b/0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch index 88889a2..03520e4 100644 --- a/0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch +++ b/0601-usb-redir-Convert-to-new-libusbredirparser-0.5-API.patch @@ -1,4 +1,4 @@ -From afe0b566b5700b9c3933b7b3f8e9414ff2014de1 Mon Sep 17 00:00:00 2001 +From 3fe6c1a36c08f282402f4487013d7e15a1c79095 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Fri, 31 Aug 2012 13:41:38 +0200 Subject: [PATCH] usb-redir: Convert to new libusbredirparser 0.5 API @@ -227,6 +227,3 @@ index b7c7f1e..321f5be 100644 interrupt_packet->status, ep, data_len, id); if (dev->endpoint[EP2I(ep)].type != USB_ENDPOINT_XFER_INT) { --- -1.8.0.2 - diff --git a/0602-usb-redir-Set-ep-max_packet_size-if-available.patch b/0602-usb-redir-Set-ep-max_packet_size-if-available.patch index 1e93c33..49af939 100644 --- a/0602-usb-redir-Set-ep-max_packet_size-if-available.patch +++ b/0602-usb-redir-Set-ep-max_packet_size-if-available.patch @@ -1,4 +1,4 @@ -From c065841b3604ac4f2b1c564db7c2fd180ac1c32d Mon Sep 17 00:00:00 2001 +From bbc0ef6979ccab369335839da645e68d15845fde Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 11:49:07 +0200 Subject: [PATCH] usb-redir: Set ep max_packet_size if available @@ -34,6 +34,3 @@ index 321f5be..b9a3633 100644 } } --- -1.8.0.2 - diff --git a/0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch b/0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch index a24fe54..1874c40 100644 --- a/0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch +++ b/0603-usb-redir-Add-a-usbredir_reject_device-helper-functi.patch @@ -1,4 +1,4 @@ -From b9d21224a0186b5b6664d28a06729e0a5dadb853 Mon Sep 17 00:00:00 2001 +From f1747cd3b2231a4d9d53ad5576f4e0a0cba50998 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 11:53:28 +0200 Subject: [PATCH] usb-redir: Add a usbredir_reject_device helper function @@ -53,6 +53,3 @@ index b9a3633..a590cb2 100644 return -1; } --- -1.8.0.2 - diff --git a/0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch b/0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch index 792ec58..68fb2c6 100644 --- a/0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch +++ b/0604-usb-redir-Ensure-our-peer-has-the-necessary-caps-whe.patch @@ -1,4 +1,4 @@ -From 5b53990774b76625ff3d288fda1c0def3e612c92 Mon Sep 17 00:00:00 2001 +From ef07a05e357649d52058bcd980924b107a85fb56 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 12:04:49 +0200 Subject: [PATCH] usb-redir: Ensure our peer has the necessary caps when @@ -38,6 +38,3 @@ index a590cb2..f1bb692 100644 if (usb_device_attach(&dev->dev) != 0) { usbredir_reject_device(dev); } --- -1.8.0.2 - diff --git a/0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch b/0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch index d7c3444..e5dc1e5 100644 --- a/0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch +++ b/0605-usb-redir-Enable-pipelining-for-bulk-endpoints.patch @@ -1,4 +1,4 @@ -From 9658745685663e7fbae0e6956cbb95be835076f3 Mon Sep 17 00:00:00 2001 +From 71b8edadc72990f1f987a8b39ab2fc10582b454d Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 3 Sep 2012 13:44:04 +0200 Subject: [PATCH] usb-redir: Enable pipelining for bulk endpoints @@ -23,6 +23,3 @@ index f1bb692..f183263 100644 } } --- -1.8.0.2 - diff --git a/0606-xhci-move-device-lookup-into-xhci_setup_packet.patch b/0606-xhci-move-device-lookup-into-xhci_setup_packet.patch index cc4070c..f78bbac 100644 --- a/0606-xhci-move-device-lookup-into-xhci_setup_packet.patch +++ b/0606-xhci-move-device-lookup-into-xhci_setup_packet.patch @@ -1,4 +1,4 @@ -From 33cc7c61049bfe2563828e3b865874c4b1b55b6f Mon Sep 17 00:00:00 2001 +From d2b51c117c29bd6c643b38dee8e1f49572711c13 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 24 Aug 2012 14:21:39 +0200 Subject: [PATCH] xhci: move device lookup into xhci_setup_packet @@ -149,6 +149,3 @@ index 30cb0d5..1a65063 100644 result = usb_handle_packet(xfer->packet.ep->dev, &xfer->packet); if (result == USB_RET_NAK) { return; --- -1.8.0.2 - diff --git a/0607-xhci-implement-mfindex.patch b/0607-xhci-implement-mfindex.patch index 523fc9b..68f1382 100644 --- a/0607-xhci-implement-mfindex.patch +++ b/0607-xhci-implement-mfindex.patch @@ -1,4 +1,4 @@ -From b935a33743b54a9dd670c1245376a3903bab4801 Mon Sep 17 00:00:00 2001 +From 3529c46a54fcd3e1bc0bef97be254005177e5054 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 21 Aug 2012 12:32:58 +0200 Subject: [PATCH] xhci: implement mfindex @@ -137,6 +137,3 @@ index 1a65063..88f71fc 100644 xhci->irq = xhci->pci_dev.irq[0]; memory_region_init_io(&xhci->mem, &xhci_mem_ops, xhci, --- -1.8.0.2 - diff --git a/0608-xhci-iso-xfer-support.patch b/0608-xhci-iso-xfer-support.patch index 36094b6..b2f77e7 100644 --- a/0608-xhci-iso-xfer-support.patch +++ b/0608-xhci-iso-xfer-support.patch @@ -1,4 +1,4 @@ -From 26c73adc7b291c90f5975f7148092e4fc207f3dc Mon Sep 17 00:00:00 2001 +From c578154e75f7dc2433bcde4180320b0bfd884e62 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 24 Aug 2012 14:13:08 +0200 Subject: [PATCH] xhci: iso xfer support @@ -233,6 +233,3 @@ index 88f71fc..f3f1d61 100644 } } --- -1.8.0.2 - diff --git a/0609-xhci-trace-cc-codes-in-cleartext.patch b/0609-xhci-trace-cc-codes-in-cleartext.patch index f672430..8dd6dbd 100644 --- a/0609-xhci-trace-cc-codes-in-cleartext.patch +++ b/0609-xhci-trace-cc-codes-in-cleartext.patch @@ -1,4 +1,4 @@ -From eed215ccbf493e85d80fd51266c338e4ac86e7f9 Mon Sep 17 00:00:00 2001 +From f98ec7477ad72305a10d392a0b043df9192620ab Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Mon, 27 Aug 2012 16:09:20 +0200 Subject: [PATCH] xhci: trace cc codes in cleartext @@ -83,7 +83,7 @@ index f3f1d61..ad2226f 100644 addr = xhci->er_start + TRB_SIZE*xhci->er_ep_idx; pci_dma_write(&xhci->pci_dev, addr, &ev_trb, TRB_SIZE); diff --git a/trace-events b/trace-events -index 07b63f1..b38e32a 100644 +index 992aef1..9fa7673 100644 --- a/trace-events +++ b/trace-events @@ -316,7 +316,7 @@ usb_xhci_runtime_write(uint32_t off, uint32_t val) "off 0x%04x, val 0x%08x" @@ -95,6 +95,3 @@ index 07b63f1..b38e32a 100644 usb_xhci_fetch_trb(uint64_t addr, const char *name, uint64_t param, uint32_t status, uint32_t control) "addr %016" PRIx64 ", %s, p %016" PRIx64 ", s %08x, c 0x%08x" usb_xhci_slot_enable(uint32_t slotid) "slotid %d" usb_xhci_slot_disable(uint32_t slotid) "slotid %d" --- -1.8.0.2 - diff --git a/0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch b/0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch index c4a482b..0209424 100644 --- a/0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch +++ b/0610-xhci-add-trace_usb_xhci_ep_set_dequeue.patch @@ -1,4 +1,4 @@ -From 85be78ba5daa672ec27c23c371b30aa723dc73c3 Mon Sep 17 00:00:00 2001 +From ef91b4721df38d041867d43300583321119c92e0 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 29 Aug 2012 12:54:59 +0200 Subject: [PATCH] xhci: add trace_usb_xhci_ep_set_dequeue @@ -23,7 +23,7 @@ index ad2226f..a938ad3 100644 slot = &xhci->slots[slotid-1]; diff --git a/trace-events b/trace-events -index b38e32a..2db1deb 100644 +index 9fa7673..7b9cc9e 100644 --- a/trace-events +++ b/trace-events @@ -326,6 +326,7 @@ usb_xhci_slot_evaluate(uint32_t slotid) "slotid %d" @@ -34,6 +34,3 @@ index b38e32a..2db1deb 100644 usb_xhci_ep_kick(uint32_t slotid, uint32_t epid) "slotid %d, epid %d" usb_xhci_ep_stop(uint32_t slotid, uint32_t epid) "slotid %d, epid %d" usb_xhci_ep_reset(uint32_t slotid, uint32_t epid) "slotid %d, epid %d" --- -1.8.0.2 - diff --git a/0611-xhci-update-register-layout.patch b/0611-xhci-update-register-layout.patch index 3a0a535..81f071f 100644 --- a/0611-xhci-update-register-layout.patch +++ b/0611-xhci-update-register-layout.patch @@ -1,4 +1,4 @@ -From 81a651a566a37ab65dc0bf5a6a72453b0a0a7157 Mon Sep 17 00:00:00 2001 +From 297556441abec3823fcf362395f2af650e53a631 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 23 Aug 2012 13:26:25 +0200 Subject: [PATCH] xhci: update register layout @@ -58,6 +58,3 @@ index a938ad3..11cb3bc 100644 #if (OFF_DOORBELL + LEN_DOORBELL) > LEN_REGS # error Increase LEN_REGS #endif --- -1.8.0.2 - diff --git a/0612-xhci-update-port-handling.patch b/0612-xhci-update-port-handling.patch index 40e39a4..c195f1f 100644 --- a/0612-xhci-update-port-handling.patch +++ b/0612-xhci-update-port-handling.patch @@ -1,4 +1,4 @@ -From 73b022067ca13e4f4c26ab2f31faa7ffa903b7a8 Mon Sep 17 00:00:00 2001 +From 2ed404cacc625272fb7017476634b77002ee880b Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 13:38:01 +0200 Subject: [PATCH] xhci: update port handling @@ -347,6 +347,3 @@ index 11cb3bc..642e8e5 100644 DEFINE_PROP_END_OF_LIST(), }; --- -1.8.0.2 - diff --git a/0613-usb3-superspeed-descriptors.patch b/0613-usb3-superspeed-descriptors.patch index e11739a..a130320 100644 --- a/0613-usb3-superspeed-descriptors.patch +++ b/0613-usb3-superspeed-descriptors.patch @@ -1,4 +1,4 @@ -From 30c648f2872cfd04fdf4115628398571a214ccc3 Mon Sep 17 00:00:00 2001 +From 626f97d5fb771fadedccc9d05f6fea47b689c3bc Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:28:50 +0200 Subject: [PATCH] usb3: superspeed descriptors @@ -59,6 +59,3 @@ index 7cf5442..d89fa41 100644 const char* const *str; }; --- -1.8.0.2 - diff --git a/0614-usb3-superspeed-endpoint-companion.patch b/0614-usb3-superspeed-endpoint-companion.patch index 2a0b793..fa7f9a9 100644 --- a/0614-usb3-superspeed-endpoint-companion.patch +++ b/0614-usb3-superspeed-endpoint-companion.patch @@ -1,4 +1,4 @@ -From a76e4c47f9be219527561c074716972226b6c1c1 Mon Sep 17 00:00:00 2001 +From 28606fe9b5e3554fa65d7fd7aef449da74ec1363 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:28:03 +0200 Subject: [PATCH] usb3: superspeed endpoint companion @@ -243,6 +243,3 @@ index d89fa41..4b5e88d 100644 int usb_desc_other(const USBDescOther *desc, uint8_t *dest, size_t len); /* control message emulation helpers */ --- -1.8.0.2 - diff --git a/0615-usb3-bos-decriptor.patch b/0615-usb3-bos-decriptor.patch index b30ca3e..2ec11bc 100644 --- a/0615-usb3-bos-decriptor.patch +++ b/0615-usb3-bos-decriptor.patch @@ -1,4 +1,4 @@ -From dd9e0d2970d00917406acdd77add20e0a87012dc Mon Sep 17 00:00:00 2001 +From 56e4093206b136735942b1fa94fc9826b489fac1 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:46:29 +0200 Subject: [PATCH] usb3: bos decriptor @@ -199,7 +199,7 @@ index 4b5e88d..68bb570 100644 } QEMU_PACKED USBDescriptor; diff --git a/trace-events b/trace-events -index 2db1deb..d941e78 100644 +index 7b9cc9e..d978d42 100644 --- a/trace-events +++ b/trace-events @@ -343,6 +343,7 @@ usb_desc_device_qualifier(int addr, int len, int ret) "dev %d query device quali @@ -210,6 +210,3 @@ index 2db1deb..d941e78 100644 usb_set_addr(int addr) "dev %d" usb_set_config(int addr, int config, int ret) "dev %d, config %d, ret %d" usb_set_interface(int addr, int iface, int alt, int ret) "dev %d, interface %d, altsetting %d, ret %d" --- -1.8.0.2 - diff --git a/0616-usb-storage-usb3-support.patch b/0616-usb-storage-usb3-support.patch index 1010f18..75857f6 100644 --- a/0616-usb-storage-usb3-support.patch +++ b/0616-usb-storage-usb3-support.patch @@ -1,4 +1,4 @@ -From 555a722ece2d20facc9f8be2c32fb0595a2f4e8b Mon Sep 17 00:00:00 2001 +From 3c762eeef7dc242a00552bb9b3f05e0208765f84 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 28 Aug 2012 17:29:15 +0200 Subject: [PATCH] usb-storage: usb3 support @@ -89,6 +89,3 @@ index ff48d91..e732191 100644 }; static void usb_msd_copy_data(MSDState *s, USBPacket *p) --- -1.8.0.2 - diff --git a/0617-xhci-fix-cleanup-msi.patch b/0617-xhci-fix-cleanup-msi.patch index e0cc571..d7c87a7 100644 --- a/0617-xhci-fix-cleanup-msi.patch +++ b/0617-xhci-fix-cleanup-msi.patch @@ -1,4 +1,4 @@ -From 894f086b6205b780a8dc97489f58ea324ecb9765 Mon Sep 17 00:00:00 2001 +From b296bb59f2c9e56bc2ba5fadc53ab53c54ccbc4b Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 10:57:12 +0200 Subject: [PATCH] xhci: fix & cleanup msi. @@ -91,6 +91,3 @@ index 642e8e5..ff74ed9 100644 } static TypeInfo xhci_info = { --- -1.8.0.2 - diff --git a/0618-xhci-rework-interrupt-handling.patch b/0618-xhci-rework-interrupt-handling.patch index 4689b93..19ae99c 100644 --- a/0618-xhci-rework-interrupt-handling.patch +++ b/0618-xhci-rework-interrupt-handling.patch @@ -1,4 +1,4 @@ -From 28d099bc11fa5c22331c4681dc5cb56fe19d603a Mon Sep 17 00:00:00 2001 +From 5901a1ee90fbbddce3f0a17bc6dbb6a215b718a4 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 13:05:10 +0200 Subject: [PATCH] xhci: rework interrupt handling @@ -112,6 +112,3 @@ index ff74ed9..74a57fe 100644 break; case 0x24: /* IMOD */ xhci->imod = val; --- -1.8.0.2 - diff --git a/0619-xhci-add-msix-support.patch b/0619-xhci-add-msix-support.patch index 86e69f8..00f159b 100644 --- a/0619-xhci-add-msix-support.patch +++ b/0619-xhci-add-msix-support.patch @@ -1,4 +1,4 @@ -From 8e09078421d52a78081bbf35db75fa1d11b2f9a4 Mon Sep 17 00:00:00 2001 +From 30a07a691a444a4c9b7116d50ca1a6e8cf28db5c Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 12:06:59 +0200 Subject: [PATCH] xhci: add msix support @@ -138,7 +138,7 @@ index 74a57fe..91c2fb1 100644 DEFINE_PROP_UINT32("p3", XHCIState, numports_3, 4), DEFINE_PROP_END_OF_LIST(), diff --git a/trace-events b/trace-events -index d941e78..f86bbda 100644 +index d978d42..93b05ab 100644 --- a/trace-events +++ b/trace-events @@ -316,6 +316,9 @@ usb_xhci_runtime_write(uint32_t off, uint32_t val) "off 0x%04x, val 0x%08x" @@ -151,6 +151,3 @@ index d941e78..f86bbda 100644 usb_xhci_queue_event(uint32_t idx, const char *trb, const char *evt, uint64_t param, uint32_t status, uint32_t control) "idx %d, %s, %s, p %016" PRIx64 ", s %08x, c 0x%08x" usb_xhci_fetch_trb(uint64_t addr, const char *name, uint64_t param, uint32_t status, uint32_t control) "addr %016" PRIx64 ", %s, p %016" PRIx64 ", s %08x, c 0x%08x" usb_xhci_slot_enable(uint32_t slotid) "slotid %d" --- -1.8.0.2 - diff --git a/0620-xhci-move-register-update-into-xhci_intr_raise.patch b/0620-xhci-move-register-update-into-xhci_intr_raise.patch index 7b4af09..341f5c3 100644 --- a/0620-xhci-move-register-update-into-xhci_intr_raise.patch +++ b/0620-xhci-move-register-update-into-xhci_intr_raise.patch @@ -1,4 +1,4 @@ -From 18e27420641fed150d09ece76a74089ffc81f21c Mon Sep 17 00:00:00 2001 +From febd3b03f0bf3d108d201232e6f05c1d840f941d Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 14:04:04 +0200 Subject: [PATCH] xhci: move register update into xhci_intr_raise @@ -50,6 +50,3 @@ index 91c2fb1..ae5620f 100644 xhci_intr_raise(xhci); } --- -1.8.0.2 - diff --git a/0621-xhci-add-XHCIInterrupter.patch b/0621-xhci-add-XHCIInterrupter.patch index e853f51..5d092ac 100644 --- a/0621-xhci-add-XHCIInterrupter.patch +++ b/0621-xhci-add-XHCIInterrupter.patch @@ -1,4 +1,4 @@ -From 389e9b95abb9bd0eb42731351db615df6ded5f5d Mon Sep 17 00:00:00 2001 +From 0d297b79dc199a7670c867e035d20a1f1b4a02e0 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 15:49:03 +0200 Subject: [PATCH] xhci: add XHCIInterrupter @@ -625,7 +625,7 @@ index ae5620f..76da7a9 100644 static void xhci_complete(USBPort *port, USBPacket *packet) diff --git a/trace-events b/trace-events -index f86bbda..f5b5097 100644 +index 93b05ab..9d39d8d 100644 --- a/trace-events +++ b/trace-events @@ -319,7 +319,7 @@ usb_xhci_irq_msi(uint32_t nr) "nr %d" @@ -637,6 +637,3 @@ index f86bbda..f5b5097 100644 usb_xhci_fetch_trb(uint64_t addr, const char *name, uint64_t param, uint32_t status, uint32_t control) "addr %016" PRIx64 ", %s, p %016" PRIx64 ", s %08x, c 0x%08x" usb_xhci_slot_enable(uint32_t slotid) "slotid %d" usb_xhci_slot_disable(uint32_t slotid) "slotid %d" --- -1.8.0.2 - diff --git a/0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch b/0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch index 82a6c44..15ce4f7 100644 --- a/0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch +++ b/0622-xhci-prepare-xhci_runtime_-read-write-for-multiple-i.patch @@ -1,4 +1,4 @@ -From 0859f45be456731c7e900264f3f11f911717e121 Mon Sep 17 00:00:00 2001 +From b4457799e9610602d20382843c1d2bde4ce475dd Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 30 Aug 2012 17:15:12 +0200 Subject: [PATCH] xhci: prepare xhci_runtime_{read,write} for multiple @@ -154,6 +154,3 @@ index 76da7a9..df2ea22 100644 break; default: fprintf(stderr, "xhci_oper_write: reg 0x%x unimplemented\n", reg); --- -1.8.0.2 - diff --git a/0623-xhci-pick-target-interrupter.patch b/0623-xhci-pick-target-interrupter.patch index 6931c07..7b6781f 100644 --- a/0623-xhci-pick-target-interrupter.patch +++ b/0623-xhci-pick-target-interrupter.patch @@ -1,4 +1,4 @@ -From 755c1c8db0c6f23cc84aa31c0437f2ddd6048800 Mon Sep 17 00:00:00 2001 +From ebb89c9a420f2aa87796f377992ac403adcab309 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 31 Aug 2012 15:30:51 +0200 Subject: [PATCH] xhci: pick target interrupter @@ -88,6 +88,3 @@ index df2ea22..9667c0d 100644 } static void xhci_complete(USBPort *port, USBPacket *packet) --- -1.8.0.2 - diff --git a/0624-xhci-support-multiple-interrupters.patch b/0624-xhci-support-multiple-interrupters.patch index c2f5235..d83f1e9 100644 --- a/0624-xhci-support-multiple-interrupters.patch +++ b/0624-xhci-support-multiple-interrupters.patch @@ -1,4 +1,4 @@ -From 6b4ce88ab228e8ad167b10bf231126b7f266d8a9 Mon Sep 17 00:00:00 2001 +From bda96cc71d34d4c3163455c9ea570f62e9c745f4 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 4 Sep 2012 12:56:55 +0200 Subject: [PATCH] xhci: support multiple interrupters @@ -35,6 +35,3 @@ index 9667c0d..874b545 100644 /* bit definitions */ #define USBCMD_RS (1<<0) #define USBCMD_HCRST (1<<1) --- -1.8.0.2 - diff --git a/0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch b/0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch index 6713681..3de9f67 100644 --- a/0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch +++ b/0625-xhci-kill-xhci_mem_-read-write-dispatcher-functions.patch @@ -1,4 +1,4 @@ -From 3cb58625501657f61001334dc6537ab473caacbe Mon Sep 17 00:00:00 2001 +From f9b8c1e3044cb4c221ea0c971630bf1f348af848 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Tue, 4 Sep 2012 14:42:20 +0200 Subject: [PATCH] xhci: kill xhci_mem_{read,write} dispatcher functions @@ -275,6 +275,3 @@ index 874b545..2c799fb 100644 pci_register_bar(&xhci->pci_dev, 0, PCI_BASE_ADDRESS_SPACE_MEMORY|PCI_BASE_ADDRESS_MEM_TYPE_64, &xhci->mem); --- -1.8.0.2 - diff --git a/0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch b/0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch index c618d3d..c4cab7c 100644 --- a/0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch +++ b/0626-usb-redir-Change-cancelled-packet-code-into-a-generi.patch @@ -1,4 +1,4 @@ -From 7aec34d818d5e3f191e310ee0787e5844d3c6019 Mon Sep 17 00:00:00 2001 +From 3ee0b38d21a4ced7e7040666b523ab711bb4b20c Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 4 Sep 2012 14:18:34 +0200 Subject: [PATCH] usb-redir: Change cancelled packet code into a generic @@ -179,6 +179,3 @@ index f183263..e2b8159 100644 for (i = 0; i < MAX_ENDPOINTS; i++) { usbredir_free_bufpq(dev, I2EP(i)); } --- -1.8.0.2 - diff --git a/0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch b/0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch index 932fc3b..5eb0046 100644 --- a/0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch +++ b/0627-usb-redir-Add-an-already_in_flight-packet-id-queue.patch @@ -1,4 +1,4 @@ -From 1dc61f2996d6a211b690b43e9517baa31a786b6a Mon Sep 17 00:00:00 2001 +From 7f3022f4ee2f83aeb0a1eea265f4bf9b4401096e Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 4 Sep 2012 17:03:54 +0200 Subject: [PATCH] usb-redir: Add an already_in_flight packet-id queue @@ -114,6 +114,3 @@ index e2b8159..cdd705f 100644 for (i = 0; i < MAX_ENDPOINTS; i++) { usbredir_free_bufpq(dev, I2EP(i)); } --- -1.8.0.2 - diff --git a/0628-usb-redir-Store-max_packet_size-in-endp_data.patch b/0628-usb-redir-Store-max_packet_size-in-endp_data.patch index 9b641f3..e38b41a 100644 --- a/0628-usb-redir-Store-max_packet_size-in-endp_data.patch +++ b/0628-usb-redir-Store-max_packet_size-in-endp_data.patch @@ -1,4 +1,4 @@ -From 8d5e4be8a36f93cd97c426285a65d66b9ac64bd7 Mon Sep 17 00:00:00 2001 +From 92685f7fb2b97236018aa8aed9fc9fd8f5644346 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 6 Sep 2012 20:52:36 +0200 Subject: [PATCH] usb-redir: Store max_packet_size in endp_data @@ -33,6 +33,3 @@ index cdd705f..6eb3c6d 100644 } if (ep_info->type[i] == usb_redir_type_bulk) { usb_ep->pipeline = true; --- -1.8.0.2 - diff --git a/0629-usb-redir-Add-support-for-migration.patch b/0629-usb-redir-Add-support-for-migration.patch index ffb1fce..5f20a5f 100644 --- a/0629-usb-redir-Add-support-for-migration.patch +++ b/0629-usb-redir-Add-support-for-migration.patch @@ -1,4 +1,4 @@ -From 6ffcfd679cbf168f4260b9db28662a2a1367b8b2 Mon Sep 17 00:00:00 2001 +From 89d5a2bf3ecb98ba5bfaf1fd6c63924aeb1b6208 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 5 Sep 2012 09:21:44 +0200 Subject: [PATCH] usb-redir: Add support for migration @@ -424,6 +424,3 @@ index 6eb3c6d..b7387b6 100644 dc->props = usbredir_properties; } --- -1.8.0.2 - diff --git a/0630-usb-redir-Add-chardev-open-close-debug-logging.patch b/0630-usb-redir-Add-chardev-open-close-debug-logging.patch index b2ac4a8..d1cf2ab 100644 --- a/0630-usb-redir-Add-chardev-open-close-debug-logging.patch +++ b/0630-usb-redir-Add-chardev-open-close-debug-logging.patch @@ -1,4 +1,4 @@ -From 74544d87b480a3953b1f0b2b7cddd80d3b3c1bcb Mon Sep 17 00:00:00 2001 +From 9737abf4265d394434982e8f7db230084cf036cb Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 5 Sep 2012 15:56:57 +0200 Subject: [PATCH] usb-redir: Add chardev open / close debug logging @@ -49,6 +49,3 @@ index b7387b6..57e6289 100644 usb_device_detach(&dev->dev); /* * Delay next usb device attach to give the guest a chance to see --- -1.8.0.2 - diff --git a/0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch b/0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch index 0f3bfc1..53d2405 100644 --- a/0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch +++ b/0631-usb-redir-Revert-usb-redir-part-of-commit-93bfef4c.patch @@ -1,4 +1,4 @@ -From eb7cba97b479dfd5814e2a1d24588a1543d50552 Mon Sep 17 00:00:00 2001 +From a272467564b3915d36b85523ad7c2abf04a164a3 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Mon, 10 Sep 2012 13:49:46 +0200 Subject: [PATCH] usb-redir: Revert usb-redir part of commit 93bfef4c @@ -30,6 +30,3 @@ index 57e6289..78e93a7 100644 int flags = 0; /* Make sure any pending closes are handled (no-op if none pending) */ --- -1.8.0.2 - diff --git a/0632-ehci-Fix-interrupt-packet-MULT-handling.patch b/0632-ehci-Fix-interrupt-packet-MULT-handling.patch index ac24fec..71fd7c9 100644 --- a/0632-ehci-Fix-interrupt-packet-MULT-handling.patch +++ b/0632-ehci-Fix-interrupt-packet-MULT-handling.patch @@ -1,4 +1,4 @@ -From 5c95a1e3a0b9266a195778cd95a8b08348d3a361 Mon Sep 17 00:00:00 2001 +From dc9b6b076e03412e67597c207f2202493e37db06 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 20 Sep 2012 16:55:02 +0200 Subject: [PATCH] ehci: Fix interrupt packet MULT handling @@ -126,6 +126,3 @@ index 6a5da84..46f6d99 100644 } /* 4.10.5 */ --- -1.8.0.2 - diff --git a/0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch b/0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch index bfd2d66..45bf71c 100644 --- a/0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch +++ b/0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch @@ -1,4 +1,4 @@ -From 7f87b50fdd1519b431abe50173699fc6644d0eb6 Mon Sep 17 00:00:00 2001 +From 93e27ddf8c5e60eb932528cf1c560d81be108f96 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Tue, 25 Sep 2012 13:22:21 +0200 Subject: [PATCH] usb-redir: Adjust pkg-config check for usbredirparser .pc @@ -44,6 +44,3 @@ index d43d61a..8dac47b 100755 QEMU_CFLAGS="$QEMU_CFLAGS $usb_redir_cflags" libs_softmmu="$libs_softmmu $usb_redir_libs" else --- -1.8.0.2 - diff --git a/0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch b/0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch index cf6a757..34cbc35 100644 --- a/0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch +++ b/0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch @@ -1,4 +1,4 @@ -From f9ba78b992979db8b3d1489b34ec83eba5f12c52 Mon Sep 17 00:00:00 2001 +From 0e80029894a26f26a6641de5074ff680d98a6ffa Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 27 Sep 2012 16:59:50 +0200 Subject: [PATCH] usb-redir: Change usbredir_open_chardev into @@ -44,6 +44,3 @@ index 78e93a7..5d16aff 100644 break; case CHR_EVENT_CLOSED: DPRINTF("chardev close\n"); --- -1.8.0.2 - diff --git a/0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch b/0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch index 933347c..3787e29 100644 --- a/0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch +++ b/0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch @@ -1,4 +1,4 @@ -From eab47219d477920fce785cb6bc34c0725d5b4b5f Mon Sep 17 00:00:00 2001 +From 11da0c283915f9e3d3da42451d218c26efef4671 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Thu, 27 Sep 2012 16:57:41 +0200 Subject: [PATCH] usb-redir: Don't make migration fail in none seamless case @@ -37,6 +37,3 @@ index 5d16aff..022ba42 100644 } data = g_malloc(len); --- -1.8.0.2 - diff --git a/0701-mips-Fix-link-error-with-piix4_pm_init.patch b/0701-mips-Fix-link-error-with-piix4_pm_init.patch index 97b306f..f62a389 100644 --- a/0701-mips-Fix-link-error-with-piix4_pm_init.patch +++ b/0701-mips-Fix-link-error-with-piix4_pm_init.patch @@ -1,4 +1,4 @@ -From ffb70f6bbc0422cee8e0ef1a64da77d05492e290 Mon Sep 17 00:00:00 2001 +From a1cbcc0757b08e07a49fe9c8ba003ae47cf72614 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 6 Aug 2012 17:12:40 -0400 Subject: [PATCH] mips: Fix link error with 'piix4_pm_init' @@ -25,6 +25,3 @@ index 29a5d0d..89af0e9 100644 obj-$(CONFIG_FULONG) += bonito.o vt82c686.o mips_fulong2e.o obj-y := $(addprefix ../,$(obj-y)) --- -1.8.0.2 - diff --git a/0702-configure-Add-disable-kvm-options.patch b/0702-configure-Add-disable-kvm-options.patch index 38609e5..9c48a3e 100644 --- a/0702-configure-Add-disable-kvm-options.patch +++ b/0702-configure-Add-disable-kvm-options.patch @@ -1,4 +1,4 @@ -From c546c1e56883261a78d85a9a77c64305ba9a0c1f Mon Sep 17 00:00:00 2001 +From b303845e11bd656915198589294a0660002e6814 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Mon, 13 Aug 2012 18:39:54 -0400 Subject: [PATCH] configure: Add --disable-kvm-options @@ -67,6 +67,3 @@ index 8dac47b..1668f30 100755 if test "$vhost_net" = "yes" ; then echo "CONFIG_VHOST_NET=y" >> $config_target_mak fi --- -1.8.0.2 - diff --git a/0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch b/0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch index d52c60c..fcfadc8 100644 --- a/0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch +++ b/0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch @@ -1,4 +1,4 @@ -From eebf51f3c5fce7fe55b12088fa62051f7ba60063 Mon Sep 17 00:00:00 2001 +From 8a139a56e82b6adec8dd6ea111f39d19367febfc Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Fri, 26 Oct 2012 16:29:38 +0100 Subject: [PATCH] arm_boot: Change initrd load address to "halfway through RAM" @@ -132,6 +132,3 @@ index a6e9143..920c337 100644 if (load_dtb(dtb_start, info)) { exit(1); } --- -1.8.0.2 - diff --git a/0704-dtrace-backend-add-function-to-reserved-words.patch b/0704-dtrace-backend-add-function-to-reserved-words.patch index 3997c3f..fa54432 100644 --- a/0704-dtrace-backend-add-function-to-reserved-words.patch +++ b/0704-dtrace-backend-add-function-to-reserved-words.patch @@ -1,4 +1,4 @@ -From 0a01742a34be0859b18fb2ebfd1191be4cf5a380 Mon Sep 17 00:00:00 2001 +From 63d0a6cd71a0e3b6ba1a9cb4e1ba880121840a7e Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Sun, 2 Sep 2012 02:04:16 +0300 Subject: [PATCH] dtrace backend: add function to reserved words @@ -22,6 +22,3 @@ index 9cab75c..6be7047 100644 name += '_' out(' %s = $arg%d;' % (name, i)) i += 1 --- -1.8.0.2 - diff --git a/0706-libcacard-fix-missing-symbols-in-libcacard.so.patch b/0705-libcacard-fix-missing-symbols-in-libcacard.so.patch similarity index 90% rename from 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch rename to 0705-libcacard-fix-missing-symbols-in-libcacard.so.patch index 678d03a..157f97f 100644 --- a/0706-libcacard-fix-missing-symbols-in-libcacard.so.patch +++ b/0705-libcacard-fix-missing-symbols-in-libcacard.so.patch @@ -1,4 +1,4 @@ -From a44468631dea81f4cdc4b3156d28d7e8b94ce037 Mon Sep 17 00:00:00 2001 +From 9fbc22fddb14b1e474807bc02ab31e35af25d3a3 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Wed, 28 Nov 2012 16:38:43 +0200 Subject: [PATCH] libcacard: fix missing symbols in libcacard.so @@ -20,6 +20,3 @@ index 63990b7..9ce3117 100644 QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS)) QEMU_CFLAGS+=-I../ --- -1.8.0.2 - diff --git a/0707-configure-move-vscclient-binary-under-libcacard.patch b/0706-configure-move-vscclient-binary-under-libcacard.patch similarity index 97% rename from 0707-configure-move-vscclient-binary-under-libcacard.patch rename to 0706-configure-move-vscclient-binary-under-libcacard.patch index df345dc..1bc1b28 100644 --- a/0707-configure-move-vscclient-binary-under-libcacard.patch +++ b/0706-configure-move-vscclient-binary-under-libcacard.patch @@ -1,4 +1,4 @@ -From 9c773d62b68152114b4a5a63fa68162acc853d6e Mon Sep 17 00:00:00 2001 +From 5f3abf0f58996748f93daff1542d9bbd99789196 Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Thu, 29 Nov 2012 14:11:19 +0200 Subject: [PATCH] configure: move vscclient binary under libcacard @@ -88,6 +88,3 @@ index 9ce3117..88ed064 100644 $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.la "$(DESTDIR)$(libdir)" $(LIBTOOL) --mode=install $(INSTALL_DATA) libcacard.pc "$(DESTDIR)$(libdir)/pkgconfig" for inc in *.h; do \ --- -1.8.0.2 - diff --git a/0710-libcacard-fix-missing-symbols-in-libcacard.so.patch b/0707-libcacard-fix-missing-symbol-in-libcacard.so.patch similarity index 93% rename from 0710-libcacard-fix-missing-symbols-in-libcacard.so.patch rename to 0707-libcacard-fix-missing-symbol-in-libcacard.so.patch index e380c28..aef8085 100644 --- a/0710-libcacard-fix-missing-symbols-in-libcacard.so.patch +++ b/0707-libcacard-fix-missing-symbol-in-libcacard.so.patch @@ -1,4 +1,4 @@ -From a198c5ee0b8311aadffb682a70587cb92368b3fc Mon Sep 17 00:00:00 2001 +From c2cd586f8a83e20fd264cd53ba1120979779c34b Mon Sep 17 00:00:00 2001 From: Alon Levy Date: Wed, 28 Nov 2012 11:16:26 +0200 Subject: [PATCH] libcacard: fix missing symbol in libcacard.so @@ -28,6 +28,3 @@ index 88ed064..7973f8d 100644 QEMU_OBJS_LIB=$(patsubst %.o,%.lo,$(QEMU_OBJS)) QEMU_CFLAGS+=-I../ --- -1.8.0.1 - diff --git a/0708-seccomp-adding-new-syscalls-bugzilla-855162.patch b/0708-seccomp-adding-new-syscalls-bugzilla-855162.patch index a996528..0136558 100644 --- a/0708-seccomp-adding-new-syscalls-bugzilla-855162.patch +++ b/0708-seccomp-adding-new-syscalls-bugzilla-855162.patch @@ -1,4 +1,4 @@ -From cf0259065ea0cc476449a9e1dbbd5a128d57464c Mon Sep 17 00:00:00 2001 +From 83df794bc330e0c71d2d2f1f6d51103b53393f9c Mon Sep 17 00:00:00 2001 From: Eduardo Otubo Date: Thu, 29 Nov 2012 13:56:41 -0200 Subject: [PATCH] seccomp: adding new syscalls (bugzilla 855162) @@ -236,6 +236,3 @@ index 64329a3..2a71d6f 100644 }; int seccomp_start(void) --- -1.8.0.2 - diff --git a/0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch b/0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch index 3a7596a..db61c68 100644 --- a/0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch +++ b/0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch @@ -1,4 +1,4 @@ -From 125014c9a69b47d98f29ae2a6a5dae2e5633f07a Mon Sep 17 00:00:00 2001 +From e633e19df6e1d33dd9ce88fba2896082b1efbeec Mon Sep 17 00:00:00 2001 From: Michael Contreras Date: Wed, 5 Dec 2012 13:31:30 -0500 Subject: [PATCH] e1000: Discard oversized packets based on SBP|LPE @@ -37,6 +37,3 @@ index b1d8508..fa3d4dc 100644 && !(s->mac_reg[RCTL] & E1000_RCTL_SBP)) { return size; } --- -1.8.1 - diff --git a/0710-Revert-serial-fix-retry-logic.patch b/0710-Revert-serial-fix-retry-logic.patch new file mode 100644 index 0000000..5d6285e --- /dev/null +++ b/0710-Revert-serial-fix-retry-logic.patch @@ -0,0 +1,67 @@ +From 90f23b109c482f23d04a943d1e41f79b33ce028a Mon Sep 17 00:00:00 2001 +From: Michael Tokarev +Date: Wed, 19 Sep 2012 12:08:31 +0400 +Subject: [PATCH] Revert "serial: fix retry logic" + +This reverts commit 67c5322d7000fd105a926eec44bc1765b7d70bdd: + + I'm not sure if the retry logic has ever worked when not using FIFO mode. I + found this while writing a test case although code inspection confirms it is + definitely broken. + + The TSR retry logic will never actually happen because it is guarded by an + 'if (s->tsr_rety > 0)' but this is the only place that can ever make the + variable greater than zero. That effectively makes the retry logic an 'if (0) + + I believe this is a typo and the intention was >= 0. Once this is fixed thoug + I see double transmits with my test case. This is because in the non FIFO + case, serial_xmit may get invoked while LSR.THRE is still high because the + character was processed but the retransmit timer was still active. + + We can handle this by simply checking for LSR.THRE and returning early. It's + possible that the FIFO paths also need some attention. + + Cc: Stefano Stabellini + Signed-off-by: Anthony Liguori + +Even if the previous logic was never worked, new logic breaks stuff - +namely, + + qemu -enable-kvm -nographic -kernel /boot/vmlinuz-$(uname -r) -append console=ttyS0 -serial pty + +the above command will cause the virtual machine to stuck at startup +using 100% CPU till one connects to the pty and sends any char to it. + +Note this is rather typical invocation for various headless virtual +machines by libvirt. + +So revert this change for now, till a better solution will be found. + +Signed-off-by: Michael Tokarev +Signed-off-by: Anthony Liguori +--- + hw/serial.c | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/hw/serial.c b/hw/serial.c +index 056d823..c9fccf7 100644 +--- a/hw/serial.c ++++ b/hw/serial.c +@@ -327,8 +327,6 @@ static void serial_xmit(void *opaque) + s->tsr = fifo_get(s,XMIT_FIFO); + if (!s->xmit_fifo.count) + s->lsr |= UART_LSR_THRE; +- } else if ((s->lsr & UART_LSR_THRE)) { +- return; + } else { + s->tsr = s->thr; + s->lsr |= UART_LSR_THRE; +@@ -340,7 +338,7 @@ static void serial_xmit(void *opaque) + /* in loopback mode, say that we just received a char */ + serial_receive1(s, &s->tsr, 1); + } else if (qemu_chr_fe_write(s->chr, &s->tsr, 1) != 1) { +- if ((s->tsr_retry >= 0) && (s->tsr_retry <= MAX_XMIT_RETRY)) { ++ if ((s->tsr_retry > 0) && (s->tsr_retry <= MAX_XMIT_RETRY)) { + s->tsr_retry++; + qemu_mod_timer(s->transmit_timer, new_xmit_ts + s->char_transmit_time); + return; diff --git a/0711-scsi-fix-segfault-with-0-byte-disk.patch b/0711-scsi-fix-segfault-with-0-byte-disk.patch new file mode 100644 index 0000000..b2d5fbc --- /dev/null +++ b/0711-scsi-fix-segfault-with-0-byte-disk.patch @@ -0,0 +1,37 @@ +From ca525ebda9b0869bddd602c7ac2884ef5cf96507 Mon Sep 17 00:00:00 2001 +From: Paolo Bonzini +Date: Thu, 10 Jan 2013 15:08:05 +0100 +Subject: [PATCH] scsi: fix segfault with 0-byte disk + +When a 0-sized disk is found, READ CAPACITY will return a +LUN NOT READY error. However, because it returns -1 instead +of zero, the HBA will call scsi_req_continue. This will +typically cause a segmentation fault or an assertion failure. + +Signed-off-by: Paolo Bonzini +--- + hw/scsi-disk.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c +index 7ed1bde..fbca538 100644 +--- a/hw/scsi-disk.c ++++ b/hw/scsi-disk.c +@@ -1683,7 +1683,7 @@ static int32_t scsi_disk_emulate_command(SCSIRequest *req, uint8_t *buf) + bdrv_get_geometry(s->qdev.conf.bs, &nb_sectors); + if (!nb_sectors) { + scsi_check_condition(r, SENSE_CODE(LUN_NOT_READY)); +- return -1; ++ return 0; + } + if ((req->cmd.buf[8] & 1) == 0 && req->cmd.lba) { + goto illegal_request; +@@ -1750,7 +1750,7 @@ static int32_t scsi_disk_emulate_command(SCSIRequest *req, uint8_t *buf) + bdrv_get_geometry(s->qdev.conf.bs, &nb_sectors); + if (!nb_sectors) { + scsi_check_condition(r, SENSE_CODE(LUN_NOT_READY)); +- return -1; ++ return 0; + } + if ((req->cmd.buf[14] & 1) == 0 && req->cmd.lba) { + goto illegal_request; diff --git a/qemu.spec b/qemu.spec index 1428328..03f180d 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.2 -Release: 5%{?dist} +Release: 6%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -148,6 +148,8 @@ Source9: ksmtuned.conf Source10: qemu-guest-agent.service Source11: 99-qemu-guest-agent.rules Source12: bridge.conf + + # Stable 1.2.1 patches Patch0001: 0001-target-xtensa-convert-host-errno-values-to-guest.patch Patch0002: 0002-target-cris-Fix-buffer-overflow.patch @@ -453,7 +455,7 @@ Patch0412: 0412-usb-redir-Add-flow-control-support.patch Patch0413: 0413-virtio-serial-bus-replay-guest_open-on-migration.patch Patch0414: 0414-char-Disable-write-callback-if-throttled-chardev-is-.patch -# spice seamless migration & dynamic monitors from upstream master +# spice seamless migration, dynamic monitors, spice/qxl bug fixes Patch0501: 0501-qxl-disallow-unknown-revisions.patch Patch0502: 0502-spice-make-number-of-surfaces-runtime-configurable.patch Patch0503: 0503-qxl-Add-set_client_capabilities-interface-to-QXLInte.patch @@ -467,7 +469,7 @@ Patch0510: 0510-qxl-add-trace-event-for-QXL_IO_LOG.patch Patch0511: 0511-hw-qxl-support-client-monitor-configuration-via-devi.patch Patch0512: 0512-qxl-update_area_io-cleanup-invalid-parameters-handli.patch Patch0513: 0513-qxl-fix-range-check-for-rev3-io-commands.patch -Patch0514: 0514-qxl-vnc-register-a-vm-state-handler-for-dummy-spice_.patch +Patch0514: 0514-qxl-vnc-register-a-vm-state-change-handler-for-dummy.patch Patch0515: 0515-hw-qxl-exit-on-failure-to-register-qxl-interface.patch Patch0516: 0516-hw-qxl-fix-condition-for-exiting-guest_bug.patch Patch0517: 0517-hw-qxl-qxl_send_events-nop-if-stopped.patch @@ -513,25 +515,25 @@ Patch0633: 0633-usb-redir-Adjust-pkg-config-check-for-usbredirparser.patch Patch0634: 0634-usb-redir-Change-usbredir_open_chardev-into-usbredir.patch Patch0635: 0635-usb-redir-Don-t-make-migration-fail-in-none-seamless.patch -# misc bug fixes # Non upstream build fix, http://www.spinics.net/lists/kvm/msg80589.html Patch0701: 0701-mips-Fix-link-error-with-piix4_pm_init.patch # Add ./configure --disable-kvm-options -# keep: Carrying locally until qemu-kvm is fully merged into qemu.git Patch0702: 0702-configure-Add-disable-kvm-options.patch # Fix loading arm initrd if kernel is very large (bz 862766) Patch0703: 0703-arm_boot-Change-initrd-load-address-to-halfway-throu.patch -# Don't use reserved word 'function' in systemtap files (bz 870972) -Patch0704: 0704-dtrace-backend-add-function-to-reserved-words.patch # libcacard build fixes -Patch0706: 0706-libcacard-fix-missing-symbols-in-libcacard.so.patch -Patch0707: 0707-configure-move-vscclient-binary-under-libcacard.patch +Patch0704: 0704-dtrace-backend-add-function-to-reserved-words.patch +Patch0705: 0705-libcacard-fix-missing-symbols-in-libcacard.so.patch +Patch0706: 0706-configure-move-vscclient-binary-under-libcacard.patch # Fix libvirt + seccomp combo (bz 855162) -Patch0708: 0708-seccomp-adding-new-syscalls-bugzilla-855162.patch +Patch0707: 0707-libcacard-fix-missing-symbol-in-libcacard.so.patch # CVE-2012-6075: Buffer overflow in e1000 nic (bz 889301, bz 889304) -Patch709: 0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch - -Patch710: 0710-libcacard-fix-missing-symbols-in-libcacard.so.patch +Patch0708: 0708-seccomp-adding-new-syscalls-bugzilla-855162.patch +# Fix boot hang if console is not connected (bz 894451) +Patch0709: 0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch +# Fix segfault with zero length virtio-scsi disk (bz 847549) +Patch0710: 0710-Revert-serial-fix-retry-logic.patch +Patch0711: 0711-scsi-fix-segfault-with-0-byte-disk.patch BuildRequires: SDL-devel @@ -1272,7 +1274,7 @@ CAC emulation development files. %patch0413 -p1 %patch0414 -p1 -# spice seamless migration & dynamic monitors from upstream master +# spice seamless migration, dynamic monitors, spice/qxl bug fixes %patch0501 -p1 %patch0502 -p1 %patch0503 -p1 @@ -1332,16 +1334,25 @@ CAC emulation development files. %patch0634 -p1 %patch0635 -p1 -# misc bug fixes +# Non upstream build fix, http://www.spinics.net/lists/kvm/msg80589.html %patch0701 -p1 +# Add ./configure --disable-kvm-options %patch0702 -p1 +# Fix loading arm initrd if kernel is very large (bz 862766) %patch0703 -p1 +# libcacard build fixes %patch0704 -p1 +%patch0705 -p1 %patch0706 -p1 +# Fix libvirt + seccomp combo (bz 855162) %patch0707 -p1 +# CVE-2012-6075: Buffer overflow in e1000 nic (bz 889301, bz 889304) %patch0708 -p1 -%patch709 -p1 -%patch710 -p1 +# Fix boot hang if console is not connected (bz 894451) +%patch0709 -p1 +# Fix segfault with zero length virtio-scsi disk (bz 847549) +%patch0710 -p1 +%patch0711 -p1 %build @@ -1951,6 +1962,10 @@ getent passwd qemu >/dev/null || \ %{_libdir}/pkgconfig/libcacard.pc %changelog +* Sat Feb 02 2013 Cole Robinson - 2:1.2.2-6 +- Fix boot hang if console is not connected (bz #894451) +- Fix segfault with zero length virtio-scsi disk (bz #847549) + * Wed Jan 23 2013 Alon Levy - 2:1.2.2-5 - Add fix for missing error_set in libcacard.so picked from upstream. From 9ca03fda94384726cfb1b3307aadeaaa79f245fd Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Mon, 11 Mar 2013 17:25:17 +0100 Subject: [PATCH 10/10] Added libiscsi-devel BuildRequires --- 0712-iscsi-look-for-pkg-config-file-too.patch | 36 +++++++++++++++++++ qemu.spec | 11 +++++- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 0712-iscsi-look-for-pkg-config-file-too.patch diff --git a/0712-iscsi-look-for-pkg-config-file-too.patch b/0712-iscsi-look-for-pkg-config-file-too.patch new file mode 100644 index 0000000..8c60ee3 --- /dev/null +++ b/0712-iscsi-look-for-pkg-config-file-too.patch @@ -0,0 +1,36 @@ +From: Paolo Bonzini +Subject: [PATCH 3/6] iscsi: look for pkg-config file too +Date: Tue, 5 Mar 2013 18:05:22 +0100 + +Due to library conflicts, Fedora will have to put libiscsi in +/usr/lib/iscsi. Simplify configuration by using a pkg-config +file. The Fedora package will distribute one, and the patch +to add it has been sent to upstream libiscsi as well. + +Cc: qemu-stable@nongnu.org +Signed-off-by: Paolo Bonzini +--- + configure | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/configure b/configure +index 2f98c5a..a9a7c99 100755 +--- a/configure ++++ b/configure +@@ -2803,7 +2803,13 @@ if test "$libiscsi" != "no" ; then + #include + int main(void) { iscsi_unmap_sync(NULL,0,0,0,NULL,0); return 0; } + EOF +- if compile_prog "" "-liscsi" ; then ++ if $pkg_config --atleast-version=1.7.0 libiscsi --modversion >/dev/null 2>&1; then ++ libiscsi="yes" ++ libiscsi_cflags=$($pkg_config --cflags libiscsi 2>/dev/null) ++ libiscsi_libs=$($pkg_config --libs libiscsi 2>/dev/null) ++ CFLAGS="$CFLAGS $libiscsi_cflags" ++ LIBS="$LIBS $libiscsi_libs" ++ elif compile_prog "" "-liscsi" ; then + libiscsi="yes" + LIBS="$LIBS -liscsi" + else +-- +1.8.1.2 diff --git a/qemu.spec b/qemu.spec index 03f180d..eea2de1 100644 --- a/qemu.spec +++ b/qemu.spec @@ -109,7 +109,7 @@ Summary: QEMU is a FAST! processor emulator Name: qemu Version: 1.2.2 -Release: 6%{?dist} +Release: 7%{?dist} # Epoch because we pushed a qemu-1.0 package. AIUI this can't ever be dropped Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD @@ -534,6 +534,8 @@ Patch0709: 0709-e1000-Discard-oversized-packets-based-on-SBP-LPE.patch # Fix segfault with zero length virtio-scsi disk (bz 847549) Patch0710: 0710-Revert-serial-fix-retry-logic.patch Patch0711: 0711-scsi-fix-segfault-with-0-byte-disk.patch +# Adapt to libiscsi packaging in Fedora (included upstream) +Patch0712: 0712-iscsi-look-for-pkg-config-file-too.patch BuildRequires: SDL-devel @@ -547,6 +549,7 @@ BuildRequires: libaio-devel BuildRequires: rsync BuildRequires: pciutils-devel BuildRequires: pulseaudio-libs-devel +BuildRequires: libiscsi-devel BuildRequires: ncurses-devel BuildRequires: libattr-devel BuildRequires: usbredir-devel >= 0.5.2 @@ -1353,6 +1356,8 @@ CAC emulation development files. # Fix segfault with zero length virtio-scsi disk (bz 847549) %patch0710 -p1 %patch0711 -p1 +# Adapt to libiscsi packaging in Fedora (included upstream) +%patch0712 -p1 %build @@ -1962,6 +1967,10 @@ getent passwd qemu >/dev/null || \ %{_libdir}/pkgconfig/libcacard.pc %changelog +* Mon Mar 11 2013 Paolo Bonzini - 2:1.2.2-7 +- Added libiscsi-devel BuildRequires +- Use pkg-config to search for libiscsi + * Sat Feb 02 2013 Cole Robinson - 2:1.2.2-6 - Fix boot hang if console is not connected (bz #894451) - Fix segfault with zero length virtio-scsi disk (bz #847549)