Add more virtqueue getter methods

MFC after:	2 weeks
This commit is contained in:
bryanv 2018-02-19 19:31:18 +00:00
parent 263105576c
commit a89e7a10d5
2 changed files with 31 additions and 0 deletions

View File

@ -369,6 +369,33 @@ virtqueue_paddr(struct virtqueue *vq)
return (vtophys(vq->vq_ring_mem));
}
vm_paddr_t
virtqueue_desc_paddr(struct virtqueue *vq)
{
return (vtophys(vq->vq_ring.desc));
}
vm_paddr_t
virtqueue_avail_paddr(struct virtqueue *vq)
{
return (vtophys(vq->vq_ring.avail));
}
vm_paddr_t
virtqueue_used_paddr(struct virtqueue *vq)
{
return (vtophys(vq->vq_ring.used));
}
uint16_t
virtqueue_index(struct virtqueue *vq)
{
return (vq->vq_queue_index);
}
int
virtqueue_size(struct virtqueue *vq)
{

View File

@ -84,7 +84,11 @@ void virtqueue_disable_intr(struct virtqueue *vq);
/* Get physical address of the virtqueue ring. */
vm_paddr_t virtqueue_paddr(struct virtqueue *vq);
vm_paddr_t virtqueue_desc_paddr(struct virtqueue *vq);
vm_paddr_t virtqueue_avail_paddr(struct virtqueue *vq);
vm_paddr_t virtqueue_used_paddr(struct virtqueue *vq);
uint16_t virtqueue_index(struct virtqueue *vq);
int virtqueue_full(struct virtqueue *vq);
int virtqueue_empty(struct virtqueue *vq);
int virtqueue_size(struct virtqueue *vq);