Update to qemu-kvm 1.2.0-rc1
This commit is contained in:
parent
a383819763
commit
bd56df9b7a
1
.gitignore
vendored
1
.gitignore
vendored
@ -14,3 +14,4 @@ qemu-kvm-0.13.0-25fdf4a.tar.gz
|
||||
/qemu-kvm-1.1.1.tar.gz
|
||||
/qemu-1.2-0.1.20120806git3e430569.fc18.src.rpm
|
||||
/qemu-kvm-1.2-3e430569.tar.gz
|
||||
/qemu-kvm-1.2.0-rc1.tar.gz
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 2852820d9d765141c9bae0f586c9b782258fb07d Mon Sep 17 00:00:00 2001
|
||||
From 4ba58730950a376dfb9f0424acb2b2cc3fbeda4f Mon Sep 17 00:00:00 2001
|
||||
From: Cole Robinson <crobinso@redhat.com>
|
||||
Date: Mon, 6 Aug 2012 17:12:40 -0400
|
||||
Subject: [PATCH] mips: Fix link error with 'piix4_pm_init'
|
||||
@ -7,6 +7,8 @@ Subject: [PATCH] mips: Fix link error with 'piix4_pm_init'
|
||||
LINK m68k-softmmu/qemu-system-m68k
|
||||
hw/mips/../mips_malta.o: In function `mips_malta_init':
|
||||
/home/crobinso/qemu-kvm/hw/mips/../mips_malta.c:961: undefined reference to `piix4_pm_init'
|
||||
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
hw/mips/Makefile.objs | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
@ -1,134 +0,0 @@
|
||||
From 26b9b5fe17cc1b6be2e8bf8b9d16094f420bb8ad Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Date: Mon, 6 Aug 2012 15:26:14 +0200
|
||||
Subject: [PATCH] virtio: fix vhost handling
|
||||
|
||||
Commit b1f416aa8d870fab71030abc9401cfc77b948e8e breaks vhost_net
|
||||
because it always registers the virtio_pci_host_notifier_read() handler
|
||||
function on the ioeventfd, even when vhost_net.ko is using the ioeventfd.
|
||||
The result is both QEMU and vhost_net.ko polling on the same eventfd
|
||||
and the virtio_net.ko guest driver seeing inconsistent results:
|
||||
|
||||
# ifconfig eth0 192.168.0.1 netmask 255.255.255.0
|
||||
virtio_net virtio0: output:id 0 is not a head!
|
||||
|
||||
To fix this, proceed the same as we do for irqfd: add a parameter to
|
||||
virtio_queue_set_host_notifier_fd_handler and in that case only set
|
||||
the notifier, not the handler.
|
||||
|
||||
Cc: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
|
||||
Tested-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
|
||||
Reviewed-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
||||
---
|
||||
hw/virtio-pci.c | 14 +++++++-------
|
||||
hw/virtio.c | 7 +++++--
|
||||
hw/virtio.h | 3 ++-
|
||||
3 files changed, 14 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
|
||||
index 3ab9747..125eded 100644
|
||||
--- a/hw/virtio-pci.c
|
||||
+++ b/hw/virtio-pci.c
|
||||
@@ -160,7 +160,7 @@ static int virtio_pci_load_queue(void * opaque, int n, QEMUFile *f)
|
||||
}
|
||||
|
||||
static int virtio_pci_set_host_notifier_internal(VirtIOPCIProxy *proxy,
|
||||
- int n, bool assign)
|
||||
+ int n, bool assign, bool set_handler)
|
||||
{
|
||||
VirtQueue *vq = virtio_get_queue(proxy->vdev, n);
|
||||
EventNotifier *notifier = virtio_queue_get_host_notifier(vq);
|
||||
@@ -173,13 +173,13 @@ static int virtio_pci_set_host_notifier_internal(VirtIOPCIProxy *proxy,
|
||||
__func__, r);
|
||||
return r;
|
||||
}
|
||||
- virtio_queue_set_host_notifier_fd_handler(vq, true);
|
||||
+ virtio_queue_set_host_notifier_fd_handler(vq, true, set_handler);
|
||||
memory_region_add_eventfd(&proxy->bar, VIRTIO_PCI_QUEUE_NOTIFY, 2,
|
||||
true, n, notifier);
|
||||
} else {
|
||||
memory_region_del_eventfd(&proxy->bar, VIRTIO_PCI_QUEUE_NOTIFY, 2,
|
||||
true, n, notifier);
|
||||
- virtio_queue_set_host_notifier_fd_handler(vq, false);
|
||||
+ virtio_queue_set_host_notifier_fd_handler(vq, false, false);
|
||||
event_notifier_cleanup(notifier);
|
||||
}
|
||||
return r;
|
||||
@@ -200,7 +200,7 @@ static void virtio_pci_start_ioeventfd(VirtIOPCIProxy *proxy)
|
||||
continue;
|
||||
}
|
||||
|
||||
- r = virtio_pci_set_host_notifier_internal(proxy, n, true);
|
||||
+ r = virtio_pci_set_host_notifier_internal(proxy, n, true, true);
|
||||
if (r < 0) {
|
||||
goto assign_error;
|
||||
}
|
||||
@@ -214,7 +214,7 @@ assign_error:
|
||||
continue;
|
||||
}
|
||||
|
||||
- r = virtio_pci_set_host_notifier_internal(proxy, n, false);
|
||||
+ r = virtio_pci_set_host_notifier_internal(proxy, n, false, false);
|
||||
assert(r >= 0);
|
||||
}
|
||||
proxy->ioeventfd_started = false;
|
||||
@@ -235,7 +235,7 @@ static void virtio_pci_stop_ioeventfd(VirtIOPCIProxy *proxy)
|
||||
continue;
|
||||
}
|
||||
|
||||
- r = virtio_pci_set_host_notifier_internal(proxy, n, false);
|
||||
+ r = virtio_pci_set_host_notifier_internal(proxy, n, false, false);
|
||||
assert(r >= 0);
|
||||
}
|
||||
proxy->ioeventfd_started = false;
|
||||
@@ -683,7 +683,7 @@ static int virtio_pci_set_host_notifier(void *opaque, int n, bool assign)
|
||||
* currently only stops on status change away from ok,
|
||||
* reset, vmstop and such. If we do add code to start here,
|
||||
* need to check vmstate, device state etc. */
|
||||
- return virtio_pci_set_host_notifier_internal(proxy, n, assign);
|
||||
+ return virtio_pci_set_host_notifier_internal(proxy, n, assign, false);
|
||||
}
|
||||
|
||||
static void virtio_pci_vmstate_change(void *opaque, bool running)
|
||||
diff --git a/hw/virtio.c b/hw/virtio.c
|
||||
index d146f86..209c763 100644
|
||||
--- a/hw/virtio.c
|
||||
+++ b/hw/virtio.c
|
||||
@@ -1021,13 +1021,16 @@ static void virtio_queue_host_notifier_read(EventNotifier *n)
|
||||
}
|
||||
}
|
||||
|
||||
-void virtio_queue_set_host_notifier_fd_handler(VirtQueue *vq, bool assign)
|
||||
+void virtio_queue_set_host_notifier_fd_handler(VirtQueue *vq, bool assign,
|
||||
+ bool set_handler)
|
||||
{
|
||||
- if (assign) {
|
||||
+ if (assign && set_handler) {
|
||||
event_notifier_set_handler(&vq->host_notifier,
|
||||
virtio_queue_host_notifier_read);
|
||||
} else {
|
||||
event_notifier_set_handler(&vq->host_notifier, NULL);
|
||||
+ }
|
||||
+ if (!assign) {
|
||||
/* Test and clear notifier before after disabling event,
|
||||
* in case poll callback didn't have time to run. */
|
||||
virtio_queue_host_notifier_read(&vq->host_notifier);
|
||||
diff --git a/hw/virtio.h b/hw/virtio.h
|
||||
index f8b5535..7a4f564 100644
|
||||
--- a/hw/virtio.h
|
||||
+++ b/hw/virtio.h
|
||||
@@ -233,7 +233,8 @@ EventNotifier *virtio_queue_get_guest_notifier(VirtQueue *vq);
|
||||
void virtio_queue_set_guest_notifier_fd_handler(VirtQueue *vq, bool assign,
|
||||
bool with_irqfd);
|
||||
EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
|
||||
-void virtio_queue_set_host_notifier_fd_handler(VirtQueue *vq, bool assign);
|
||||
+void virtio_queue_set_host_notifier_fd_handler(VirtQueue *vq, bool assign,
|
||||
+ bool set_handler);
|
||||
void virtio_queue_notify_vq(VirtQueue *vq);
|
||||
void virtio_irq(VirtQueue *vq);
|
||||
#endif
|
||||
--
|
||||
1.7.10.4
|
||||
|
@ -1,4 +1,4 @@
|
||||
From b652c0572859e594fe8d1fc9fd2289126a4c3a1b Mon Sep 17 00:00:00 2001
|
||||
From 7b9b4ec74c7c0f63672d3aa627d7b153b71ba427 Mon Sep 17 00:00:00 2001
|
||||
From: Cole Robinson <crobinso@redhat.com>
|
||||
Date: Mon, 13 Aug 2012 18:39:54 -0400
|
||||
Subject: [PATCH] configure: Add --disable-kvm-options
|
||||
@ -18,18 +18,18 @@ Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 6b66d34..8f4d9e3 100755
|
||||
index bf3acc8..cf2dc9f 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -189,6 +189,7 @@ guest_base=""
|
||||
@@ -211,6 +211,7 @@ bsd_user="no"
|
||||
guest_base=""
|
||||
uname_release=""
|
||||
mixemu="no"
|
||||
kvm_cap_device_assignment="yes"
|
||||
+kvmoptions="yes"
|
||||
aix="no"
|
||||
blobs="yes"
|
||||
pkgversion=" ($(kvm_version))"
|
||||
@@ -707,6 +708,8 @@ for opt do
|
||||
@@ -747,6 +748,8 @@ for opt do
|
||||
;;
|
||||
--enable-kvm) kvm="yes"
|
||||
;;
|
||||
@ -38,24 +38,24 @@ index 6b66d34..8f4d9e3 100755
|
||||
--disable-tcg-interpreter) tcg_interpreter="no"
|
||||
;;
|
||||
--enable-tcg-interpreter) tcg_interpreter="yes"
|
||||
@@ -1071,6 +1074,8 @@ echo " --enable-bluez enable bluez stack connectivity"
|
||||
@@ -1113,6 +1116,8 @@ echo " --enable-bluez enable bluez stack connectivity"
|
||||
echo " --disable-slirp disable SLIRP userspace network connectivity"
|
||||
echo " --disable-kvm disable KVM acceleration support"
|
||||
echo " --enable-kvm enable KVM acceleration support"
|
||||
+echo " --disable-kvm-options if KVM is enabled, default to KVM=off, and"
|
||||
+echo " remove non-upstream cli options"
|
||||
echo " --enable-tcg-interpreter enable TCG with bytecode interpreter (TCI)"
|
||||
echo " --disable-kvm-device-assignment disable KVM device assignment support"
|
||||
echo " --enable-kvm-device-assignment enable KVM device assignment support"
|
||||
@@ -3101,6 +3106,7 @@ echo "Install blobs $blobs"
|
||||
echo " --disable-nptl disable usermode NPTL support"
|
||||
echo " --enable-nptl enable usermode NPTL support"
|
||||
@@ -3156,6 +3161,7 @@ echo "ATTR/XATTR support $attr"
|
||||
echo "Install blobs $blobs"
|
||||
echo "KVM support $kvm"
|
||||
echo "TCG interpreter $tcg_interpreter"
|
||||
echo "KVM device assig. $kvm_cap_device_assignment"
|
||||
+echo "KVM CLI options $kvmoptions"
|
||||
echo "fdt support $fdt"
|
||||
echo "preadv support $preadv"
|
||||
echo "fdatasync $fdatasync"
|
||||
@@ -3818,7 +3824,10 @@ case "$target_arch2" in
|
||||
@@ -3889,7 +3895,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
|
||||
|
@ -1,20 +1,23 @@
|
||||
From 618a5f8a10c69813dddd86d966ff1778f22ab456 Mon Sep 17 00:00:00 2001
|
||||
From 90a59d545ad6759c105b0bfcfca70f574482584f Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 21:57:47 +0100
|
||||
Subject: [PATCH] char: Split out tcp socket close code in a separate function
|
||||
Subject: [PATCH 101/114] char: Split out tcp socket close code in a separate
|
||||
function
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
qemu-char.c | 25 ++++++++++++++++---------
|
||||
1 file changed, 16 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index c2aaaee..132ac08 100644
|
||||
index 398baf1..8c53c05 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -2141,6 +2141,21 @@ typedef struct {
|
||||
@@ -2143,6 +2143,21 @@ static void tcp_chr_accept(void *opaque);
|
||||
|
||||
static void tcp_chr_accept(void *opaque);
|
||||
static void tcp_chr_connect(void *opaque);
|
||||
|
||||
+static void tcp_closed(void *opaque)
|
||||
+{
|
||||
@ -34,7 +37,7 @@ index c2aaaee..132ac08 100644
|
||||
static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
|
||||
{
|
||||
TCPCharDriver *s = chr->opaque;
|
||||
@@ -2291,15 +2306,7 @@ static void tcp_chr_read(void *opaque)
|
||||
@@ -2302,15 +2317,7 @@ static void tcp_chr_read(void *opaque)
|
||||
len = s->max_size;
|
||||
size = tcp_chr_recv(chr, (void *)buf, len);
|
||||
if (size == 0) {
|
||||
|
@ -1,13 +1,17 @@
|
||||
From 58011a6f6c7c284f6532486f819b5895be9b76c7 Mon Sep 17 00:00:00 2001
|
||||
From 25533bd7228f5cd62499a26ba5e32be024002beb Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <25533bd7228f5cd62499a26ba5e32be024002beb.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 20:31:45 +0100
|
||||
Subject: [PATCH] char: Add a QemuChrHandlers struct to initialise chardev
|
||||
handlers
|
||||
Subject: [PATCH 102/114] char: Add a QemuChrHandlers struct to initialise
|
||||
chardev handlers
|
||||
|
||||
Instead of passing each handler in the qemu_add_handlers() function,
|
||||
create a struct of handlers that can be passed to the function instead.
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
gdbstub.c | 9 +++++++--
|
||||
hw/cadence_uart.c | 9 +++++++--
|
||||
@ -278,7 +282,7 @@ index d4eae43..f2304d2 100644
|
||||
DPRINTF("No char dev for uart at 0x%lx\n",
|
||||
(unsigned long)s->iomem.ram_addr);
|
||||
diff --git a/hw/ivshmem.c b/hw/ivshmem.c
|
||||
index 0c58161..f9a7fe8 100644
|
||||
index b4d65a6..f20a356 100644
|
||||
--- a/hw/ivshmem.c
|
||||
+++ b/hw/ivshmem.c
|
||||
@@ -273,6 +273,18 @@ static void fake_irqfd(void *opaque, const uint8_t *buf, int size) {
|
||||
@ -328,7 +332,7 @@ index 0c58161..f9a7fe8 100644
|
||||
static int pci_ivshmem_init(PCIDevice *dev)
|
||||
{
|
||||
IVShmemState *s = DO_UPCAST(IVShmemState, dev, dev);
|
||||
@@ -730,8 +747,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
|
||||
@@ -731,8 +748,7 @@ static int pci_ivshmem_init(PCIDevice *dev)
|
||||
|
||||
s->eventfd_chr = g_malloc0(s->vectors * sizeof(CharDriverState *));
|
||||
|
||||
@ -571,7 +575,7 @@ index 1d1883d..ce1c765 100644
|
||||
s->eri = eri_source;
|
||||
s->rxi = rxi_source;
|
||||
diff --git a/hw/spapr_vty.c b/hw/spapr_vty.c
|
||||
index 99e52cc..e7cb84f 100644
|
||||
index 5da17a3..6c2ada1 100644
|
||||
--- a/hw/spapr_vty.c
|
||||
+++ b/hw/spapr_vty.c
|
||||
@@ -54,6 +54,11 @@ void vty_putchars(VIOsPAPRDevice *sdev, uint8_t *buf, int len)
|
||||
@ -778,10 +782,10 @@ index d0f32db..33f0cd5 100644
|
||||
}
|
||||
|
||||
diff --git a/monitor.c b/monitor.c
|
||||
index 99618a0..c020089 100644
|
||||
index 29e4287..c14698d 100644
|
||||
--- a/monitor.c
|
||||
+++ b/monitor.c
|
||||
@@ -4689,6 +4689,18 @@ static void sortcmdlist(void)
|
||||
@@ -4941,6 +4941,18 @@ static void sortcmdlist(void)
|
||||
* End:
|
||||
*/
|
||||
|
||||
@ -800,7 +804,7 @@ index 99618a0..c020089 100644
|
||||
void monitor_init(CharDriverState *chr, int flags)
|
||||
{
|
||||
static int is_first_init = 1;
|
||||
@@ -4712,12 +4724,10 @@ void monitor_init(CharDriverState *chr, int flags)
|
||||
@@ -4964,14 +4976,12 @@ void monitor_init(CharDriverState *chr, int flags)
|
||||
if (monitor_ctrl_mode(mon)) {
|
||||
mon->mc = g_malloc0(sizeof(MonitorControl));
|
||||
/* Control mode requires special handlers */
|
||||
@ -808,6 +812,8 @@ index 99618a0..c020089 100644
|
||||
- monitor_control_event, mon);
|
||||
+ qemu_chr_add_handlers(chr, &monitor_control_handlers, mon);
|
||||
qemu_chr_fe_set_echo(chr, true);
|
||||
|
||||
json_message_parser_init(&mon->mc->parser, handle_qmp_command);
|
||||
} else {
|
||||
- qemu_chr_add_handlers(chr, monitor_can_read, monitor_read,
|
||||
- monitor_event, mon);
|
||||
@ -816,7 +822,7 @@ index 99618a0..c020089 100644
|
||||
|
||||
QLIST_INSERT_HEAD(&mon_list, mon, entry);
|
||||
diff --git a/net/slirp.c b/net/slirp.c
|
||||
index 08adb97..f5ba440 100644
|
||||
index 8db66ea..63542cb 100644
|
||||
--- a/net/slirp.c
|
||||
+++ b/net/slirp.c
|
||||
@@ -593,6 +593,11 @@ static void guestfwd_read(void *opaque, const uint8_t *buf, int size)
|
||||
@ -842,7 +848,7 @@ index 08adb97..f5ba440 100644
|
||||
return 0;
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index 132ac08..5c5ae1e 100644
|
||||
index 8c53c05..19ae993 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -192,19 +192,26 @@ void qemu_chr_fe_printf(CharDriverState *s, const char *fmt, ...)
|
||||
|
@ -1,18 +1,23 @@
|
||||
From 4ab66ef979faf3ad59fbf2bb8406117b657f966b Mon Sep 17 00:00:00 2001
|
||||
From 1980701650660459d35db0f956f536c8790e2056 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <1980701650660459d35db0f956f536c8790e2056.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 20:32:58 +0100
|
||||
Subject: [PATCH] iohandlers: Add enable/disable_write_fd_handler() functions
|
||||
Subject: [PATCH 103/114] iohandlers: Add enable/disable_write_fd_handler()
|
||||
functions
|
||||
|
||||
These will be used to provide a cleaner API for the nonblocking case.
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
iohandler.c | 35 +++++++++++++++++++++++++++++++++++
|
||||
main-loop.h | 3 +++
|
||||
2 files changed, 38 insertions(+)
|
||||
|
||||
diff --git a/iohandler.c b/iohandler.c
|
||||
index 3c74de6..250fd0e 100644
|
||||
index dea4355..e663f83 100644
|
||||
--- a/iohandler.c
|
||||
+++ b/iohandler.c
|
||||
@@ -45,6 +45,41 @@ typedef struct IOHandlerRecord {
|
||||
|
@ -1,7 +1,10 @@
|
||||
From 73426a9cec4f1a32553b122c78d083a297412cf4 Mon Sep 17 00:00:00 2001
|
||||
From 8767b055fe84811f1caec3854b55a5d5541f72c9 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <8767b055fe84811f1caec3854b55a5d5541f72c9.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 21:41:42 +0100
|
||||
Subject: [PATCH] char: Add framework for a 'write unblocked' callback
|
||||
Subject: [PATCH 104/114] 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
|
||||
@ -10,13 +13,14 @@ patch just adds the function pointers to the CharDriverState structure,
|
||||
future patches will enable the nonblocking and callback functionality.
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
qemu-char.c | 3 +++
|
||||
qemu-char.h | 4 ++++
|
||||
2 files changed, 7 insertions(+)
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index 5c5ae1e..1b70447 100644
|
||||
index 19ae993..2c573fb 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -211,11 +211,14 @@ void qemu_chr_add_handlers(CharDriverState *s,
|
||||
|
@ -1,8 +1,11 @@
|
||||
From 8d1503b20a6a8f011b292c0f543acd98b4fc922e Mon Sep 17 00:00:00 2001
|
||||
From 1af0111d871f088f25e7854fe61302e1909ba4c4 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <1af0111d871f088f25e7854fe61302e1909ba4c4.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 22:00:27 +0100
|
||||
Subject: [PATCH] char: Update send_all() to handle nonblocking chardev write
|
||||
requests
|
||||
Subject: [PATCH 105/114] char: Update send_all() to handle nonblocking
|
||||
chardev write requests
|
||||
|
||||
The send_all function is modified to return to the caller in case the
|
||||
driver cannot handle any more data. It returns -EAGAIN or
|
||||
@ -15,6 +18,7 @@ Currently there's no driver or caller that supports this. Future
|
||||
commits will add such capability.
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
net/socket.c | 4 ++--
|
||||
qemu-char.c | 69 +++++++++++++++++++++++++++++++++++++++++++++++++++++------
|
||||
@ -37,7 +41,7 @@ index c172c24..aa7c99e 100644
|
||||
|
||||
static ssize_t net_socket_receive_dgram(NetClientState *nc, const uint8_t *buf, size_t size)
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index 1b70447..fbb6f5f 100644
|
||||
index 2c573fb..c2a3138 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -508,7 +508,7 @@ static CharDriverState *qemu_chr_open_mux(CharDriverState *drv)
|
||||
@ -153,7 +157,7 @@ index 1b70447..fbb6f5f 100644
|
||||
}
|
||||
|
||||
static int pty_chr_read_poll(void *opaque)
|
||||
@@ -2174,8 +2224,15 @@ static void tcp_closed(void *opaque)
|
||||
@@ -2176,8 +2226,15 @@ static void tcp_closed(void *opaque)
|
||||
static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
|
||||
{
|
||||
TCPCharDriver *s = chr->opaque;
|
||||
@ -168,10 +172,10 @@ index 1b70447..fbb6f5f 100644
|
||||
+ }
|
||||
+ return ret;
|
||||
} else {
|
||||
/* XXX: indicate an error ? */
|
||||
return len;
|
||||
/* (Re-)connect for unconnected writing */
|
||||
tcp_chr_connect(chr);
|
||||
diff --git a/qemu_socket.h b/qemu_socket.h
|
||||
index 4689ff3..3d780ce 100644
|
||||
index 30ae6af..fc58c8d 100644
|
||||
--- a/qemu_socket.h
|
||||
+++ b/qemu_socket.h
|
||||
@@ -36,7 +36,7 @@ int qemu_accept(int s, struct sockaddr *addr, socklen_t *addrlen);
|
||||
|
@ -1,8 +1,11 @@
|
||||
From 7eab128ea16406bf450e0e53d9d629c290b317d7 Mon Sep 17 00:00:00 2001
|
||||
From 2fa4be9d3b84d214f4ea9da8513ef664f412ad09 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <2fa4be9d3b84d214f4ea9da8513ef664f412ad09.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 22:02:47 +0100
|
||||
Subject: [PATCH] char: Equip the unix/tcp backend to handle nonblocking
|
||||
writes#
|
||||
Subject: [PATCH 106/114] char: Equip the unix/tcp backend to handle
|
||||
nonblocking writes#
|
||||
|
||||
Now that the infrastructure is in place to return -EAGAIN to callers,
|
||||
individual char drivers can set their update_fd_handlers() function to
|
||||
@ -13,12 +16,13 @@ A generic callback routine is used for unblocking writes and letting
|
||||
users of chardevs know that a driver became writable again.
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
qemu-char.c | 34 ++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 34 insertions(+)
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index fbb6f5f..cdc7f5c 100644
|
||||
index c2a3138..5e136fd 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -106,6 +106,19 @@
|
||||
@ -41,7 +45,7 @@ index fbb6f5f..cdc7f5c 100644
|
||||
void qemu_chr_be_event(CharDriverState *s, int event)
|
||||
{
|
||||
/* Keep track if the char device is open */
|
||||
@@ -2493,6 +2506,25 @@ static void tcp_chr_close(CharDriverState *chr)
|
||||
@@ -2504,6 +2517,25 @@ static void tcp_chr_close(CharDriverState *chr)
|
||||
qemu_chr_be_event(chr, CHR_EVENT_CLOSED);
|
||||
}
|
||||
|
||||
@ -67,7 +71,7 @@ index fbb6f5f..cdc7f5c 100644
|
||||
static CharDriverState *qemu_chr_open_socket(QemuOpts *opts)
|
||||
{
|
||||
CharDriverState *chr = NULL;
|
||||
@@ -2547,6 +2579,8 @@ static CharDriverState *qemu_chr_open_socket(QemuOpts *opts)
|
||||
@@ -2558,6 +2590,8 @@ static CharDriverState *qemu_chr_open_socket(QemuOpts *opts)
|
||||
chr->chr_close = tcp_chr_close;
|
||||
chr->get_msgfd = tcp_get_msgfd;
|
||||
chr->chr_add_client = tcp_chr_add_client;
|
||||
|
@ -1,7 +1,10 @@
|
||||
From a8803b2972223fea435b519272c347f164e05512 Mon Sep 17 00:00:00 2001
|
||||
From 33883808e5203f398ceac6eaf0b6647326df9c1f Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <33883808e5203f398ceac6eaf0b6647326df9c1f.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 22:05:10 +0100
|
||||
Subject: [PATCH] char: Throttle when host connection is down#
|
||||
Subject: [PATCH 107/114] 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
|
||||
@ -15,12 +18,13 @@ sent earlier for that bug, one write will end up getting lost in the
|
||||
worst case (host d/c, guest write, host connect).
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
qemu-char.c | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index cdc7f5c..caa2efb 100644
|
||||
index 5e136fd..d86ee88 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -140,6 +140,9 @@ static void qemu_chr_generic_open_bh(void *opaque)
|
||||
@ -33,7 +37,7 @@ index cdc7f5c..caa2efb 100644
|
||||
qemu_bh_delete(s->bh);
|
||||
s->bh = NULL;
|
||||
}
|
||||
@@ -2244,6 +2247,17 @@ static int tcp_chr_write(CharDriverState *chr, const uint8_t *buf, int len)
|
||||
@@ -2246,6 +2249,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);
|
||||
|
@ -1,8 +1,11 @@
|
||||
From 596c901c52b211425afe4d40e361d3ee1e5ec4bc Mon Sep 17 00:00:00 2001
|
||||
From 675cb3b8588b2ad494b304998bbf035144ed99be Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <675cb3b8588b2ad494b304998bbf035144ed99be.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Mon, 21 Mar 2011 22:06:41 +0100
|
||||
Subject: [PATCH] virtio-console: Enable port throttling when chardev is slow
|
||||
to consume data
|
||||
Subject: [PATCH 108/114] 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
|
||||
virtio-serial code to stop sending us any more data till we tell
|
||||
@ -11,6 +14,7 @@ keeps getting full and eventually the guest stops queueing more data.
|
||||
As soon as the chardev indicates it can accept more data, start pushing!
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
hw/virtio-console.c | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
@ -1,7 +1,10 @@
|
||||
From 3229d4b7de0d2611db5d4282b5d720861e63a085 Mon Sep 17 00:00:00 2001
|
||||
From 3f1c594ea851fdee517a824b1eed3e034cd051ec Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <3f1c594ea851fdee517a824b1eed3e034cd051ec.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Alon Levy <alevy@redhat.com>
|
||||
Date: Tue, 22 Mar 2011 12:27:59 +0200
|
||||
Subject: [PATCH] spice-qemu-char.c: add throttling
|
||||
Subject: [PATCH 109/114] spice-qemu-char.c: add throttling
|
||||
|
||||
BZ: 672191
|
||||
|
||||
@ -34,6 +37,8 @@ next vmc_read.
|
||||
This patch relies on Amit's series to expose throttling to chardev's, which
|
||||
was not accepted upstream, and will not be accepted upstream until the mainloop
|
||||
is reworked to use glib.
|
||||
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
spice-qemu-char.c | 39 +++++++++++++++++++++++++++++++++++----
|
||||
1 file changed, 35 insertions(+), 4 deletions(-)
|
||||
|
@ -1,7 +1,10 @@
|
||||
From 5b6e021bc56ffa305bfd68a23d7709df6856ec08 Mon Sep 17 00:00:00 2001
|
||||
From 682f29243b10ace00a42fed9920a94938abe2706 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <682f29243b10ace00a42fed9920a94938abe2706.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Alon Levy <alevy@redhat.com>
|
||||
Date: Tue, 22 Mar 2011 12:28:00 +0200
|
||||
Subject: [PATCH] spice-qemu-char.c: remove intermediate buffer
|
||||
Subject: [PATCH 110/114] spice-qemu-char.c: remove intermediate buffer
|
||||
|
||||
BZ: 672191
|
||||
upstream: not submitted (explained below)
|
||||
@ -15,6 +18,8 @@ Also make datalen int and not ssize_t (to fit spice_chr_write signature).
|
||||
|
||||
This relied on the previous patch that introduces throttling, which
|
||||
can't go upstream right now as explained in that patch.
|
||||
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
spice-qemu-char.c | 18 ++++++------------
|
||||
1 file changed, 6 insertions(+), 12 deletions(-)
|
||||
|
@ -1,9 +1,13 @@
|
||||
From 76cccf228dca6c73afabd7a82a576993bd15b3f1 Mon Sep 17 00:00:00 2001
|
||||
From 70a31fcb3f1238e92279cdc023b83ba3a3042cff Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <70a31fcb3f1238e92279cdc023b83ba3a3042cff.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Hans de Goede <hdegoede@redhat.com>
|
||||
Date: Tue, 19 Jul 2011 10:56:19 +0200
|
||||
Subject: [PATCH] usb-redir: Add flow control support
|
||||
Subject: [PATCH 111/114] usb-redir: Add flow control support
|
||||
|
||||
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
hw/usb/redirect.c | 26 ++++++++++++++++++++++++--
|
||||
1 file changed, 24 insertions(+), 2 deletions(-)
|
||||
|
@ -1,7 +1,10 @@
|
||||
From 6ed4b7c0b0ed061925036744f60e376194cd67a3 Mon Sep 17 00:00:00 2001
|
||||
From 452bc9fd704b7f51a63effb05c9283a9aaf7bc99 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <452bc9fd704b7f51a63effb05c9283a9aaf7bc99.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Alon Levy <alevy@redhat.com>
|
||||
Date: Thu, 28 Jul 2011 15:08:48 +0300
|
||||
Subject: [PATCH] virtio-serial-bus: replay guest_open on migration
|
||||
Subject: [PATCH 112/114] 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.
|
||||
@ -17,6 +20,7 @@ already carry the guest_connected state. This patch passes that bit to the
|
||||
chardev.
|
||||
|
||||
Signed-off-by: Alon Levy <alevy@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
hw/virtio-serial-bus.c | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
@ -1,7 +1,10 @@
|
||||
From 131729b07be897a363d8d769ecc056dabe2ed7da Mon Sep 17 00:00:00 2001
|
||||
From 34b7ca715ee45925b76fbeb23a24c16015adba33 Mon Sep 17 00:00:00 2001
|
||||
Message-Id: <34b7ca715ee45925b76fbeb23a24c16015adba33.1346162949.git.crobinso@redhat.com>
|
||||
In-Reply-To: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
References: <90a59d545ad6759c105b0bfcfca70f574482584f.1346162949.git.crobinso@redhat.com>
|
||||
From: Amit Shah <amit.shah@redhat.com>
|
||||
Date: Fri, 2 Dec 2011 15:42:55 +0530
|
||||
Subject: [PATCH] char: Disable write callback if throttled chardev is
|
||||
Subject: [PATCH 113/114] char: Disable write callback if throttled chardev is
|
||||
detached
|
||||
|
||||
If a throttled chardev is detached from the frontend device, all future
|
||||
@ -11,12 +14,13 @@ Bugzilla: 745758
|
||||
Upstream: Not applicable, since throttling is a RHEL6-only feature.
|
||||
|
||||
Signed-off-by: Amit Shah <amit.shah@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
qemu-char.c | 5 +++++
|
||||
1 file changed, 5 insertions(+)
|
||||
|
||||
diff --git a/qemu-char.c b/qemu-char.c
|
||||
index caa2efb..7f24878 100644
|
||||
index d86ee88..9defbec 100644
|
||||
--- a/qemu-char.c
|
||||
+++ b/qemu-char.c
|
||||
@@ -223,6 +223,11 @@ void qemu_chr_add_handlers(CharDriverState *s,
|
||||
|
32
qemu.spec
32
qemu.spec
@ -34,13 +34,12 @@
|
||||
%bcond_without fdt # enabled
|
||||
%endif
|
||||
|
||||
%global gitdate 20120806
|
||||
%global gitcommit 3e430569
|
||||
%global rcversion rc1
|
||||
|
||||
Summary: QEMU is a FAST! processor emulator
|
||||
Name: qemu
|
||||
Version: 1.2
|
||||
Release: 0.3.%{gitdate}git%{gitcommit}%{?dist}
|
||||
Version: 1.2.0
|
||||
Release: 0.4.%{rcversion}%{?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
|
||||
@ -56,14 +55,7 @@ ExclusiveArch: x86_64
|
||||
%define _smp_mflags %{nil}
|
||||
%endif
|
||||
|
||||
# There aren't any 1.2 releases yet, so we have to pull from git:
|
||||
#
|
||||
# git clone git://git.kernel.org/pub/scm/virt/kvm/qemu-kvm.git
|
||||
# cd qemu-kvm
|
||||
# git archive -o ../qemu-kvm-%{version}-%{gitcommit}.tar.gz \
|
||||
# --prefix=qemu-kvm-%{version}/ %{gitcommit}
|
||||
Source0: qemu-kvm-%{version}-%{gitcommit}.tar.gz
|
||||
#Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz
|
||||
Source0: http://downloads.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}-%{rcversion}.tar.gz
|
||||
|
||||
Source1: qemu.binfmt
|
||||
|
||||
@ -88,12 +80,9 @@ Source11: 99-qemu-guest-agent.rules
|
||||
Patch1: 0001-mips-Fix-link-error-with-piix4_pm_init.patch
|
||||
|
||||
# Add ./configure --disable-kvm-options
|
||||
# Sent upstream on August 13 2012
|
||||
# keep: Carrying locally until qemu-kvm is fully merged into qemu.git
|
||||
Patch2: 0002-configure-Add-disable-kvm-options.patch
|
||||
|
||||
# Fix broken vhost-net (upstream).
|
||||
Patch3: 0001-virtio-fix-vhost-handling.patch
|
||||
|
||||
# The infamous chardev flow control patches
|
||||
Patch101: 0101-char-Split-out-tcp-socket-close-code-in-a-separate-f.patch
|
||||
Patch102: 0102-char-Add-a-QemuChrHandlers-struct-to-initialise-char.patch
|
||||
@ -127,6 +116,7 @@ BuildRequires: texinfo
|
||||
%ifarch %{ix86} x86_64
|
||||
BuildRequires: spice-protocol >= 0.8.1
|
||||
BuildRequires: spice-server-devel >= 0.9.0
|
||||
BuildRequires: libseccomp-devel >= 1.0.0
|
||||
%endif
|
||||
# For network block driver
|
||||
BuildRequires: libcurl-devel
|
||||
@ -287,6 +277,9 @@ Requires: vgabios >= 0.6c-2
|
||||
Requires: seabios-bin >= 0.6.0-2
|
||||
Requires: sgabios-bin
|
||||
Requires: ipxe-roms-qemu
|
||||
%ifarch %{ix86} x86_64
|
||||
Requires: libseccomp >= 1.0.0
|
||||
%endif
|
||||
|
||||
%description system-x86
|
||||
QEMU is a generic and open source processor emulator which achieves a good
|
||||
@ -382,11 +375,10 @@ such as kvm_stat.
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q -n qemu-kvm-%{version}
|
||||
%setup -q -n qemu-kvm-%{version}-%{rcversion}
|
||||
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%patch101 -p1
|
||||
%patch102 -p1
|
||||
@ -446,6 +438,7 @@ dobuild() {
|
||||
%ifarch %{ix86} x86_64
|
||||
--enable-spice \
|
||||
--enable-mixemu \
|
||||
--enable-seccomp \
|
||||
%endif
|
||||
%if %{without rbd}
|
||||
--disable-rbd \
|
||||
@ -878,6 +871,9 @@ fi
|
||||
%{_mandir}/man1/qemu-img.1*
|
||||
|
||||
%changelog
|
||||
* Tue Aug 28 2012 Cole Robinson <crobinso@redhat.com> 1.2.0-0.4.rc1
|
||||
- Update to 1.2.0-rc1
|
||||
|
||||
* Mon Aug 20 2012 Richard W.M. Jones <rjones@redhat.com> - 1.2-0.3.20120806git3e430569
|
||||
- Backport Bonzini's vhost-net fix (RHBZ#848400).
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user