[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 45/47] vhost: drop legacy vring layout bits
From: |
Michael S. Tsirkin |
Subject: |
[Qemu-devel] [PULL 45/47] vhost: drop legacy vring layout bits |
Date: |
Thu, 10 Nov 2016 18:14:33 +0200 |
From: Greg Kurz <address@hidden>
The legacy vring layout is not used anymore as we use the separate
mappings even for legacy devices.
This patch simply removes it.
This also fixes a bug with virtio 1 devices when the vring descriptor table
is mapped at a higher address than the used vring because the following
function may return an insanely great value:
hwaddr virtio_queue_get_ring_size(VirtIODevice *vdev, int n)
{
return vdev->vq[n].vring.used - vdev->vq[n].vring.desc +
virtio_queue_get_used_size(vdev, n);
}
and the mapping fails.
Signed-off-by: Greg Kurz <address@hidden>
Reviewed-by: Cornelia Huck <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
include/hw/virtio/vhost.h | 3 ---
hw/virtio/vhost.c | 13 -------------
2 files changed, 16 deletions(-)
diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h
index 56b567f..1fe5aad 100644
--- a/include/hw/virtio/vhost.h
+++ b/include/hw/virtio/vhost.h
@@ -20,9 +20,6 @@ struct vhost_virtqueue {
unsigned avail_size;
unsigned long long used_phys;
unsigned used_size;
- void *ring;
- unsigned long long ring_phys;
- unsigned ring_size;
EventNotifier masked_notifier;
};
diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c
index a9c1edb..4d52538 100644
--- a/hw/virtio/vhost.c
+++ b/hw/virtio/vhost.c
@@ -923,14 +923,6 @@ static int vhost_virtqueue_start(struct vhost_dev *dev,
goto fail_alloc_used;
}
- vq->ring_size = s = l = virtio_queue_get_ring_size(vdev, idx);
- vq->ring_phys = a = virtio_queue_get_ring_addr(vdev, idx);
- vq->ring = cpu_physical_memory_map(a, &l, 1);
- if (!vq->ring || l != s) {
- r = -ENOMEM;
- goto fail_alloc_ring;
- }
-
r = vhost_virtqueue_set_addr(dev, vq, vhost_vq_index, dev->log_enabled);
if (r < 0) {
r = -errno;
@@ -971,9 +963,6 @@ static int vhost_virtqueue_start(struct vhost_dev *dev,
fail_vector:
fail_kick:
fail_alloc:
- cpu_physical_memory_unmap(vq->ring, virtio_queue_get_ring_size(vdev, idx),
- 0, 0);
-fail_alloc_ring:
cpu_physical_memory_unmap(vq->used, virtio_queue_get_used_size(vdev, idx),
0, 0);
fail_alloc_used:
@@ -1014,8 +1003,6 @@ static void vhost_virtqueue_stop(struct vhost_dev *dev,
vhost_vq_index);
}
- cpu_physical_memory_unmap(vq->ring, virtio_queue_get_ring_size(vdev, idx),
- 0, virtio_queue_get_ring_size(vdev, idx));
cpu_physical_memory_unmap(vq->used, virtio_queue_get_used_size(vdev, idx),
1, virtio_queue_get_used_size(vdev, idx));
cpu_physical_memory_unmap(vq->avail, virtio_queue_get_avail_size(vdev,
idx),
--
MST
- [Qemu-devel] [PULL 34/47] msix: Follow CODING_STYLE, (continued)
- [Qemu-devel] [PULL 34/47] msix: Follow CODING_STYLE, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 35/47] hcd-xhci: check & correct param before using it, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 38/47] hcd-xhci: change behaviour of msix switch, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 37/47] megasas: change behaviour of msix switch, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 40/47] megasas: undo the overwrites of msi user configuration, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 36/47] pci: Convert msix_init() to Error and fix callers to check it, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 39/47] megasas: remove unnecessary megasas_use_msix(), Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 42/47] vmxnet3: remove unnecessary internal msix flag, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 41/47] vmxnet3: fix reference leak issue, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 43/47] msi_init: convert assert to return -errno, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 45/47] vhost: drop legacy vring layout bits,
Michael S. Tsirkin <=
- [Qemu-devel] [PULL 44/47] vhost: adapt vhost_verify_ring_mappings() to virtio 1 ring layout, Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 46/47] virtio: drop virtio_queue_get_ring_{size, addr}(), Michael S. Tsirkin, 2016/11/10
- [Qemu-devel] [PULL 47/47] docs: add PCIe devices placement guidelines, Michael S. Tsirkin, 2016/11/10
- Re: [Qemu-devel] [PULL 00/47] virtio, vhost, pc, pci: tests, documentation, fixes and cleanups, Alex Williamson, 2016/11/10
- Re: [Qemu-devel] [PULL 00/47] virtio, vhost, pc, pci: tests, documentation, fixes and cleanups, Michael S. Tsirkin, 2016/11/10
- Re: [Qemu-devel] [PULL 00/47] virtio, vhost, pc, pci: tests, documentation, fixes and cleanups, Alex Williamson, 2016/11/10
- Re: [Qemu-devel] [PULL 00/47] virtio, vhost, pc, pci: tests, documentation, fixes and cleanups, Michael S. Tsirkin, 2016/11/10
- Re: [Qemu-devel] [PULL 00/47] virtio, vhost, pc, pci: tests, documentation, fixes and cleanups, Cao jin, 2016/11/10
- Re: [Qemu-devel] [PULL 00/47] virtio, vhost, pc, pci: tests, documentation, fixes and cleanups, Michael S. Tsirkin, 2016/11/10
- Re: [Qemu-devel] [PULL 00/47] virtio, vhost, pc, pci: tests, documentation, fixes and cleanups, Cao jin, 2016/11/10