virtio: add virtio_queue_get_id
Serializing virtio-scsi requests needs a simple way to get from a VirtQueue to the number of the queue. The virtio_queue_get_id provides this. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
fcf104a74c
commit
c80decdbd9
@ -624,6 +624,13 @@ int virtio_queue_get_num(VirtIODevice *vdev, int n)
|
||||
return vdev->vq[n].vring.num;
|
||||
}
|
||||
|
||||
int virtio_queue_get_id(VirtQueue *vq)
|
||||
{
|
||||
VirtIODevice *vdev = vq->vdev;
|
||||
assert(vq >= &vdev->vq[0] && vq < &vdev->vq[VIRTIO_PCI_QUEUE_MAX]);
|
||||
return vq - &vdev->vq[0];
|
||||
}
|
||||
|
||||
void virtio_queue_notify_vq(VirtQueue *vq)
|
||||
{
|
||||
if (vq->vring.desc) {
|
||||
|
@ -229,6 +229,7 @@ target_phys_addr_t virtio_queue_get_ring_size(VirtIODevice *vdev, int n);
|
||||
uint16_t virtio_queue_get_last_avail_idx(VirtIODevice *vdev, int n);
|
||||
void virtio_queue_set_last_avail_idx(VirtIODevice *vdev, int n, uint16_t idx);
|
||||
VirtQueue *virtio_get_queue(VirtIODevice *vdev, int n);
|
||||
int virtio_queue_get_id(VirtQueue *vq);
|
||||
EventNotifier *virtio_queue_get_guest_notifier(VirtQueue *vq);
|
||||
EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
|
||||
void virtio_queue_notify_vq(VirtQueue *vq);
|
||||
|
Loading…
Reference in New Issue
Block a user