[dpdk-dev] [PATCH v4 5/8] virtio-user: add device emulation layer APIs
Yuanhan Liu
yuanhan.liu at linux.intel.com
Thu May 12 03:05:17 CEST 2016
On Fri, Apr 29, 2016 at 01:18:33AM +0000, Jianfeng Tan wrote:
> +static int
> +kick_one_vq(struct virtio_user_hw *hw, struct virtqueue *vq,
> + unsigned queue_sel)
Firstly, "dev" is a more common word than "hw" here. So, name the struct
to "virtio_user_device", and name the var to "dev".
And you are still mixing virtio driver and virtio device emulation here.
Say, struct virtqueue should not be used here: it belongs to driver.
Instead, you should define your own. It could be fair simple that is
enough for current usage:
struct virtqueue {
uint32_t num;
uint64_t desc_addr;
uint64_t avail_addr;
uint64_t used_addr;
};
That could let us not depend on any structures (or just few if not
possible) from virtio PMD driver.
--yliu
> +{
> + int callfd, kickfd;
> + struct vhost_vring_file file;
> + struct vhost_vring_state state;
> + struct vhost_vring_addr addr = {
> + .index = queue_sel,
> + .desc_user_addr = (uint64_t)(uintptr_t)vq->vq_ring.desc,
> + .avail_user_addr = (uint64_t)(uintptr_t)vq->vq_ring.avail,
> + .used_user_addr = (uint64_t)(uintptr_t)vq->vq_ring.used,
> + .log_guest_addr = 0,
> + .flags = 0, /* disable log */
> + };
More information about the dev
mailing list