mirror of https://github.com/xemu-project/xemu.git
vhost: allocate event_idx fields on vring
There was not enough room to accomodate them. Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Eugenio Pérez <eperezma@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
7d0e12af59
commit
f0c48e05bd
hw/virtio
|
@ -570,16 +570,16 @@ void vhost_svq_get_vring_addr(const VhostShadowVirtqueue *svq,
|
|||
size_t vhost_svq_driver_area_size(const VhostShadowVirtqueue *svq)
|
||||
{
|
||||
size_t desc_size = sizeof(vring_desc_t) * svq->vring.num;
|
||||
size_t avail_size = offsetof(vring_avail_t, ring) +
|
||||
sizeof(uint16_t) * svq->vring.num;
|
||||
size_t avail_size = offsetof(vring_avail_t, ring[svq->vring.num]) +
|
||||
sizeof(uint16_t);
|
||||
|
||||
return ROUND_UP(desc_size + avail_size, qemu_real_host_page_size());
|
||||
}
|
||||
|
||||
size_t vhost_svq_device_area_size(const VhostShadowVirtqueue *svq)
|
||||
{
|
||||
size_t used_size = offsetof(vring_used_t, ring) +
|
||||
sizeof(vring_used_elem_t) * svq->vring.num;
|
||||
size_t used_size = offsetof(vring_used_t, ring[svq->vring.num]) +
|
||||
sizeof(uint16_t);
|
||||
return ROUND_UP(used_size, qemu_real_host_page_size());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue