vhost: drop legacy vring layout bits
commit1cdce7c54d26e64f5eddb10a6f4f7dd938dfc2c4
authorGreg Kurz <groug@kaod.org>
Fri, 4 Nov 2016 08:39:22 +0000 (4 09:39 +0100)
committerMichael S. Tsirkin <mst@redhat.com>
Tue, 15 Nov 2016 15:20:38 +0000 (15 17:20 +0200)
tree78aa4927c46c06f2d2658522dc6f32cbf11134df
parentf1f9e6c5961ffb36fd4a81cd7edcded7bfad2ab2
vhost: drop legacy vring layout bits

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 <groug@kaod.org>
Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/virtio/vhost.c
include/hw/virtio/vhost.h