25 printf("BUG: failure at %s:%d/%s()!\n", \ 26 __FILE__, __LINE__, __FUNCTION__); \ 29 #define BUG_ON(condition) do { if (condition) BUG(); } while (0) 88 unsigned int out,
unsigned int in,
89 void *opaque,
int num_added)
void vring_kick(struct virtio_pci_modern_device *vdev, unsigned int ioaddr, struct vring_virtqueue *vq, int num_added)
static int vring_more_used(struct vring_virtqueue *vq)
#define BUG_ON(condition)
#define VRING_DESC_F_WRITE
struct vring_avail * avail
struct vring_used_elem ring[]
void vring_detach(struct vring_virtqueue *vq, unsigned int head)
static void vp_notify(unsigned int ioaddr, int queue_index)
void vpm_notify(struct virtio_pci_modern_device *vdev, struct vring_virtqueue *vq)
static unsigned long ioaddr
uint8_t id
Request identifier.
#define VRING_USED_F_NO_NOTIFY
void * vring_get_buf(struct vring_virtqueue *vq, unsigned int *len)
FILE_LICENCE(GPL2_OR_LATER)
#define VRING_DESC_F_NEXT
void mb(void)
Memory barrier.
void vring_add_buf(struct vring_virtqueue *vq, struct vring_list list[], unsigned int out, unsigned int in, void *opaque, int num_added)
#define NULL
NULL pointer (VOID *)