Update to 0.12.3 upstream vhost-net migration/restart fixes Add F-13

machine type virtio-serial fixes
This commit is contained in:
Justin M. Forbes 2010-02-28 15:39:41 +00:00
parent 272dfe37a0
commit eff9421965
15 changed files with 568 additions and 7 deletions

View File

@ -1,2 +1,3 @@
qemu-kvm-0.12.1.2.tar.gz
qemu-kvm-0.12.2.tar.gz
qemu-kvm-0.12.3.tar.gz

View File

@ -0,0 +1,43 @@
From af483cb870ad81dce8e10215e0add284fcc38da4 Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Wed, 24 Feb 2010 21:09:45 +0200
Subject: [PATCH] msix: migration fix
Be careful to match mask/unmask callbacks from msix.
Fixes crash during migration.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/msix.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/hw/msix.c b/hw/msix.c
index 3fcf3a1..fafaf09 100644
--- a/hw/msix.c
+++ b/hw/msix.c
@@ -614,9 +614,19 @@ int msix_set_mask_notifier(PCIDevice *dev, unsigned vector, void *opaque)
if (vector >= dev->msix_entries_nr || !dev->msix_entry_used[vector])
return 0;
- if (dev->msix_mask_notifier)
- r = dev->msix_mask_notifier(dev, vector, opaque,
- msix_is_masked(dev, vector));
+ if (dev->msix_mask_notifier && !msix_is_masked(dev, vector)) {
+ /* Mask previous notifier if any */
+ if (dev->msix_mask_notifier_opaque[vector]) {
+ r = dev->msix_mask_notifier(dev, vector,
+ dev->msix_mask_notifier_opaque[vector],
+ 1);
+ assert(r >= 0);
+ }
+ /* Unmask new notifier, assumed to be masked at start */
+ if (opaque) {
+ r = dev->msix_mask_notifier(dev, vector, opaque, 0);
+ }
+ }
if (r >= 0)
dev->msix_mask_notifier_opaque[vector] = opaque;
return r;
--
1.6.6.1

View File

