[qemu] Update to 0.15.0-rc0
Justin M. Forbes
jforbes at fedoraproject.org
Thu Jul 28 17:10:28 UTC 2011
commit 5e10b14df07276d4ec6b5903367ac1302c6bbf61
Author: Justin M. Forbes <jforbes at redhat.com>
Date: Thu Jul 28 12:10:09 2011 -0500
Update to 0.15.0-rc0
.gitignore | 2 +
...out-tcp-socket-close-code-in-a-separate-f.patch | 10 +-
...b-musb.c-Don-t-misuse-usb_packet_complete.patch | 32 -
...QemuChrHandlers-struct-to-initialise-char.patch | 56 +-
0002-usb-Add-a-usb_fill_port-helper-function.patch | 42 -
...Add-enable-disable_write_fd_handler-funct.patch | 8 +-
...itial-call-of-usb_port_location-to-usb_fi.patch | 83 --
...-framework-for-a-write-unblocked-callback.patch | 14 +-
0004-usb-Add-a-register_companion-USB-bus-op.patch | 82 --
...-send_all-to-handle-nonblocking-chardev-w.patch | 22 +-
...rt-wakeup-and-complete-ops-take-a-USBPort.patch | 213 ---
...the-unix-tcp-backend-to-handle-nonblockin.patch | 14 +-
...-device_destroy-bus-op-with-a-child_detac.patch | 358 ------
...har-Throttle-when-host-connection-is-down.patch | 8 +-
...b-ehci-drop-unused-num-ports-state-member.patch | 26 -
...nnect-Status-bit-is-read-only-don-t-allow.patch | 32 -
...ole-Enable-port-throttling-when-chardev-i.patch | 10 +-
... => 0009-spice-qemu-char.c-add-throttling.patch | 8 +-
0009-usb-ehci-cleanup-port-reset-handling.patch | 38 -
...ce-qemu-char.c-remove-intermediate-buffer.patch | 6 +-
...on-calling-usb_attach-port-NULL-on-a-port.patch | 44 -
...x-handling-of-PED-and-PEDC-port-status-bi.patch | 80 --
...> 0011-usb-redir-Add-flow-control-support.patch | 4 +-
...d-support-for-registering-companion-contr.patch | 321 -----
...-usb-redir-Call-qemu_chr_guest_open-close.patch | 37 +
...u-char-Generate-chardev-open-close-events.patch | 90 ++
...d-support-for-being-a-companion-controlle.patch | 103 --
...d-support-for-being-a-companion-controlle.patch | 127 --
0015-pci-add-ich9-usb-controller-ids.patch | 31 -
0016-uhci-add-ich9-controllers.patch | 102 --
0017-ehci-fix-port-count.patch | 28 -
0018-ehci-add-ich9-controller.patch | 74 --
0019-usb-update-documentation.patch | 112 --
...r_port-do-not-set-port-opaque-and-port-in.patch | 28 -
0021-usb-fixup-bluetooth-descriptors.patch | 116 --
0022-usb-hub-remove-unused-descriptor-arrays.patch | 95 --
0023-usb-ohci-raise-interrupt-on-attach.patch | 50 -
0024-USB-add-usb-network-redirection-support.patch | 1346 --------------------
qemu.spec | 101 +--
sources | 2 +-
40 files changed, 239 insertions(+), 3716 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 9b14986..fa85789 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,5 @@ qemu-kvm-0.13.0-25fdf4a.tar.gz
/qemu-kvm-0.14.0-3593e6b.tar.gz
/qemu-kvm-0.14.0-7aa8c46.tar.gz
/qemu-kvm-0.15.0-525e3df.tar.gz
+/qemu-kvm-0.15.0-fda1906.tar.gz
+/qemu-kvm-0.15.0-59fadcc.tar.gz
diff --git a/0025-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch b/0001-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
similarity index 84%
rename from 0025-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
rename to 0001-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
index 2632655..e92a81a 100644
--- a/0025-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
+++ b/0001-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
@@ -1,7 +1,7 @@
-From d24514c807c4cddfe5f919bd01cb1a9cd3f21b10 Mon Sep 17 00:00:00 2001
+From 47d0d4d2d16bdbb3e80b6c9a29b9db3f81f1d6fd Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 21:57:47 +0100
-Subject: [PATCH 25/35] char: Split out tcp socket close code in a separate
+Subject: [PATCH 01/13] char: Split out tcp socket close code in a separate
function
Signed-off-by: Amit Shah <amit.shah at redhat.com>
@@ -10,10 +10,10 @@ Signed-off-by: Amit Shah <amit.shah at redhat.com>
1 files changed, 16 insertions(+), 9 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
-index fb13b28..75efa60 100644
+index dcf7065..1701bdf 100644
--- a/qemu-char.c
+++ b/qemu-char.c
-@@ -1917,6 +1917,21 @@ typedef struct {
+@@ -1945,6 +1945,21 @@ typedef struct {
static void tcp_chr_accept(void *opaque);
@@ -35,7 +35,7 @@ index fb13b28..75efa60 100644
static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
{
TCPCharDriver *s = chr->opaque;
-@@ -2067,15 +2082,7 @@ static void tcp_chr_read(void *opaque)
+@@ -2095,15 +2110,7 @@ static void tcp_chr_read(void *opaque)
len = s->max_size;
size = tcp_chr_recv(chr, (void *)buf, len);
if (size == 0) {
diff --git a/0026-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch b/0002-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
similarity index 95%
rename from 0026-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
rename to 0002-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
index 7433073..1fd460c 100644
--- a/0026-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
+++ b/0002-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
@@ -1,7 +1,7 @@
-From 7a78607683a3c3a25ab715d6a5e137be9cf29e66 Mon Sep 17 00:00:00 2001
+From ffef9f85d32395989a3c5845dfe34d2110ccb82b Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 20:31:45 +0100
-Subject: [PATCH 26/35] char: Add a QemuChrHandlers struct to initialise
+Subject: [PATCH 02/13] char: Add a QemuChrHandlers struct to initialise
chardev handlers
Instead of passing each handler in the qemu_add_handlers() function,
@@ -306,7 +306,7 @@ index 09090e9..5438660 100644
return 0;
diff --git a/hw/mcf_uart.c b/hw/mcf_uart.c
-index db57096..9928c11 100644
+index 905e116..bb5740c 100644
--- a/hw/mcf_uart.c
+++ b/hw/mcf_uart.c
@@ -268,6 +268,12 @@ static void mcf_uart_receive(void *opaque, const uint8_t *buf, int size)
@@ -359,7 +359,7 @@ index 56c90da..4412b1b 100644
return 0;
diff --git a/hw/pl011.c b/hw/pl011.c
-index 3b94b14..7b4f3ae 100644
+index 997ce84..37ba7f6 100644
--- a/hw/pl011.c
+++ b/hw/pl011.c
@@ -260,6 +260,12 @@ static const VMStateDescription vmstate_pl011 = {
@@ -386,7 +386,7 @@ index 3b94b14..7b4f3ae 100644
vmstate_register(&dev->qdev, -1, &vmstate_pl011, s);
return 0;
diff --git a/hw/pxa2xx.c b/hw/pxa2xx.c
-index ac5d95d..779081c 100644
+index cf93110..18bbe48 100644
--- a/hw/pxa2xx.c
+++ b/hw/pxa2xx.c
@@ -2019,6 +2019,12 @@ static int pxa2xx_fir_load(QEMUFile *f, void *opaque, int version_id)
@@ -554,7 +554,7 @@ index 2ef7175..ac68022 100644
if (s->fifo_size <= 0) {
fprintf(stderr, "syborg_serial: fifo too small\n");
diff --git a/hw/usb-serial.c b/hw/usb-serial.c
-index 59cb0fb..bebd900 100644
+index c69c437..45d48ee 100644
--- a/hw/usb-serial.c
+++ b/hw/usb-serial.c
@@ -476,6 +476,12 @@ static void usb_serial_event(void *opaque, int event)
@@ -581,10 +581,10 @@ index 59cb0fb..bebd900 100644
return 0;
}
diff --git a/hw/virtio-console.c b/hw/virtio-console.c
-index b076331..147a467 100644
+index fe5e188..cfc3087 100644
--- a/hw/virtio-console.c
+++ b/hw/virtio-console.c
-@@ -74,6 +74,12 @@ static void chr_event(void *opaque, int event)
+@@ -95,6 +95,12 @@ static void chr_event(void *opaque, int event)
}
}
@@ -597,7 +597,7 @@ index b076331..147a467 100644
static int virtconsole_initfn(VirtIOSerialPort *port)
{
VirtConsole *vcon = DO_UPCAST(VirtConsole, port, port);
-@@ -86,8 +92,7 @@ static int virtconsole_initfn(VirtIOSerialPort *port)
+@@ -107,8 +113,7 @@ static int virtconsole_initfn(VirtIOSerialPort *port)
}
if (vcon->chr) {
@@ -607,7 +607,7 @@ index b076331..147a467 100644
info->have_data = flush_buf;
info->guest_open = guest_open;
info->guest_close = guest_close;
-@@ -105,7 +110,7 @@ static int virtconsole_exitfn(VirtIOSerialPort *port)
+@@ -126,7 +131,7 @@ static int virtconsole_exitfn(VirtIOSerialPort *port)
* Instead of closing the chardev, free it so it can be used
* for other purposes.
*/
@@ -617,11 +617,11 @@ index b076331..147a467 100644
return 0;
diff --git a/hw/xen_console.c b/hw/xen_console.c
-index c6c8163..4c39310 100644
+index 8ef104c..85e8a22 100644
--- a/hw/xen_console.c
+++ b/hw/xen_console.c
-@@ -201,6 +201,11 @@ static int con_init(struct XenDevice *xendev)
- return 0;
+@@ -212,6 +212,11 @@ out:
+ return ret;
}
+static const QemuChrHandlers xencons_handlers = {
@@ -632,7 +632,7 @@ index c6c8163..4c39310 100644
static int con_connect(struct XenDevice *xendev)
{
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
-@@ -221,9 +226,9 @@ static int con_connect(struct XenDevice *xendev)
+@@ -232,9 +237,9 @@ static int con_connect(struct XenDevice *xendev)
return -1;
xen_be_bind_evtchn(&con->xendev);
@@ -645,7 +645,7 @@ index c6c8163..4c39310 100644
xen_be_printf(xendev, 1, "ring mfn %d, remote port %d, local port %d, limit %zd\n",
con->ring_ref,
-@@ -237,8 +242,9 @@ static void con_disconnect(struct XenDevice *xendev)
+@@ -248,8 +253,9 @@ static void con_disconnect(struct XenDevice *xendev)
{
struct XenConsole *con = container_of(xendev, struct XenConsole, xendev);
@@ -687,10 +687,10 @@ index 9b94e98..1845577 100644
}
diff --git a/monitor.c b/monitor.c
-index a6388a9..5e7ce62 100644
+index 718935b..5b79dde 100644
--- a/monitor.c
+++ b/monitor.c
-@@ -5238,6 +5238,18 @@ static void monitor_event(void *opaque, int event)
+@@ -5249,6 +5249,18 @@ static void monitor_event(void *opaque, int event)
* End:
*/
@@ -709,7 +709,7 @@ index a6388a9..5e7ce62 100644
void monitor_init(CharDriverState *chr, int flags)
{
static int is_first_init = 1;
-@@ -5260,12 +5272,10 @@ void monitor_init(CharDriverState *chr, int flags)
+@@ -5271,12 +5283,10 @@ void monitor_init(CharDriverState *chr, int flags)
if (monitor_ctrl_mode(mon)) {
mon->mc = qemu_mallocz(sizeof(MonitorControl));
/* Control mode requires special handlers */
@@ -725,10 +725,10 @@ index a6388a9..5e7ce62 100644
QLIST_INSERT_HEAD(&mon_list, mon, entry);
diff --git a/net/slirp.c b/net/slirp.c
-index e057a14..6eb0c51 100644
+index 157b80a..8eeec7e 100644
--- a/net/slirp.c
+++ b/net/slirp.c
-@@ -576,6 +576,11 @@ static void guestfwd_read(void *opaque, const uint8_t *buf, int size)
+@@ -577,6 +577,11 @@ static void guestfwd_read(void *opaque, const uint8_t *buf, int size)
slirp_socket_recv(fwd->slirp, fwd->server, fwd->port, buf, size);
}
@@ -740,7 +740,7 @@ index e057a14..6eb0c51 100644
static int slirp_guestfwd(SlirpState *s, const char *config_str,
int legacy_format)
{
-@@ -632,8 +637,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str,
+@@ -633,8 +638,7 @@ static int slirp_guestfwd(SlirpState *s, const char *config_str,
fwd->port = port;
fwd->slirp = s->slirp;
@@ -751,10 +751,10 @@ index e057a14..6eb0c51 100644
fail_syntax:
diff --git a/qemu-char.c b/qemu-char.c
-index 75efa60..ee763d5 100644
+index 1701bdf..1c33828 100644
--- a/qemu-char.c
+++ b/qemu-char.c
-@@ -190,19 +190,26 @@ void qemu_chr_send_event(CharDriverState *s, int event)
+@@ -195,19 +195,26 @@ void qemu_chr_send_event(CharDriverState *s, int event)
s->chr_send_event(s, event);
}
@@ -789,7 +789,7 @@ index 75efa60..ee763d5 100644
s->handler_opaque = opaque;
if (s->chr_update_read_handler)
s->chr_update_read_handler(s);
-@@ -440,6 +447,12 @@ static void mux_chr_event(void *opaque, int event)
+@@ -447,6 +454,12 @@ static void mux_chr_event(void *opaque, int event)
mux_chr_send_event(d, i, event);
}
@@ -802,7 +802,7 @@ index 75efa60..ee763d5 100644
static void mux_chr_update_read_handler(CharDriverState *chr)
{
MuxDriver *d = chr->opaque;
-@@ -454,8 +467,7 @@ static void mux_chr_update_read_handler(CharDriverState *chr)
+@@ -461,8 +474,7 @@ static void mux_chr_update_read_handler(CharDriverState *chr)
d->chr_event[d->mux_cnt] = chr->chr_event;
/* Fix up the real driver with mux routines */
if (d->mux_cnt == 0) {
@@ -813,7 +813,7 @@ index 75efa60..ee763d5 100644
if (d->focus != -1) {
mux_chr_send_event(d, d->focus, CHR_EVENT_MUX_OUT);
diff --git a/qemu-char.h b/qemu-char.h
-index 892c6da..c8e3f2b 100644
+index f361c6d..b8372ea 100644
--- a/qemu-char.h
+++ b/qemu-char.h
@@ -1,6 +1,7 @@
@@ -824,7 +824,7 @@ index 892c6da..c8e3f2b 100644
#include "qemu-common.h"
#include "qemu-queue.h"
#include "qemu-option.h"
-@@ -76,6 +77,13 @@ struct CharDriverState {
+@@ -77,6 +78,13 @@ struct CharDriverState {
QTAILQ_ENTRY(CharDriverState) next;
};
@@ -838,7 +838,7 @@ index 892c6da..c8e3f2b 100644
QemuOpts *qemu_chr_parse_compat(const char *label, const char *filename);
CharDriverState *qemu_chr_open_opts(QemuOpts *opts,
void (*init)(struct CharDriverState *s));
-@@ -88,10 +96,7 @@ void qemu_chr_printf(CharDriverState *s, const char *fmt, ...)
+@@ -89,10 +97,7 @@ void qemu_chr_printf(CharDriverState *s, const char *fmt, ...)
GCC_FMT_ATTR(2, 3);
int qemu_chr_write(CharDriverState *s, const uint8_t *buf, int len);
void qemu_chr_send_event(CharDriverState *s, int event);
diff --git a/0027-iohandlers-Add-enable-disable_write_fd_handler-funct.patch b/0003-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
similarity index 88%
rename from 0027-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
rename to 0003-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
index 9c6620a..cb2c9a2 100644
--- a/0027-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
+++ b/0003-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
@@ -1,7 +1,7 @@
-From 328ddb228ed9e5509b8418b1f34de6d6aff83d62 Mon Sep 17 00:00:00 2001
+From cb93720645e20825259dbb4d2f833b05a98e3062 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 20:32:58 +0100
-Subject: [PATCH 27/35] iohandlers: Add enable/disable_write_fd_handler()
+Subject: [PATCH 03/13] iohandlers: Add enable/disable_write_fd_handler()
functions
These will be used to provide a cleaner API for the nonblocking case.
@@ -59,10 +59,10 @@ index 2b82421..8e6628b 100644
/* XXX: fd_read_poll should be suppressed, but an API change is
necessary in the character devices to suppress fd_can_read(). */
diff --git a/qemu-char.h b/qemu-char.h
-index c8e3f2b..7d5dc6c 100644
+index b8372ea..9fe1b82 100644
--- a/qemu-char.h
+++ b/qemu-char.h
-@@ -121,6 +121,9 @@ size_t qemu_chr_mem_osize(const CharDriverState *chr);
+@@ -123,6 +123,9 @@ size_t qemu_chr_mem_osize(const CharDriverState *chr);
/* async I/O support */
diff --git a/0028-char-Add-framework-for-a-write-unblocked-callback.patch b/0004-char-Add-framework-for-a-write-unblocked-callback.patch
similarity index 84%
rename from 0028-char-Add-framework-for-a-write-unblocked-callback.patch
rename to 0004-char-Add-framework-for-a-write-unblocked-callback.patch
index dc32f9b..36ec50d 100644
--- a/0028-char-Add-framework-for-a-write-unblocked-callback.patch
+++ b/0004-char-Add-framework-for-a-write-unblocked-callback.patch
@@ -1,7 +1,7 @@
-From 59ff8a6457e82aadad7529602da68406de374a33 Mon Sep 17 00:00:00 2001
+From 66945912c4bd1bc70f3221288a4e7acc5717b336 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 21:41:42 +0100
-Subject: [PATCH 28/35] char: Add framework for a 'write unblocked' callback
+Subject: [PATCH 04/13] char: Add framework for a 'write unblocked' callback
The char layer can let users know that the driver will block on further
input. For users interested in not blocking, they can assign a function
@@ -16,10 +16,10 @@ Signed-off-by: Amit Shah <amit.shah at redhat.com>
2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
-index ee763d5..830f0c3 100644
+index 1c33828..ec4eb68 100644
--- a/qemu-char.c
+++ b/qemu-char.c
-@@ -209,11 +209,14 @@ void qemu_chr_add_handlers(CharDriverState *s,
+@@ -214,11 +214,14 @@ void qemu_chr_add_handlers(CharDriverState *s,
}
s->chr_can_read = handlers->fd_can_read;
s->chr_read = handlers->fd_read;
@@ -35,10 +35,10 @@ index ee763d5..830f0c3 100644
also get the open event */
if (s->opened) {
diff --git a/qemu-char.h b/qemu-char.h
-index 7d5dc6c..e942bdf 100644
+index 9fe1b82..68e7b5b 100644
--- a/qemu-char.h
+++ b/qemu-char.h
-@@ -61,6 +61,9 @@ struct CharDriverState {
+@@ -62,6 +62,9 @@ struct CharDriverState {
IOEventHandler *chr_event;
IOCanReadHandler *chr_can_read;
IOReadHandler *chr_read;
@@ -48,7 +48,7 @@ index 7d5dc6c..e942bdf 100644
void *handler_opaque;
void (*chr_send_event)(struct CharDriverState *chr, int event);
void (*chr_close)(struct CharDriverState *chr);
-@@ -74,6 +77,7 @@ struct CharDriverState {
+@@ -75,6 +78,7 @@ struct CharDriverState {
char *filename;
int opened;
int avail_connections;
diff --git a/0029-char-Update-send_all-to-handle-nonblocking-chardev-w.patch b/0005-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
similarity index 90%
rename from 0029-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
rename to 0005-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
index db4edba..ead1e8b 100644
--- a/0029-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
+++ b/0005-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
@@ -1,7 +1,7 @@
-From 4178a8240badad028ffd13482352510ad6a050e4 Mon Sep 17 00:00:00 2001
+From 8aab343e17b05abb051105cdb367edb4deef0c60 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 22:00:27 +0100
-Subject: [PATCH 29/35] char: Update send_all() to handle nonblocking chardev
+Subject: [PATCH 05/13] char: Update send_all() to handle nonblocking chardev
write requests
The send_all function is modified to return to the caller in case the
@@ -37,10 +37,10 @@ index bc1bf58..a40687a 100644
static ssize_t net_socket_receive_dgram(VLANClientState *nc, const uint8_t *buf, size_t size)
diff --git a/qemu-char.c b/qemu-char.c
-index 830f0c3..88b22c3 100644
+index ec4eb68..8789627 100644
--- a/qemu-char.c
+++ b/qemu-char.c
-@@ -506,7 +506,7 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
+@@ -513,7 +513,7 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
#ifdef _WIN32
@@ -49,7 +49,7 @@ index 830f0c3..88b22c3 100644
{
int ret, len;
-@@ -514,9 +514,14 @@ int send_all(int fd, const void *buf, int len1)
+@@ -521,9 +521,14 @@ int send_all(int fd, const void *buf, int len1)
while (len > 0) {
ret = send(fd, buf, len, 0);
if (ret < 0) {
@@ -64,7 +64,7 @@ index 830f0c3..88b22c3 100644
}
} else if (ret == 0) {
break;
-@@ -530,7 +535,7 @@ int send_all(int fd, const void *buf, int len1)
+@@ -537,7 +542,7 @@ int send_all(int fd, const void *buf, int len1)
#else
@@ -73,7 +73,7 @@ index 830f0c3..88b22c3 100644
{
int ret, len;
const uint8_t *buf = _buf;
-@@ -539,8 +544,15 @@ int send_all(int fd, const void *_buf, int len1)
+@@ -546,8 +551,15 @@ int send_all(int fd, const void *_buf, int len1)
while (len > 0) {
ret = write(fd, buf, len);
if (ret < 0) {
@@ -90,7 +90,7 @@ index 830f0c3..88b22c3 100644
} else if (ret == 0) {
break;
} else {
-@@ -552,6 +564,55 @@ int send_all(int fd, const void *_buf, int len1)
+@@ -559,6 +571,55 @@ int send_all(int fd, const void *_buf, int len1)
}
#endif /* !_WIN32 */
@@ -146,7 +146,7 @@ index 830f0c3..88b22c3 100644
#ifndef _WIN32
typedef struct {
-@@ -565,7 +626,7 @@ static int stdio_nb_clients = 0;
+@@ -572,7 +633,7 @@ static int stdio_nb_clients = 0;
static int fd_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
{
FDCharDriver *s = chr->opaque;
@@ -155,7 +155,7 @@ index 830f0c3..88b22c3 100644
}
static int fd_chr_read_poll(void *opaque)
-@@ -881,7 +942,7 @@ static int pty_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
+@@ -897,7 +958,7 @@ static int pty_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
pty_chr_update_read_handler(chr);
return 0;
}
@@ -164,7 +164,7 @@ index 830f0c3..88b22c3 100644
}
static int pty_chr_read_poll(void *opaque)
-@@ -1950,8 +2011,15 @@ static void tcp_closed(void *opaque)
+@@ -1978,8 +2039,15 @@ static void tcp_closed(void *opaque)
static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
{
TCPCharDriver *s = chr->opaque;
diff --git a/0030-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch b/0006-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
similarity index 83%
rename from 0030-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
rename to 0006-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
index 0594e32..d8fcefc 100644
--- a/0030-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
+++ b/0006-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
@@ -1,7 +1,7 @@
-From 56cbfb533c04cde3a55c1345ea0f9097b1ab13fa Mon Sep 17 00:00:00 2001
+From 9a773de6f770bf2f05acca786e14abd79a9f930c Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 22:02:47 +0100
-Subject: [PATCH 30/35] char: Equip the unix/tcp backend to handle nonblocking
+Subject: [PATCH 06/13] char: Equip the unix/tcp backend to handle nonblocking
writes#
Now that the infrastructure is in place to return -EAGAIN to callers,
@@ -18,7 +18,7 @@ Signed-off-by: Amit Shah <amit.shah at redhat.com>
1 files changed, 34 insertions(+), 0 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
-index 88b22c3..e9d7f0a 100644
+index 8789627..d811f2a 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -106,6 +106,19 @@
@@ -41,7 +41,7 @@ index 88b22c3..e9d7f0a 100644
static void qemu_chr_event(CharDriverState *s, int event)
{
/* Keep track if the char device is open */
-@@ -2268,6 +2281,25 @@ static void tcp_chr_close(CharDriverState *chr)
+@@ -2308,6 +2321,25 @@ static void tcp_chr_close(CharDriverState *chr)
qemu_chr_event(chr, CHR_EVENT_CLOSED);
}
@@ -64,13 +64,13 @@ index 88b22c3..e9d7f0a 100644
+ disable_write_fd_handler(s->fd);
+}
+
- static CharDriverState *qemu_chr_open_socket(QemuOpts *opts)
+ static int qemu_chr_open_socket(QemuOpts *opts, CharDriverState **_chr)
{
CharDriverState *chr = NULL;
-@@ -2320,6 +2352,8 @@ static CharDriverState *qemu_chr_open_socket(QemuOpts *opts)
- chr->chr_write = tcp_chr_write;
+@@ -2364,6 +2396,8 @@ static int qemu_chr_open_socket(QemuOpts *opts, CharDriverState **_chr)
chr->chr_close = tcp_chr_close;
chr->get_msgfd = tcp_get_msgfd;
+ chr->chr_add_client = tcp_chr_add_client;
+ chr->chr_enable_write_fd_handler = tcp_enable_write_fd_handler;
+ chr->chr_disable_write_fd_handler = tcp_disable_write_fd_handler;
diff --git a/0031-char-Throttle-when-host-connection-is-down.patch b/0007-char-Throttle-when-host-connection-is-down.patch
similarity index 88%
rename from 0031-char-Throttle-when-host-connection-is-down.patch
rename to 0007-char-Throttle-when-host-connection-is-down.patch
index a60c0e7..edfd98e 100644
--- a/0031-char-Throttle-when-host-connection-is-down.patch
+++ b/0007-char-Throttle-when-host-connection-is-down.patch
@@ -1,7 +1,7 @@
-From 00cf9482be18cdacda0ae9b207b84a7e86ca1d11 Mon Sep 17 00:00:00 2001
+From 7e19009aa497ae5bc2da8dfedb956f8a705698f1 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 22:05:10 +0100
-Subject: [PATCH 31/35] char: Throttle when host connection is down#
+Subject: [PATCH 07/13] char: Throttle when host connection is down#
When the host-side connection goes down, throttle the virtio-serial bus
and later unthrottle when a connection gets established. This helps
@@ -20,7 +20,7 @@ Signed-off-by: Amit Shah <amit.shah at redhat.com>
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/qemu-char.c b/qemu-char.c
-index e9d7f0a..77ab1ed 100644
+index d811f2a..111fdc8 100644
--- a/qemu-char.c
+++ b/qemu-char.c
@@ -140,6 +140,9 @@ static void qemu_chr_generic_open_bh(void *opaque)
@@ -33,7 +33,7 @@ index e9d7f0a..77ab1ed 100644
qemu_bh_delete(s->bh);
s->bh = NULL;
}
-@@ -2031,6 +2034,17 @@ static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
+@@ -2059,6 +2062,17 @@ static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
ret = send_all(chr, s->fd, buf, len);
if (ret == -1 && errno == EPIPE) {
tcp_closed(chr);
diff --git a/0032-virtio-console-Enable-port-throttling-when-chardev-i.patch b/0008-virtio-console-Enable-port-throttling-when-chardev-i.patch
similarity index 83%
rename from 0032-virtio-console-Enable-port-throttling-when-chardev-i.patch
rename to 0008-virtio-console-Enable-port-throttling-when-chardev-i.patch
index 4d130a8..a3c07df 100644
--- a/0032-virtio-console-Enable-port-throttling-when-chardev-i.patch
+++ b/0008-virtio-console-Enable-port-throttling-when-chardev-i.patch
@@ -1,7 +1,7 @@
-From ba203585e61d1fbe6ba45683d958d261678641ad Mon Sep 17 00:00:00 2001
+From badc85629db4d774f3b5b41070474bd5479d5be3 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah at redhat.com>
Date: Mon, 21 Mar 2011 22:06:41 +0100
-Subject: [PATCH 32/35] virtio-console: Enable port throttling when chardev is
+Subject: [PATCH 08/13] virtio-console: Enable port throttling when chardev is
slow to consume data
When a chardev indicates it can't accept more data, we tell the
@@ -16,10 +16,10 @@ Signed-off-by: Amit Shah <amit.shah at redhat.com>
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/hw/virtio-console.c b/hw/virtio-console.c
-index 147a467..9286f6e 100644
+index cfc3087..b91f46e 100644
--- a/hw/virtio-console.c
+++ b/hw/virtio-console.c
-@@ -19,6 +19,16 @@ typedef struct VirtConsole {
+@@ -20,6 +20,16 @@ typedef struct VirtConsole {
CharDriverState *chr;
} VirtConsole;
@@ -36,7 +36,7 @@ index 147a467..9286f6e 100644
/* Callback function that's called when the guest sends us data */
static ssize_t flush_buf(VirtIOSerialPort *port, const uint8_t *buf, size_t len)
-@@ -78,6 +88,7 @@ static const QemuChrHandlers chr_handlers = {
+@@ -99,6 +109,7 @@ static const QemuChrHandlers chr_handlers = {
.fd_can_read = chr_can_read,
.fd_read = chr_read,
.fd_event = chr_event,
diff --git a/0033-spice-qemu-char.c-add-throttling.patch b/0009-spice-qemu-char.c-add-throttling.patch
similarity index 95%
rename from 0033-spice-qemu-char.c-add-throttling.patch
rename to 0009-spice-qemu-char.c-add-throttling.patch
index 0696f81..7c2b68b 100644
--- a/0033-spice-qemu-char.c-add-throttling.patch
+++ b/0009-spice-qemu-char.c-add-throttling.patch
@@ -1,7 +1,7 @@
-From 7322ad318ecde8669e68ef1314e97b4553a327fa Mon Sep 17 00:00:00 2001
+From 433a034b4ee87fe228be4e7f7e4399101d1e33c8 Mon Sep 17 00:00:00 2001
From: Alon Levy <alevy at redhat.com>
Date: Tue, 22 Mar 2011 12:27:59 +0200
-Subject: [PATCH 33/35] spice-qemu-char.c: add throttling
+Subject: [PATCH 09/13] spice-qemu-char.c: add throttling
BZ: 672191
@@ -39,7 +39,7 @@ is reworked to use glib.
1 files changed, 35 insertions(+), 4 deletions(-)
diff --git a/spice-qemu-char.c b/spice-qemu-char.c
-index 605c241..9348f65 100644
+index 95bf6b6..0f72e91 100644
--- a/spice-qemu-char.c
+++ b/spice-qemu-char.c
@@ -1,4 +1,6 @@
@@ -120,7 +120,7 @@ index 605c241..9348f65 100644
}
static void spice_chr_close(struct CharDriverState *chr)
-@@ -196,6 +226,7 @@ CharDriverState *qemu_chr_open_spice(QemuOpts *opts)
+@@ -196,6 +226,7 @@ int qemu_chr_open_spice(QemuOpts *opts, CharDriverState **_chr)
chr->chr_close = spice_chr_close;
chr->chr_guest_open = spice_chr_guest_open;
chr->chr_guest_close = spice_chr_guest_close;
diff --git a/0034-spice-qemu-char.c-remove-intermediate-buffer.patch b/0010-spice-qemu-char.c-remove-intermediate-buffer.patch
similarity index 94%
rename from 0034-spice-qemu-char.c-remove-intermediate-buffer.patch
rename to 0010-spice-qemu-char.c-remove-intermediate-buffer.patch
index c2a5c69..3999246 100644
--- a/0034-spice-qemu-char.c-remove-intermediate-buffer.patch
+++ b/0010-spice-qemu-char.c-remove-intermediate-buffer.patch
@@ -1,7 +1,7 @@
-From 8b7c5738faa2c7851ecc92182467a564bf7c9109 Mon Sep 17 00:00:00 2001
+From 7735740bd0c9f2d9585c64cc5f975dd03f2a7c11 Mon Sep 17 00:00:00 2001
From: Alon Levy <alevy at redhat.com>
Date: Tue, 22 Mar 2011 12:28:00 +0200
-Subject: [PATCH 34/35] spice-qemu-char.c: remove intermediate buffer
+Subject: [PATCH 10/13] spice-qemu-char.c: remove intermediate buffer
BZ: 672191
upstream: not submitted (explained below)
@@ -20,7 +20,7 @@ can't go upstream right now as explained in that patch.
1 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/spice-qemu-char.c b/spice-qemu-char.c
-index 9348f65..ce75e91 100644
+index 0f72e91..2b8aec4 100644
--- a/spice-qemu-char.c
+++ b/spice-qemu-char.c
@@ -23,9 +23,8 @@ typedef struct SpiceCharDriver {
diff --git a/0035-usb-redir-Add-flow-control-support.patch b/0011-usb-redir-Add-flow-control-support.patch
similarity index 92%
rename from 0035-usb-redir-Add-flow-control-support.patch
rename to 0011-usb-redir-Add-flow-control-support.patch
index c03c813..f23ad36 100644
--- a/0035-usb-redir-Add-flow-control-support.patch
+++ b/0011-usb-redir-Add-flow-control-support.patch
@@ -1,7 +1,7 @@
-From f7f2f55e2a8beb68fc81c1def7a0a4436664ed97 Mon Sep 17 00:00:00 2001
+From 2b797647b4a85a765bfdd8f4539d1fa10daad4fa Mon Sep 17 00:00:00 2001
From: Hans de Goede <hdegoede at redhat.com>
Date: Tue, 19 Jul 2011 10:56:19 +0200
-Subject: [PATCH 35/35] usb-redir: Add flow control support
+Subject: [PATCH 11/13] usb-redir: Add flow control support
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
---
diff --git a/0012-usb-redir-Call-qemu_chr_guest_open-close.patch b/0012-usb-redir-Call-qemu_chr_guest_open-close.patch
new file mode 100644
index 0000000..bcf6f9c
--- /dev/null
+++ b/0012-usb-redir-Call-qemu_chr_guest_open-close.patch
@@ -0,0 +1,37 @@
+From 824ab3383370291885f1a18978018a41cfac7ee8 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 21 Jul 2011 16:28:06 +0200
+Subject: [PATCH 12/13] usb-redir: Call qemu_chr_guest_open/close
+
+To let the chardev now we're ready start receiving data. This is necessary
+with the spicevmc chardev to get it registered with the spice-server.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ usb-redir.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/usb-redir.c b/usb-redir.c
+index 6932beb..d1aafda 100644
+--- a/usb-redir.c
++++ b/usb-redir.c
+@@ -840,6 +840,8 @@ static int usbredir_initfn(USBDevice *udev)
+ udev->auto_attach = 0;
+
+ qemu_chr_add_handlers(dev->cs, &usbredir_chr_handlers, dev);
++ /* Let the other side know we are ready */
++ qemu_chr_guest_open(dev->cs);
+
+ return 0;
+ }
+@@ -861,6 +863,7 @@ static void usbredir_handle_destroy(USBDevice *udev)
+ {
+ USBRedirDevice *dev = DO_UPCAST(USBRedirDevice, dev, udev);
+
++ qemu_chr_guest_close(dev->cs);
+ qemu_chr_close(dev->cs);
+ /* Note must be done after qemu_chr_close, as that causes a close event */
+ qemu_bh_delete(dev->open_close_bh);
+--
+1.7.5.1
+
diff --git a/0013-spice-qemu-char-Generate-chardev-open-close-events.patch b/0013-spice-qemu-char-Generate-chardev-open-close-events.patch
new file mode 100644
index 0000000..2ba39ad
--- /dev/null
+++ b/0013-spice-qemu-char-Generate-chardev-open-close-events.patch
@@ -0,0 +1,90 @@
+From 5149f056bd4fbeeb0ce3b850febe213a305a348b Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 21 Jul 2011 15:36:40 +0200
+Subject: [PATCH 13/13] spice-qemu-char: Generate chardev open/close events
+
+Define a state callback and make that generate chardev open/close events when
+called by the spice-server.
+
+Note that for all but the newest spice-server versions (which have a fix for
+this) the code ignores these events for a spicevmc with a subtype of vdagent,
+this subtype specific knowledge is undesirable, but unavoidable for now, see:
+http://lists.freedesktop.org/archives/spice-devel/2011-July/004837.html
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ spice-qemu-char.c | 46 +++++++++++++++++++++++++++++++++++++++++++++-
+ 1 files changed, 45 insertions(+), 1 deletions(-)
+
+diff --git a/spice-qemu-char.c b/spice-qemu-char.c
+index 2b8aec4..1f4f1ec 100644
+--- a/spice-qemu-char.c
++++ b/spice-qemu-char.c
+@@ -89,11 +89,50 @@ static int vmc_read(SpiceCharDeviceInstance *sin, uint8_t *buf, int len)
+ return bytes;
+ }
+
++static void vmc_state(SpiceCharDeviceInstance *sin, int connected)
++{
++ SpiceCharDriver *scd = container_of(sin, SpiceCharDriver, sin);
++ int event;
++
++#if SPICE_SERVER_VERSION < 0x000901
++ /*
++ * spice-server calls the state callback for the agent channel when the
++ * spice client connects / disconnects. Given that not the client but
++ * the server is doing the parsing of the messages this is wrong as the
++ * server is still listening. Worse, this causes the parser in the server
++ * to go out of sync, so we ignore state calls for subtype vdagent
++ * spicevmc chardevs. For the full story see:
++ * http://lists.freedesktop.org/archives/spice-devel/2011-July/004837.html
++ */
++ if (strcmp(sin->subtype, "vdagent") == 0) {
++ return;
++ }
++#endif
++
++ if ((scd->chr->opened && connected) ||
++ (!scd->chr->opened && !connected)) {
++ return;
++ }
++
++ if (connected) {
++ scd->chr->opened = 1;
++ event = CHR_EVENT_OPENED;
++ } else {
++ scd->chr->opened = 0;
++ event = CHR_EVENT_CLOSED;
++ }
++
++ if (scd->chr->chr_event) {
++ scd->chr->chr_event(scd->chr->handler_opaque, event);
++ }
++}
++
+ static SpiceCharDeviceInterface vmc_interface = {
+ .base.type = SPICE_INTERFACE_CHAR_DEVICE,
+ .base.description = "spice virtual channel char device",
+ .base.major_version = SPICE_INTERFACE_CHAR_DEVICE_MAJOR,
+ .base.minor_version = SPICE_INTERFACE_CHAR_DEVICE_MINOR,
++ .state = vmc_state,
+ .write = vmc_write,
+ .read = vmc_read,
+ };
+@@ -222,7 +261,12 @@ int qemu_chr_open_spice(QemuOpts *opts, CharDriverState **_chr)
+ chr->chr_guest_close = spice_chr_guest_close;
+ s->unblock_timer = qemu_new_timer_ms(vm_clock, spice_chr_unblock, s);
+
+- qemu_chr_generic_open(chr);
++#if SPICE_SERVER_VERSION < 0x000901
++ /* See comment in vmc_state() */
++ if (strcmp(subtype, "vdagent") == 0) {
++ qemu_chr_generic_open(chr);
++ }
++#endif
+
+ *_chr = chr;
+ return 0;
+--
+1.7.5.1
+
diff --git a/qemu.spec b/qemu.spec
index f423c2b..0d88168 100644
--- a/qemu.spec
+++ b/qemu.spec
@@ -1,9 +1,9 @@
-%define githead 525e3df
+%define githead 59fadcc
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 0.15.0
-Release: 0.2.20110718%githead%{?dist}
+Release: 0.2.20110728%githead%{?dist}
# Epoch because we pushed a qemu-1.0 package
Epoch: 2
License: GPLv2+ and LGPLv2+ and BSD
@@ -22,7 +22,7 @@ URL: http://www.qemu.org/
# Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz
# The source for this package was pulled from upstream's git. Use the
# following commands to generate the tarball:
-# git archive --format=tar --prefix=qemu-kvm-0.15/ 525e3df | gzip > qemu-kvm-0.15.0-525e3df.tar.gz
+# git archive --format=tar --prefix=qemu-kvm-0.15.0/ 59fadcc | gzip > qemu-kvm-0.15.0-59fadcc.tar.gz
Source0: qemu-kvm-%{version}-%{githead}.tar.gz
Source1: qemu.init
@@ -40,45 +40,20 @@ Source6: ksmtuned.init
Source7: ksmtuned
Source8: ksmtuned.conf
-# Sync with: http://www.kraxel.org/cgit/qemu/log/?h=usb.19
-# USB patches waiting to be pulled by upstream
-Patch1: 0001-hw-usb-musb.c-Don-t-misuse-usb_packet_complete.patch
-Patch2: 0002-usb-Add-a-usb_fill_port-helper-function.patch
-Patch3: 0003-usb-Move-initial-call-of-usb_port_location-to-usb_fi.patch
-Patch4: 0004-usb-Add-a-register_companion-USB-bus-op.patch
-Patch5: 0005-usb-Make-port-wakeup-and-complete-ops-take-a-USBPort.patch
-Patch6: 0006-usb-Replace-device_destroy-bus-op-with-a-child_detac.patch
-Patch7: 0007-usb-ehci-drop-unused-num-ports-state-member.patch
-Patch8: 0008-usb-ehci-Connect-Status-bit-is-read-only-don-t-allow.patch
-Patch9: 0009-usb-ehci-cleanup-port-reset-handling.patch
-Patch10: 0010-usb-assert-on-calling-usb_attach-port-NULL-on-a-port.patch
-Patch11: 0011-usb-ehci-Fix-handling-of-PED-and-PEDC-port-status-bi.patch
-Patch12: 0012-usb-ehci-Add-support-for-registering-companion-contr.patch
-Patch13: 0013-usb-uhci-Add-support-for-being-a-companion-controlle.patch
-Patch14: 0014-usb-ohci-Add-support-for-being-a-companion-controlle.patch
-Patch15: 0015-pci-add-ich9-usb-controller-ids.patch
-Patch16: 0016-uhci-add-ich9-controllers.patch
-Patch17: 0017-ehci-fix-port-count.patch
-Patch18: 0018-ehci-add-ich9-controller.patch
-Patch19: 0019-usb-update-documentation.patch
-Patch20: 0020-usb_register_port-do-not-set-port-opaque-and-port-in.patch
-Patch21: 0021-usb-fixup-bluetooth-descriptors.patch
-Patch22: 0022-usb-hub-remove-unused-descriptor-arrays.patch
-Patch23: 0023-usb-ohci-raise-interrupt-on-attach.patch
-# Add usb-redir device, under review upstream
-Patch24: 0024-USB-add-usb-network-redirection-support.patch
# Amit's flow control patches, waiting to glib conversion before going upstream
-Patch25: 0025-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
-Patch26: 0026-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
-Patch27: 0027-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
-Patch28: 0028-char-Add-framework-for-a-write-unblocked-callback.patch
-Patch29: 0029-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
-Patch30: 0030-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
-Patch31: 0031-char-Throttle-when-host-connection-is-down.patch
-Patch32: 0032-virtio-console-Enable-port-throttling-when-chardev-i.patch
-Patch33: 0033-spice-qemu-char.c-add-throttling.patch
-Patch34: 0034-spice-qemu-char.c-remove-intermediate-buffer.patch
-Patch35: 0035-usb-redir-Add-flow-control-support.patch
+Patch01: 0001-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
+Patch02: 0002-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
+Patch03: 0003-iohandlers-Add-enable-disable_write_fd_handler-funct.patch
+Patch04: 0004-char-Add-framework-for-a-write-unblocked-callback.patch
+Patch05: 0005-char-Update-send_all-to-handle-nonblocking-chardev-w.patch
+Patch06: 0006-char-Equip-the-unix-tcp-backend-to-handle-nonblockin.patch
+Patch07: 0007-char-Throttle-when-host-connection-is-down.patch
+Patch08: 0008-virtio-console-Enable-port-throttling-when-chardev-i.patch
+Patch09: 0009-spice-qemu-char.c-add-throttling.patch
+Patch10: 0010-spice-qemu-char.c-remove-intermediate-buffer.patch
+Patch11: 0011-usb-redir-Add-flow-control-support.patch
+Patch12: 0012-usb-redir-Call-qemu_chr_guest_open-close.patch
+Patch13: 0013-spice-qemu-char-Generate-chardev-open-close-events.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
@@ -252,41 +227,19 @@ such as kvm_stat.
%prep
%setup -q -n qemu-kvm-%{version}
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
+%patch01 -p1
+%patch02 -p1
+%patch03 -p1
+%patch04 -p1
+%patch05 -p1
+%patch06 -p1
+%patch07 -p1
+%patch08 -p1
+%patch09 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-%patch20 -p1
-%patch21 -p1
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
-%patch26 -p1
-%patch27 -p1
-%patch28 -p1
-%patch29 -p1
-%patch30 -p1
-%patch31 -p1
-%patch32 -p1
-%patch33 -p1
-%patch34 -p1
-%patch35 -p1
%build
# By default we build everything, but allow x86 to build a minimal version
@@ -515,6 +468,7 @@ fi
%{_initddir}/qemu
%{_bindir}/qemu-i386
%{_bindir}/qemu-x86_64
+%{_bindir}/qemu-ga
%if !%{with_x86only}
%{_bindir}/qemu-alpha
%{_bindir}/qemu-arm
@@ -596,6 +550,9 @@ fi
%{_mandir}/man1/qemu-img.1*
%changelog
+* Thu Jul 28 2011 Justin M. Forbes <jforbes at redhat.com> - 2:0.15.0-0.1.2011072859fadcc
+- Update to 0.15.0-rc0 as we prepare for 0.15.0 release
+
* Tue Jul 19 2011 Hans de Goede <hdegoede at redhat.com> - 2:0.15.0-0.2.20110718525e3df
- Add support usb redirection over the network, see:
http://fedoraproject.org/wiki/Features/UsbNetworkRedirection
diff --git a/sources b/sources
index 2826ce6..ff5bb55 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-cbd0d49d1490ca90208609cd158eb080 qemu-kvm-0.15.0-525e3df.tar.gz
+b0d29c5405ec451421d98d335762ff7c qemu-kvm-0.15.0-59fadcc.tar.gz
More information about the scm-commits
mailing list