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;
|
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)
|
void virtio_queue_notify_vq(VirtQueue *vq)
|
||||||
{
|
{
|
||||||
if (vq->vring.desc) {
|
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);
|
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);
|
void virtio_queue_set_last_avail_idx(VirtIODevice *vdev, int n, uint16_t idx);
|
||||||
VirtQueue *virtio_get_queue(VirtIODevice *vdev, int n);
|
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_guest_notifier(VirtQueue *vq);
|
||||||
EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
|
EventNotifier *virtio_queue_get_host_notifier(VirtQueue *vq);
|
||||||
void virtio_queue_notify_vq(VirtQueue *vq);
|
void virtio_queue_notify_vq(VirtQueue *vq);
|
||||||
|
Loading…
Reference in New Issue
Block a user