diff options
author | Jason Wang <jasowang@redhat.com> | 2020-03-26 15:01:18 +0100 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2020-04-01 18:06:26 +0200 |
commit | 792a4f2ed24fcdf0a1956e84fe2a71ada318ba7c (patch) | |
tree | 2e6c428495030f0118f14468fc2cdf7f6e649b29 /drivers/vhost/vhost.h | |
parent | vhost: refine vhost and vringh kconfig (diff) | |
download | linux-792a4f2ed24fcdf0a1956e84fe2a71ada318ba7c.tar.xz linux-792a4f2ed24fcdf0a1956e84fe2a71ada318ba7c.zip |
vhost: allow per device message handler
This patch allow device to register its own message handler during
vhost_dev_init(). vDPA device will use it to implement its own DMA
mapping logic.
Signed-off-by: Jason Wang <jasowang@redhat.com>
Link: https://lore.kernel.org/r/20200326140125.19794-3-jasowang@redhat.com
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/vhost/vhost.h')
-rw-r--r-- | drivers/vhost/vhost.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/vhost/vhost.h b/drivers/vhost/vhost.h index a123fd70847e..f9d1a03dd153 100644 --- a/drivers/vhost/vhost.h +++ b/drivers/vhost/vhost.h @@ -174,11 +174,15 @@ struct vhost_dev { int weight; int byte_weight; u64 kcov_handle; + int (*msg_handler)(struct vhost_dev *dev, + struct vhost_iotlb_msg *msg); }; bool vhost_exceeds_weight(struct vhost_virtqueue *vq, int pkts, int total_len); void vhost_dev_init(struct vhost_dev *, struct vhost_virtqueue **vqs, - int nvqs, int iov_limit, int weight, int byte_weight); + int nvqs, int iov_limit, int weight, int byte_weight, + int (*msg_handler)(struct vhost_dev *dev, + struct vhost_iotlb_msg *msg)); long vhost_dev_set_owner(struct vhost_dev *dev); bool vhost_dev_has_owner(struct vhost_dev *dev); long vhost_dev_check_owner(struct vhost_dev *); |