mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
virtio: Factor virtqueue_map_sg out
Separate the mapping of requests to host memory from the descriptor iteration. The next patch will make use of it in a different context. Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
02a89b2190
commit
42fb2e0720
2 changed files with 28 additions and 15 deletions
|
@ -81,6 +81,7 @@ typedef struct VirtQueueElement
|
|||
unsigned int out_num;
|
||||
unsigned int in_num;
|
||||
target_phys_addr_t in_addr[VIRTQUEUE_MAX_SIZE];
|
||||
target_phys_addr_t out_addr[VIRTQUEUE_MAX_SIZE];
|
||||
struct iovec in_sg[VIRTQUEUE_MAX_SIZE];
|
||||
struct iovec out_sg[VIRTQUEUE_MAX_SIZE];
|
||||
} VirtQueueElement;
|
||||
|
@ -142,6 +143,8 @@ void virtqueue_flush(VirtQueue *vq, unsigned int count);
|
|||
void virtqueue_fill(VirtQueue *vq, const VirtQueueElement *elem,
|
||||
unsigned int len, unsigned int idx);
|
||||
|
||||
void virtqueue_map_sg(struct iovec *sg, target_phys_addr_t *addr,
|
||||
size_t num_sg, int is_write);
|
||||
int virtqueue_pop(VirtQueue *vq, VirtQueueElement *elem);
|
||||
int virtqueue_avail_bytes(VirtQueue *vq, int in_bytes, int out_bytes);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue