Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

tools/virtio: use kernel's virtio.h

Replace virtio stubs with an include of the kernel header.

Message-ID: <33daf1033fc447eb8e3e54d21013ccfd99550e37.1764873799.git.mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>

+1 -72
+1 -72
tools/virtio/linux/virtio.h
··· 1 - /* SPDX-License-Identifier: GPL-2.0 */ 2 - #ifndef LINUX_VIRTIO_H 3 - #define LINUX_VIRTIO_H 4 - #include <linux/scatterlist.h> 5 - #include <linux/kernel.h> 6 - #include <linux/spinlock.h> 7 - 8 - struct device { 9 - void *parent; 10 - }; 11 - 12 - struct virtio_device { 13 - struct device dev; 14 - u64 features; 15 - struct list_head vqs; 16 - spinlock_t vqs_list_lock; 17 - const struct virtio_config_ops *config; 18 - }; 19 - 20 - struct virtqueue { 21 - struct list_head list; 22 - void (*callback)(struct virtqueue *vq); 23 - const char *name; 24 - struct virtio_device *vdev; 25 - unsigned int index; 26 - unsigned int num_free; 27 - unsigned int num_max; 28 - void *priv; 29 - bool reset; 30 - }; 31 - 32 - /* Interfaces exported by virtio_ring. */ 33 - int virtqueue_add_sgs(struct virtqueue *vq, 34 - struct scatterlist *sgs[], 35 - unsigned int out_sgs, 36 - unsigned int in_sgs, 37 - void *data, 38 - gfp_t gfp); 39 - 40 - int virtqueue_add_outbuf(struct virtqueue *vq, 41 - struct scatterlist sg[], unsigned int num, 42 - void *data, 43 - gfp_t gfp); 44 - 45 - int virtqueue_add_inbuf(struct virtqueue *vq, 46 - struct scatterlist sg[], unsigned int num, 47 - void *data, 48 - gfp_t gfp); 49 - 50 - bool virtqueue_kick(struct virtqueue *vq); 51 - 52 - void *virtqueue_get_buf(struct virtqueue *vq, unsigned int *len); 53 - 54 - void virtqueue_disable_cb(struct virtqueue *vq); 55 - 56 - bool virtqueue_enable_cb(struct virtqueue *vq); 57 - bool virtqueue_enable_cb_delayed(struct virtqueue *vq); 58 - 59 - void *virtqueue_detach_unused_buf(struct virtqueue *vq); 60 - struct virtqueue *vring_new_virtqueue(unsigned int index, 61 - unsigned int num, 62 - unsigned int vring_align, 63 - struct virtio_device *vdev, 64 - bool weak_barriers, 65 - bool ctx, 66 - void *pages, 67 - bool (*notify)(struct virtqueue *vq), 68 - void (*callback)(struct virtqueue *vq), 69 - const char *name); 70 - void vring_del_virtqueue(struct virtqueue *vq); 71 - 72 - #endif 1 + #include <../../include/linux/virtio.h>