diff options
| author | David Hildenbrand <david@redhat.com> | 2023-09-26 20:57:31 +0200 |
|---|---|---|
| committer | David Hildenbrand <david@redhat.com> | 2023-10-12 14:15:22 +0200 |
| commit | cd89c065b06d49691ecb1f3707849472acdf3ea5 (patch) | |
| tree | 364d237415b5d6f93c034089ede4e0766161430d | |
| parent | 16ab2eda57233787c2145bc5eaeabcc2852bc4c3 (diff) | |
| download | focaccia-qemu-cd89c065b06d49691ecb1f3707849472acdf3ea5.tar.gz focaccia-qemu-cd89c065b06d49691ecb1f3707849472acdf3ea5.zip | |
vhost: Add vhost_get_max_memslots()
Let's add vhost_get_max_memslots(). Message-ID: <20230926185738.277351-12-david@redhat.com> Reviewed-by: Maciej S. Szmigiero <maciej.szmigiero@oracle.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com>
| -rw-r--r-- | hw/virtio/vhost-stub.c | 5 | ||||
| -rw-r--r-- | hw/virtio/vhost.c | 11 | ||||
| -rw-r--r-- | include/hw/virtio/vhost.h | 1 |
3 files changed, 17 insertions, 0 deletions
diff --git a/hw/virtio/vhost-stub.c b/hw/virtio/vhost-stub.c index d53dd9d288..52d42adab2 100644 --- a/hw/virtio/vhost-stub.c +++ b/hw/virtio/vhost-stub.c @@ -2,6 +2,11 @@ #include "hw/virtio/vhost.h" #include "hw/virtio/vhost-user.h" +unsigned int vhost_get_max_memslots(void) +{ + return UINT_MAX; +} + unsigned int vhost_get_free_memslots(void) { return UINT_MAX; diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c index 041a05d5f1..2bdb4fb231 100644 --- a/hw/virtio/vhost.c +++ b/hw/virtio/vhost.c @@ -55,6 +55,17 @@ static unsigned int used_shared_memslots; static QLIST_HEAD(, vhost_dev) vhost_devices = QLIST_HEAD_INITIALIZER(vhost_devices); +unsigned int vhost_get_max_memslots(void) +{ + unsigned int max = UINT_MAX; + struct vhost_dev *hdev; + + QLIST_FOREACH(hdev, &vhost_devices, entry) { + max = MIN(max, hdev->vhost_ops->vhost_backend_memslots_limit(hdev)); + } + return max; +} + unsigned int vhost_get_free_memslots(void) { unsigned int free = UINT_MAX; diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h index 603bf834be..c7e5467693 100644 --- a/include/hw/virtio/vhost.h +++ b/include/hw/virtio/vhost.h @@ -315,6 +315,7 @@ uint64_t vhost_get_features(struct vhost_dev *hdev, const int *feature_bits, */ void vhost_ack_features(struct vhost_dev *hdev, const int *feature_bits, uint64_t features); +unsigned int vhost_get_max_memslots(void); unsigned int vhost_get_free_memslots(void); int vhost_net_set_backend(struct vhost_dev *hdev, |