@ -0,0 +1,28 @@
From c96adfe57a5a7ceed488fd6f198a762dd84c1d9c Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Wed, 24 Feb 2010 21:09:48 +0200
Subject: [PATCH] vhost: logging thinko fix
Fix logging: set it to requested value.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/vhost.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/vhost.c b/hw/vhost.c
index e5c1ead..3c54596 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -310,7 +310,7 @@ static int vhost_dev_set_log(struct vhost_dev *dev, bool enable_log)
{
uint64_t features = dev->acked_features;
int r;
- if (dev->log_enabled) {
+ if (enable_log) {
features |= 0x1 << VHOST_F_LOG_ALL;
}
r = ioctl(dev->control, VHOST_SET_FEATURES, &features);
--
1.6.6.1

View File

@ -0,0 +1,72 @@
From 575c00a2880177295a116d43132566143af69a0b Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Wed, 24 Feb 2010 21:09:51 +0200
Subject: [PATCH] vhost: move vhost_set_vq_addr
Move function in file: we'll add another
call site in the following patch.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/vhost.c | 38 +++++++++++++++++++-------------------
1 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/hw/vhost.c b/hw/vhost.c
index 3c54596..54386e1 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -306,6 +306,25 @@ static void vhost_client_set_memory(CPUPhysMemoryClient *client,
}
}
+static int vhost_virtqueue_set_addr(struct vhost_dev *dev,
+ struct vhost_virtqueue *vq,
+ unsigned idx, bool enable_log)
+{
+ struct vhost_vring_addr addr = {
+ .index = idx,
+ .desc_user_addr = (u_int64_t)(unsigned long)vq->desc,
+ .avail_user_addr = (u_int64_t)(unsigned long)vq->avail,
+ .used_user_addr = (u_int64_t)(unsigned long)vq->used,
+ .log_guest_addr = vq->used_phys,
+ .flags = enable_log ? (1 << VHOST_VRING_F_LOG) : 0,
+ };
+ int r = ioctl(dev->control, VHOST_SET_VRING_ADDR, &addr);
+ if (r < 0) {
+ return -errno;
+ }
+ return 0;
+}
+
static int vhost_dev_set_log(struct vhost_dev *dev, bool enable_log)
{
uint64_t features = dev->acked_features;
@@ -350,25 +369,6 @@ static int vhost_client_migration_log(struct CPUPhysMemoryClient *client,
return 0;
}
-static int vhost_virtqueue_set_addr(struct vhost_dev *dev,
- struct vhost_virtqueue *vq,
- unsigned idx, bool enable_log)
-{
- struct vhost_vring_addr addr = {
- .index = idx,
- .desc_user_addr = (u_int64_t)(unsigned long)vq->desc,
- .avail_user_addr = (u_int64_t)(unsigned long)vq->avail,
- .used_user_addr = (u_int64_t)(unsigned long)vq->used,
- .log_guest_addr = vq->used_phys,
- .flags = enable_log ? (1 << VHOST_VRING_F_LOG) : 0,
- };
- int r = ioctl(dev->control, VHOST_SET_VRING_ADDR, &addr);
- if (r < 0) {
- return -errno;
- }
- return 0;
-}
-
static int vhost_virtqueue_init(struct vhost_dev *dev,
struct VirtIODevice *vdev,
struct vhost_virtqueue *vq,
--
1.6.6.1

View File

@ -0,0 +1,70 @@
From ac48d782f3b91b2e9962ded5f8a55bd3929a82a5 Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Wed, 24 Feb 2010 21:09:54 +0200
Subject: [PATCH] vhost: used addr migration fix
Enable used buffer logging when migration starts.
Fixed 'id XX is not a head' message after migration.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/vhost.c | 29 +++++++++++++++++++++++++++--
1 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/hw/vhost.c b/hw/vhost.c
index 54386e1..48034ba 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -325,7 +325,7 @@ static int vhost_virtqueue_set_addr(struct vhost_dev *dev,
return 0;
}
-static int vhost_dev_set_log(struct vhost_dev *dev, bool enable_log)
+static int vhost_dev_set_features(struct vhost_dev *dev, bool enable_log)
{
uint64_t features = dev->acked_features;
int r;
@@ -336,6 +336,31 @@ static int vhost_dev_set_log(struct vhost_dev *dev, bool enable_log)
return r < 0 ? -errno : 0;
}
+static int vhost_dev_set_log(struct vhost_dev *dev, bool enable_log)
+{
+ int r, t, i;
+ r = vhost_dev_set_features(dev, enable_log);
+ if (r < 0)
+ goto err_features;
+ for (i = 0; i < dev->nvqs; ++i) {
+ r = vhost_virtqueue_set_addr(dev, dev->vqs + i, i,
+ enable_log);
+ if (r < 0)
+ goto err_vq;
+ }
+ return 0;
+err_vq:
+ for (; i >= 0; --i) {
+ t = vhost_virtqueue_set_addr(dev, dev->vqs + i, i,
+ dev->log_enabled);
+ assert(t >= 0);
+ }
+ t = vhost_dev_set_features(dev, dev->log_enabled);
+ assert(t >= 0);
+err_features:
+ return r;
+}
+
static int vhost_client_migration_log(struct CPUPhysMemoryClient *client,
int enable)
{
@@ -544,7 +569,7 @@ int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev)
{
int i, r;
- r = vhost_dev_set_log(hdev, hdev->log_enabled);
+ r = vhost_dev_set_features(hdev, hdev->log_enabled);
if (r < 0)
goto fail;
r = ioctl(hdev->control, VHOST_SET_MEM_TABLE, hdev->mem);
--
1.6.6.1

View File

@ -0,0 +1,37 @@
From 91c827f000a94908b043b5de68eb0cd4fb6ff83d Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Wed, 24 Feb 2010 21:09:58 +0200
Subject: [PATCH] vhost: fix used logging size math
Must include used header as well, not only ring
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/vhost.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/hw/vhost.c b/hw/vhost.c
index 48034ba..7391bd1 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -62,7 +62,8 @@ static int vhost_client_sync_dirty_bitmap(struct CPUPhysMemoryClient *client,
}
for (i = 0; i < dev->nvqs; ++i) {
struct vhost_virtqueue *vq = dev->vqs + i;
- unsigned size = sizeof(struct vring_used_elem) * vq->num;
+ unsigned size = offsetof(struct vring_used, ring) +
+ sizeof(struct vring_used_elem) * vq->num;
vhost_dev_sync_region(dev, start_addr, end_addr, vq->used_phys,
range_get_last(vq->used_phys, size));
}
@@ -230,6 +231,7 @@ static uint64_t vhost_get_log_size(struct vhost_dev *dev)
for (i = 0; i < dev->nvqs; ++i) {
struct vhost_virtqueue *vq = dev->vqs + i;
uint64_t last = vq->used_phys +
+ offsetof(struct vring_used, ring) +
sizeof(struct vring_used_elem) * vq->num - 1;
log_size = MAX(log_size, last / VHOST_LOG_CHUNK + 1);
}
--
1.6.6.1

View File

@ -0,0 +1,26 @@
From b4654f7911adb1352c2c47c76f650e8419a20b91 Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Wed, 24 Feb 2010 21:10:01 +0200
Subject: [PATCH] vhost: logging mistake enable, not disable log
Correctly pass log enable value from memory client to vhost device.
---
hw/vhost.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/vhost.c b/hw/vhost.c
index 7391bd1..019afc2 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -387,7 +387,7 @@ static int vhost_client_migration_log(struct CPUPhysMemoryClient *client,
dev->log_size = 0;
} else {
vhost_dev_log_resize(dev, vhost_get_log_size(dev));
- r = vhost_dev_set_log(dev, false);
+ r = vhost_dev_set_log(dev, true);
if (r < 0) {
return r;
}
--
1.6.6.1

View File

@ -0,0 +1,38 @@
From d42430f94c77a653da486e6f96f6695818f3e81b Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Wed, 24 Feb 2010 21:10:04 +0200
Subject: [PATCH] vhost: fix log base
LOG_BASE ioctl gets a pointer to a 64 bit value, not
a pointer cast to 64 bit value.
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
---
hw/vhost.c | 5 +++--
1 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/hw/vhost.c b/hw/vhost.c
index 019afc2..b63eafa 100644
--- a/hw/vhost.c
+++ b/hw/vhost.c
@@ -241,14 +241,15 @@ static uint64_t vhost_get_log_size(struct vhost_dev *dev)
static inline void vhost_dev_log_resize(struct vhost_dev* dev, uint64_t size)
{
vhost_log_chunk_t *log;
+ uint64_t log_base;
int r;
if (size) {
log = qemu_mallocz(size * sizeof *log);
} else {
log = NULL;
}
- r = ioctl(dev->control, VHOST_SET_LOG_BASE,
- (uint64_t)(unsigned long)log);
+ log_base = (uint64_t)(unsigned long)log;
+ r = ioctl(dev->control, VHOST_SET_LOG_BASE, &log_base);
assert(r >= 0);
vhost_client_sync_dirty_bitmap(&dev->client, 0,
(target_phys_addr_t)~0x0ull);
--
1.6.6.1

View File

@ -0,0 +1,62 @@
From 9aa404a57823c9fbf2bf2e0189d31a2b0d8bf3b9 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Thu, 25 Feb 2010 18:41:13 +0530
Subject: [PATCH] pc: Add a Fedora-13 machine type that contains backports from upstream
We have a few features backported from the upstream 0.13 machine type
in the repo here.
Add a 'fedora-13' machine type and use that by default so that users can
fall back to a released upstream machine type if desired.
The fedora-13 machine type has the new multiport-supported virtio-serial
and vhost-net patches as of now not present in the 0.12 machine type.
This is based on upstream commit
d76fa62dba54a156ca0f5e79eb33756c9015e02c
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
hw/pc.c | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
diff --git a/hw/pc.c b/hw/pc.c
index 56be728..26c65c1 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -1327,11 +1327,9 @@ void cmos_set_s3_resume(void)
static QEMUMachine pc_machine = {
.name = "pc-0.12",
- .alias = "pc",
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
- .is_default = 1,
};
static QEMUMachine pc_machine_v0_11 = {
@@ -1416,3 +1414,20 @@ static void pc_machine_init(void)
}
machine_init(pc_machine_init);
+
+/* Fedora machine types */
+static QEMUMachine pc_machine_f13 = {
+ .name = "fedora-13",
+ .alias = "pc",
+ .desc = "Standard PC",
+ .init = pc_init_pci,
+ .max_cpus = 255,
+ .is_default = 1,
+};
+
+static void fedora_machine_init(void)
+{
+ qemu_register_machine(&pc_machine_f13);
+}
+
+machine_init(fedora_machine_init);
--
1.6.6.1

View File

@ -0,0 +1,72 @@
From f32e21e2828cf7a8aba2fb27945dc46ca2debe09 Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Thu, 25 Feb 2010 18:41:14 +0530
Subject: [PATCH] pc: Add backward compatibility options for virtio-serial
virtio-serial-pci can support multiple ports in the current F-13
version that will become upstream version 0.13. Add compatibility options
for the 0.12, 0.11 and 0.10 pc machine types.
Based on upstream commit 8bfbde6d35c82cc376681289dae2de5e18a087a4
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
hw/pc.c | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/hw/pc.c b/hw/pc.c
index 26c65c1..90bbfe8 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -1330,6 +1330,18 @@ static QEMUMachine pc_machine = {
.desc = "Standard PC",
.init = pc_init_pci,
.max_cpus = 255,
+ .compat_props = (GlobalProperty[]) {
+ {
+ .driver = "virtio-serial-pci",
+ .property = "max_nr_ports",
+ .value = stringify(1),
+ },{
+ .driver = "virtio-serial-pci",
+ .property = "vectors",
+ .value = stringify(0),
+ },
+ { /* end of list */ }
+ }
};
static QEMUMachine pc_machine_v0_11 = {
@@ -1351,6 +1363,14 @@ static QEMUMachine pc_machine_v0_11 = {
.property = "ver",
.value = "0.11",
},{
+ .driver = "virtio-serial-pci",
+ .property = "max_nr_ports",
+ .value = stringify(1),
+ },{
+ .driver = "virtio-serial-pci",
+ .property = "vectors",
+ .value = stringify(0),
+ },{
.driver = "PCI",
.property = "rombar",
.value = stringify(0),
@@ -1374,6 +1394,14 @@ static QEMUMachine pc_machine_v0_10 = {
.property = "class",
.value = stringify(PCI_CLASS_DISPLAY_OTHER),
},{
+ .driver = "virtio-serial-pci",
+ .property = "max_nr_ports",
+ .value = stringify(1),
+ },{
+ .driver = "virtio-serial-pci",
+ .property = "vectors",
+ .value = stringify(0),
+ },{
.driver = "virtio-net-pci",
.property = "vectors",
.value = stringify(0),
--
1.6.6.1

View File

@ -0,0 +1,39 @@
From e3b132568eef8491decbe30639a9814bdd2d82c0 Mon Sep 17 00:00:00 2001
From: Michael S. Tsirkin <mst@redhat.com>
Date: Thu, 25 Feb 2010 18:41:15 +0530
Subject: [PATCH] virtio-serial: don't set MULTIPORT for 1 port dev
Since commit 98b19252cf1bd97c54bc4613f3537c5ec0aae263, all
serial devices declare MULTIPORT feature.
To allow 0.12 compatibility, we should clear this when
max_nr_ports is 1.
Upsream commit: ee4d45be0d791eb8bb0f767cd0f17ea8f697281b
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
hw/virtio-serial-bus.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/hw/virtio-serial-bus.c b/hw/virtio-serial-bus.c
index ab456ea..d0e0219 100644
--- a/hw/virtio-serial-bus.c
+++ b/hw/virtio-serial-bus.c
@@ -335,8 +335,10 @@ static void handle_input(VirtIODevice *vdev, VirtQueue *vq)
static uint32_t get_features(VirtIODevice *vdev, uint32_t features)
{
- features |= (1 << VIRTIO_CONSOLE_F_MULTIPORT);
-
+ VirtIOSerial *vser = DO_UPCAST(VirtIOSerial, vdev, vdev);
+ if (vser->bus->max_nr_ports > 1) {
+ features |= (1 << VIRTIO_CONSOLE_F_MULTIPORT);
+ }
return features;
}
--
1.6.6.1

View File

@ -0,0 +1,44 @@
From 8a881734bccddf707a42ba2effff699b824d3c8f Mon Sep 17 00:00:00 2001
From: Amit Shah <amit.shah@redhat.com>
Date: Thu, 25 Feb 2010 18:41:16 +0530
Subject: [PATCH] virtio-serial: pci: Allow MSI to be disabled
Michael noted we don't allow disabling of MSI for the virtio-serial-pci
device. Fix that.
Upstream commit: 7b665b668aa92bf0bba696f085dff87539d95529
Signed-off-by: Amit Shah <amit.shah@redhat.com>
CC: "Michael S. Tsirkin" <mst@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
hw/virtio-pci.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/virtio-pci.c b/hw/virtio-pci.c
index 9a02682..636c8c3 100644
--- a/hw/virtio-pci.c
+++ b/hw/virtio-pci.c
@@ -598,8 +598,8 @@ static int virtio_serial_init_pci(PCIDevice *pci_dev)
if (!vdev) {
return -1;
}
- vdev->nvectors = proxy->nvectors ? proxy->nvectors
- : proxy->max_virtserial_ports + 1;
+ vdev->nvectors = proxy->nvectors == -1 ? proxy->max_virtserial_ports + 1
+ : proxy->nvectors;
virtio_init_pci(proxy, vdev,
PCI_VENDOR_ID_REDHAT_QUMRANET,
PCI_DEVICE_ID_VIRTIO_CONSOLE,
@@ -683,7 +683,7 @@ static PCIDeviceInfo virtio_info[] = {
.init = virtio_serial_init_pci,
.exit = virtio_exit_pci,
.qdev.props = (Property[]) {
- DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, 0),
+ DEFINE_PROP_UINT32("vectors", VirtIOPCIProxy, nvectors, -1),
DEFINE_PROP_HEX32("class", VirtIOPCIProxy, class_code, 0),
DEFINE_VIRTIO_COMMON_FEATURES(VirtIOPCIProxy, host_features),
DEFINE_PROP_UINT32("max_ports", VirtIOPCIProxy, max_virtserial_ports,
--
1.6.6.1

View File

@ -64,7 +64,7 @@ index 7e9ca79..d9f2e41 100644
return s;
}
@@ -456,6 +464,27 @@ int net_init_tap(QemuOpts *opts, Monitor *mon, const char *name, VLANState *vlan
@@ -456,5 +464,26 @@ int net_init_tap(QemuOpts *opts, Monitor *mon, const char *name, VLANState *vlan
}
}
@ -89,9 +89,8 @@ index 7e9ca79..d9f2e41 100644
+ return -1;
+ }
+
if (vlan) {
vlan->nb_host_devs++;
}
return 0;
}
diff --git a/qemu-options.hx b/qemu-options.hx
index ca73ba5..2b3d9b8 100644
--- a/qemu-options.hx

View File

@ -1,7 +1,7 @@
Summary: QEMU is a FAST! processor emulator
Name: qemu
Version: 0.12.2
Release: 6%{?dist}
Version: 0.12.3
Release: 1%{?dist}
# Epoch because we pushed a qemu-1.0 package
Epoch: 2
License: GPLv2+ and LGPLv2+ and BSD
@ -66,6 +66,19 @@ Patch35: qemu-virtio-serial-features-build-fix.patch
Patch36: qemu-virtio-pci-irqfd-fix-nonkvm-build.patch
Patch37: qemu-vhost-add-configure-check.patch
# Fixes from upstream
Patch38: 0038-msix-migration-fix.patch
Patch39: 0039-vhost-logging-thinko-fix.patch
Patch40: 0040-vhost-move-vhost_set_vq_addr.patch
Patch41: 0041-vhost-used-addr-migration-fix.patch
Patch42: 0042-vhost-fix-used-logging-size-math.patch
Patch43: 0043-vhost-logging-mistake-enable-not-disable-log.patch
Patch44: 0044-vhost-fix-log-base.patch
Patch45: 0045-pc-Add-a-Fedora-13-machine-type-that-contains-backpo.patch
Patch46: 0046-pc-Add-backward-compatibility-options-for-virtio-ser.patch
Patch47: 0047-virtio-serial-don-t-set-MULTIPORT-for-1-port-dev.patch
Patch48: 0048-virtio-serial-pci-Allow-MSI-to-be-disabled.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel
@ -291,6 +304,17 @@ such as kvmtrace and kvm_stat.
%patch35 -p1
%patch36 -p1
%patch37 -p1
%patch38 -p1
%patch39 -p1
%patch40 -p1
%patch41 -p1
%patch42 -p1
%patch43 -p1
%patch44 -p1
%patch45 -p1
%patch46 -p1
%patch47 -p1
%patch48 -p1
%build
# --build-id option is used fedora 8 onwards for giving info to the debug packages.
@ -574,6 +598,12 @@ fi
%{_mandir}/man1/qemu-img.1*
%changelog
* Fri Feb 26 2010 Justin M. Forbes <jforbes@redhat.com> - 2:0.12.3-1
- Update to 0.12.3 upstream
- vhost-net migration/restart fixes
- Add F-13 machine type
- virtio-serial fixes
* Tue Feb 09 2010 Justin M. Forbes <jforbes@redhat.com> - 2:0.12.2-6
- Add vhost net support.

View File

@ -1 +1 @@
8e6f3666de038c2ee11cebc45ffa89e4 qemu-kvm-0.12.2.tar.gz
ab484975004f66fb48cb5589bd9b9dcb qemu-kvm-0.12.3.tar.gz