Message ID | 20210408093824.14985-3-lulu@redhat.com |
---|---|
State | New |
Headers | show |
Series | vhost-vdpa: add support for configure interrupt | expand |
在 2021/4/8 下午5:38, Cindy Lu 写道: > to support configure interrupt, we need to > Add new call back function for config interrupt. There're brunch of capital issues. > now聽this call back function only used in vhost-vdpa driver And looks like anthoer traditional chinese character. > > Signed-off-by: Cindy Lu <lulu@redhat.com> > --- > hw/virtio/trace-events | 2 ++ > hw/virtio/vhost-vdpa.c | 7 +++++++ > include/hw/virtio/vhost-backend.h | 3 +++ > 3 files changed, 12 insertions(+) > > diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events > index 2060a144a2..6710835b46 100644 > --- a/hw/virtio/trace-events > +++ b/hw/virtio/trace-events > @@ -52,6 +52,8 @@ vhost_vdpa_set_vring_call(void *dev, unsigned int index, int fd) "dev: %p index: > vhost_vdpa_get_features(void *dev, uint64_t features) "dev: %p features: 0x%"PRIx64 > vhost_vdpa_set_owner(void *dev) "dev: %p" > vhost_vdpa_vq_get_addr(void *dev, void *vq, uint64_t desc_user_addr, uint64_t avail_user_addr, uint64_t used_user_addr) "dev: %p vq: %p desc_user_addr: 0x%"PRIx64" avail_user_addr: 0x%"PRIx64" used_user_addr: 0x%"PRIx64 > +vhost_vdpa_set_config_call(void *dev, int *fd)"dev: %p fd: %p" > + > > # virtio.c > virtqueue_alloc_element(void *elem, size_t sz, unsigned in_num, unsigned out_num) "elem %p size %zd in_num %u out_num %u" > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c > index 01d2101d09..9ba2a2bed4 100644 > --- a/hw/virtio/vhost-vdpa.c > +++ b/hw/virtio/vhost-vdpa.c > @@ -545,6 +545,12 @@ static int vhost_vdpa_set_vring_call(struct vhost_dev *dev, > trace_vhost_vdpa_set_vring_call(dev, file->index, file->fd); > return vhost_vdpa_call(dev, VHOST_SET_VRING_CALL, file); > } > +static int vhost_vdpa_set_config_call(struct vhost_dev *dev, > + int *fd) > +{ > + trace_vhost_vdpa_set_config_call(dev, fd); > + return vhost_vdpa_call(dev, VHOST_VDPA_SET_CONFIG_CALL, fd); > +} > > static int vhost_vdpa_get_features(struct vhost_dev *dev, > uint64_t *features) > @@ -611,4 +617,5 @@ const VhostOps vdpa_ops = { > .vhost_get_device_id = vhost_vdpa_get_device_id, > .vhost_vq_get_addr = vhost_vdpa_vq_get_addr, > .vhost_force_iommu = vhost_vdpa_force_iommu, > + .vhost_set_config_call = vhost_vdpa_set_config_call, > }; > diff --git a/include/hw/virtio/vhost-backend.h b/include/hw/virtio/vhost-backend.h > index 8a6f8e2a7a..adaf6982d2 100644 > --- a/include/hw/virtio/vhost-backend.h > +++ b/include/hw/virtio/vhost-backend.h > @@ -125,6 +125,8 @@ typedef int (*vhost_get_device_id_op)(struct vhost_dev *dev, uint32_t *dev_id); > > typedef bool (*vhost_force_iommu_op)(struct vhost_dev *dev); > > +typedef int (*vhost_set_config_call_op)(struct vhost_dev *dev, > + int *fd); > typedef struct VhostOps { > VhostBackendType backend_type; > vhost_backend_init vhost_backend_init; > @@ -170,6 +172,7 @@ typedef struct VhostOps { > vhost_vq_get_addr_op vhost_vq_get_addr; > vhost_get_device_id_op vhost_get_device_id; > vhost_force_iommu_op vhost_force_iommu; > + vhost_set_config_call_op vhost_set_config_call; > } VhostOps; Let's split the vhost-vdpa implementation into another patch. Thanks > > extern const VhostOps user_ops;
On Fri, Apr 9, 2021 at 3:12 PM Jason Wang <jasowang@redhat.com> wrote: > > > 在 2021/4/8 下午5:38, Cindy Lu 写道: > > to support configure interrupt, we need to > > Add new call back function for config interrupt. > > > There're brunch of capital issues. > > > > now聽this call back function only used in vhost-vdpa driver > > > And looks like anthoer traditional chinese character. > > will fix this > > > > Signed-off-by: Cindy Lu <lulu@redhat.com> > > --- > > hw/virtio/trace-events | 2 ++ > > hw/virtio/vhost-vdpa.c | 7 +++++++ > > include/hw/virtio/vhost-backend.h | 3 +++ > > 3 files changed, 12 insertions(+) > > > > diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events > > index 2060a144a2..6710835b46 100644 > > --- a/hw/virtio/trace-events > > +++ b/hw/virtio/trace-events > > @@ -52,6 +52,8 @@ vhost_vdpa_set_vring_call(void *dev, unsigned int index, int fd) "dev: %p index: > > vhost_vdpa_get_features(void *dev, uint64_t features) "dev: %p features: 0x%"PRIx64 > > vhost_vdpa_set_owner(void *dev) "dev: %p" > > vhost_vdpa_vq_get_addr(void *dev, void *vq, uint64_t desc_user_addr, uint64_t avail_user_addr, uint64_t used_user_addr) "dev: %p vq: %p desc_user_addr: 0x%"PRIx64" avail_user_addr: 0x%"PRIx64" used_user_addr: 0x%"PRIx64 > > +vhost_vdpa_set_config_call(void *dev, int *fd)"dev: %p fd: %p" > > + > > > > # virtio.c > > virtqueue_alloc_element(void *elem, size_t sz, unsigned in_num, unsigned out_num) "elem %p size %zd in_num %u out_num %u" > > diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c > > index 01d2101d09..9ba2a2bed4 100644 > > --- a/hw/virtio/vhost-vdpa.c > > +++ b/hw/virtio/vhost-vdpa.c > > @@ -545,6 +545,12 @@ static int vhost_vdpa_set_vring_call(struct vhost_dev *dev, > > trace_vhost_vdpa_set_vring_call(dev, file->index, file->fd); > > return vhost_vdpa_call(dev, VHOST_SET_VRING_CALL, file); > > } > > +static int vhost_vdpa_set_config_call(struct vhost_dev *dev, > > + int *fd) > > +{ > > + trace_vhost_vdpa_set_config_call(dev, fd); > > + return vhost_vdpa_call(dev, VHOST_VDPA_SET_CONFIG_CALL, fd); > > +} > > > > static int vhost_vdpa_get_features(struct vhost_dev *dev, > > uint64_t *features) > > @@ -611,4 +617,5 @@ const VhostOps vdpa_ops = { > > .vhost_get_device_id = vhost_vdpa_get_device_id, > > .vhost_vq_get_addr = vhost_vdpa_vq_get_addr, > > .vhost_force_iommu = vhost_vdpa_force_iommu, > > + .vhost_set_config_call = vhost_vdpa_set_config_call, > > }; > > diff --git a/include/hw/virtio/vhost-backend.h b/include/hw/virtio/vhost-backend.h > > index 8a6f8e2a7a..adaf6982d2 100644 > > --- a/include/hw/virtio/vhost-backend.h > > +++ b/include/hw/virtio/vhost-backend.h > > @@ -125,6 +125,8 @@ typedef int (*vhost_get_device_id_op)(struct vhost_dev *dev, uint32_t *dev_id); > > > > typedef bool (*vhost_force_iommu_op)(struct vhost_dev *dev); > > > > +typedef int (*vhost_set_config_call_op)(struct vhost_dev *dev, > > + int *fd); > > typedef struct VhostOps { > > VhostBackendType backend_type; > > vhost_backend_init vhost_backend_init; > > @@ -170,6 +172,7 @@ typedef struct VhostOps { > > vhost_vq_get_addr_op vhost_vq_get_addr; > > vhost_get_device_id_op vhost_get_device_id; > > vhost_force_iommu_op vhost_force_iommu; > > + vhost_set_config_call_op vhost_set_config_call; > > } VhostOps; > > > Let's split the vhost-vdpa implementation into another patch. > > Thanks > > sure will fix this > > > > extern const VhostOps user_ops; >
diff --git a/hw/virtio/trace-events b/hw/virtio/trace-events index 2060a144a2..6710835b46 100644 --- a/hw/virtio/trace-events +++ b/hw/virtio/trace-events @@ -52,6 +52,8 @@ vhost_vdpa_set_vring_call(void *dev, unsigned int index, int fd) "dev: %p index: vhost_vdpa_get_features(void *dev, uint64_t features) "dev: %p features: 0x%"PRIx64 vhost_vdpa_set_owner(void *dev) "dev: %p" vhost_vdpa_vq_get_addr(void *dev, void *vq, uint64_t desc_user_addr, uint64_t avail_user_addr, uint64_t used_user_addr) "dev: %p vq: %p desc_user_addr: 0x%"PRIx64" avail_user_addr: 0x%"PRIx64" used_user_addr: 0x%"PRIx64 +vhost_vdpa_set_config_call(void *dev, int *fd)"dev: %p fd: %p" + # virtio.c virtqueue_alloc_element(void *elem, size_t sz, unsigned in_num, unsigned out_num) "elem %p size %zd in_num %u out_num %u" diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 01d2101d09..9ba2a2bed4 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -545,6 +545,12 @@ static int vhost_vdpa_set_vring_call(struct vhost_dev *dev, trace_vhost_vdpa_set_vring_call(dev, file->index, file->fd); return vhost_vdpa_call(dev, VHOST_SET_VRING_CALL, file); } +static int vhost_vdpa_set_config_call(struct vhost_dev *dev, + int *fd) +{ + trace_vhost_vdpa_set_config_call(dev, fd); + return vhost_vdpa_call(dev, VHOST_VDPA_SET_CONFIG_CALL, fd); +} static int vhost_vdpa_get_features(struct vhost_dev *dev, uint64_t *features) @@ -611,4 +617,5 @@ const VhostOps vdpa_ops = { .vhost_get_device_id = vhost_vdpa_get_device_id, .vhost_vq_get_addr = vhost_vdpa_vq_get_addr, .vhost_force_iommu = vhost_vdpa_force_iommu, + .vhost_set_config_call = vhost_vdpa_set_config_call, }; diff --git a/include/hw/virtio/vhost-backend.h b/include/hw/virtio/vhost-backend.h index 8a6f8e2a7a..adaf6982d2 100644 --- a/include/hw/virtio/vhost-backend.h +++ b/include/hw/virtio/vhost-backend.h @@ -125,6 +125,8 @@ typedef int (*vhost_get_device_id_op)(struct vhost_dev *dev, uint32_t *dev_id); typedef bool (*vhost_force_iommu_op)(struct vhost_dev *dev); +typedef int (*vhost_set_config_call_op)(struct vhost_dev *dev, + int *fd); typedef struct VhostOps { VhostBackendType backend_type; vhost_backend_init vhost_backend_init; @@ -170,6 +172,7 @@ typedef struct VhostOps { vhost_vq_get_addr_op vhost_vq_get_addr; vhost_get_device_id_op vhost_get_device_id; vhost_force_iommu_op vhost_force_iommu; + vhost_set_config_call_op vhost_set_config_call; } VhostOps; extern const VhostOps user_ops;
to support configure interrupt, we need to Add new call back function for config interrupt. now聽this call back function only used in vhost-vdpa driver Signed-off-by: Cindy Lu <lulu@redhat.com> --- hw/virtio/trace-events | 2 ++ hw/virtio/vhost-vdpa.c | 7 +++++++ include/hw/virtio/vhost-backend.h | 3 +++ 3 files changed, 12 insertions(+)