Lines Matching refs:info
48 struct vq_info *info = vq->priv; in vq_notify() local
51 r = write(info->kick, &v, sizeof v); in vq_notify()
61 void vhost_vq_setup(struct vdev_info *dev, struct vq_info *info) in vhost_vq_setup() argument
63 struct vhost_vring_state state = { .index = info->idx }; in vhost_vq_setup()
64 struct vhost_vring_file file = { .index = info->idx }; in vhost_vq_setup()
67 .index = info->idx, in vhost_vq_setup()
68 .desc_user_addr = (uint64_t)(unsigned long)info->vring.desc, in vhost_vq_setup()
69 .avail_user_addr = (uint64_t)(unsigned long)info->vring.avail, in vhost_vq_setup()
70 .used_user_addr = (uint64_t)(unsigned long)info->vring.used, in vhost_vq_setup()
75 state.num = info->vring.num; in vhost_vq_setup()
83 file.fd = info->kick; in vhost_vq_setup()
86 file.fd = info->call; in vhost_vq_setup()
93 struct vq_info *info = &dev->vqs[dev->nvqs]; in vq_info_add() local
95 info->idx = dev->nvqs; in vq_info_add()
96 info->kick = eventfd(0, EFD_NONBLOCK); in vq_info_add()
97 info->call = eventfd(0, EFD_NONBLOCK); in vq_info_add()
98 r = posix_memalign(&info->ring, 4096, vring_size(num, 4096)); in vq_info_add()
100 memset(info->ring, 0, vring_size(num, 4096)); in vq_info_add()
101 vring_init(&info->vring, num, info->ring, 4096); in vq_info_add()
102 info->vq = vring_new_virtqueue(info->idx, in vq_info_add()
103 info->vring.num, 4096, &dev->vdev, in vq_info_add()
104 true, false, info->ring, in vq_info_add()
106 assert(info->vq); in vq_info_add()
107 info->vq->priv = info; in vq_info_add()
108 vhost_vq_setup(dev, info); in vq_info_add()
109 dev->fds[info->idx].fd = info->call; in vq_info_add()
110 dev->fds[info->idx].events = POLLIN; in vq_info_add()