diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/virtio/linux/scatterlist.h | 16 | ||||
-rw-r--r-- | tools/virtio/linux/virtio.h | 7 |
2 files changed, 23 insertions, 0 deletions
diff --git a/tools/virtio/linux/scatterlist.h b/tools/virtio/linux/scatterlist.h index b2cf7d0f6133..68c9e2adc996 100644 --- a/tools/virtio/linux/scatterlist.h +++ b/tools/virtio/linux/scatterlist.h | |||
@@ -125,6 +125,22 @@ static inline void sg_mark_end(struct scatterlist *sg) | |||
125 | sg->page_link &= ~0x01; | 125 | sg->page_link &= ~0x01; |
126 | } | 126 | } |
127 | 127 | ||
128 | /** | ||
129 | * sg_unmark_end - Undo setting the end of the scatterlist | ||
130 | * @sg: SG entryScatterlist | ||
131 | * | ||
132 | * Description: | ||
133 | * Removes the termination marker from the given entry of the scatterlist. | ||
134 | * | ||
135 | **/ | ||
136 | static inline void sg_unmark_end(struct scatterlist *sg) | ||
137 | { | ||
138 | #ifdef CONFIG_DEBUG_SG | ||
139 | BUG_ON(sg->sg_magic != SG_MAGIC); | ||
140 | #endif | ||
141 | sg->page_link &= ~0x02; | ||
142 | } | ||
143 | |||
128 | static inline struct scatterlist *sg_next(struct scatterlist *sg) | 144 | static inline struct scatterlist *sg_next(struct scatterlist *sg) |
129 | { | 145 | { |
130 | #ifdef CONFIG_DEBUG_SG | 146 | #ifdef CONFIG_DEBUG_SG |
diff --git a/tools/virtio/linux/virtio.h b/tools/virtio/linux/virtio.h index e4af6591f5ff..5fa612ad932c 100644 --- a/tools/virtio/linux/virtio.h +++ b/tools/virtio/linux/virtio.h | |||
@@ -56,6 +56,13 @@ int virtqueue_add_buf(struct virtqueue *vq, | |||
56 | void *data, | 56 | void *data, |
57 | gfp_t gfp); | 57 | gfp_t gfp); |
58 | 58 | ||
59 | int virtqueue_add_sgs(struct virtqueue *vq, | ||
60 | struct scatterlist *sgs[], | ||
61 | unsigned int out_sgs, | ||
62 | unsigned int in_sgs, | ||
63 | void *data, | ||
64 | gfp_t gfp); | ||
65 | |||
59 | void virtqueue_kick(struct virtqueue *vq); | 66 | void virtqueue_kick(struct virtqueue *vq); |
60 | 67 | ||
61 | void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len); | 68 | void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len); |