/openbmc/qemu/include/hw/virtio/ |
H A D | vhost-backend.h | 42 struct vhost_dev; 54 typedef int (*vhost_backend_init)(struct vhost_dev *dev, void *opaque, 56 typedef int (*vhost_backend_cleanup)(struct vhost_dev *dev); 57 typedef int (*vhost_backend_memslots_limit)(struct vhost_dev *dev); 59 typedef int (*vhost_net_set_backend_op)(struct vhost_dev *dev, 61 typedef int (*vhost_net_set_mtu_op)(struct vhost_dev *dev, uint16_t mtu); 62 typedef int (*vhost_scsi_set_endpoint_op)(struct vhost_dev *dev, 64 typedef int (*vhost_scsi_clear_endpoint_op)(struct vhost_dev *dev, 66 typedef int (*vhost_scsi_get_abi_version_op)(struct vhost_dev *dev, 68 typedef int (*vhost_set_log_base_op)(struct vhost_dev *dev, uint64_t base, [all …]
|
H A D | vhost.h | 39 struct vhost_dev *dev; 56 struct vhost_dev; 58 struct vhost_dev *hdev; 68 int (*vhost_dev_config_notifier)(struct vhost_dev *dev); 78 struct vhost_dev { struct 131 QLIST_ENTRY(vhost_dev) entry; argument 132 QLIST_ENTRY(vhost_dev) logdev_entry; 143 struct vhost_dev dev; argument 164 int vhost_dev_init(struct vhost_dev *hdev, void *opaque, 172 void vhost_dev_cleanup(struct vhost_dev *hdev); [all …]
|
H A D | vhost-user-scmi.h | 23 struct vhost_dev vhost_dev; member
|
H A D | vhost-user-fs.h | 38 struct vhost_dev vhost_dev; member
|
H A D | vhost-user-base.h | 31 struct vhost_dev vhost_dev; member
|
H A D | virtio-dmabuf.h | 58 bool virtio_add_vhost_device(QemuUUID *uuid, struct vhost_dev *dev); 83 struct vhost_dev *virtio_lookup_vhost_device(const QemuUUID *uuid);
|
H A D | vhost-vsock-common.h | 32 struct vhost_dev vhost_dev; member
|
H A D | vhost-user-blk.h | 37 struct vhost_dev dev;
|
/openbmc/linux/drivers/vhost/ |
H A D | vhost.h | 31 struct vhost_dev *dev; 49 struct vhost_dev *dev; 54 __poll_t mask, struct vhost_dev *dev, 61 void vhost_dev_flush(struct vhost_dev *dev); 82 struct vhost_dev *dev; 162 struct vhost_dev { struct 179 int (*msg_handler)(struct vhost_dev *dev, u32 asid, argument 184 void vhost_dev_init(struct vhost_dev *, struct vhost_virtqueue **vqs, 187 int (*msg_handler)(struct vhost_dev *dev, u32 asid, 189 long vhost_dev_set_owner(struct vhost_dev *dev); [all …]
|
H A D | vhost.c | 190 __poll_t mask, struct vhost_dev *dev, in vhost_poll_init() 311 void vhost_dev_flush(struct vhost_dev *dev) in vhost_dev_flush() 351 static void vhost_vq_meta_reset(struct vhost_dev *d) in vhost_vq_meta_reset() 371 static void vhost_vq_reset(struct vhost_dev *dev, in vhost_vq_reset() 431 struct vhost_dev *dev = worker->dev; in vhost_worker_killed() 473 static long vhost_dev_alloc_iovecs(struct vhost_dev *dev) in vhost_dev_alloc_iovecs() 498 static void vhost_dev_free_iovecs(struct vhost_dev *dev) in vhost_dev_free_iovecs() 509 struct vhost_dev *dev = vq->dev; in vhost_exceeds_weight() 545 void vhost_dev_init(struct vhost_dev *dev, in vhost_dev_init() 549 int (*msg_handler)(struct vhost_dev *dev, u32 asid, in vhost_dev_init() [all …]
|
/openbmc/qemu/hw/virtio/ |
H A D | vhost-backend.c | 23 static int vhost_kernel_call(struct vhost_dev *dev, unsigned long int request, in vhost_kernel_call() 35 static int vhost_kernel_init(struct vhost_dev *dev, void *opaque, Error **errp) in vhost_kernel_init() 44 static int vhost_kernel_cleanup(struct vhost_dev *dev) in vhost_kernel_cleanup() 53 static int vhost_kernel_memslots_limit(struct vhost_dev *dev) in vhost_kernel_memslots_limit() 72 static int vhost_kernel_net_set_backend(struct vhost_dev *dev, in vhost_kernel_net_set_backend() 78 static int vhost_kernel_scsi_set_endpoint(struct vhost_dev *dev, in vhost_kernel_scsi_set_endpoint() 84 static int vhost_kernel_scsi_clear_endpoint(struct vhost_dev *dev, in vhost_kernel_scsi_clear_endpoint() 90 static int vhost_kernel_scsi_get_abi_version(struct vhost_dev *dev, int *version) in vhost_kernel_scsi_get_abi_version() 95 static int vhost_kernel_set_log_base(struct vhost_dev *dev, uint64_t base, in vhost_kernel_set_log_base() 101 static int vhost_kernel_set_mem_table(struct vhost_dev *dev, in vhost_kernel_set_mem_table() [all …]
|
H A D | vhost-user-scmi.c | 39 struct vhost_dev *vhost_dev = &scmi->vhost_dev; in vu_scmi_start() local 47 ret = vhost_dev_enable_notifiers(vhost_dev, vdev); in vu_scmi_start() 53 ret = k->set_guest_notifiers(qbus->parent, vhost_dev->nvqs, true); in vu_scmi_start() 59 vhost_ack_features(vhost_dev, feature_bits, vdev->guest_features); in vu_scmi_start() 61 ret = vhost_dev_start(vhost_dev, vdev, true); in vu_scmi_start() 73 for (i = 0; i < scmi->vhost_dev.nvqs; i++) { in vu_scmi_start() 74 vhost_virtqueue_mask(vhost_dev, vdev, i, false); in vu_scmi_start() 79 k->set_guest_notifiers(qbus->parent, vhost_dev->nvqs, false); in vu_scmi_start() 81 vhost_dev_disable_notifiers(vhost_dev, vdev); in vu_scmi_start() 91 struct vhost_dev *vhost_dev = &scmi->vhost_dev; in vu_scmi_stop() local [all …]
|
H A D | vhost-user-base.c | 32 ret = vhost_dev_enable_notifiers(&vub->vhost_dev, vdev); in vub_start() 38 ret = k->set_guest_notifiers(qbus->parent, vub->vhost_dev.nvqs, true); in vub_start() 44 vub->vhost_dev.acked_features = vdev->guest_features; in vub_start() 46 ret = vhost_dev_start(&vub->vhost_dev, vdev, true); in vub_start() 57 for (i = 0; i < vub->vhost_dev.nvqs; i++) { in vub_start() 58 vhost_virtqueue_mask(&vub->vhost_dev, vdev, i, false); in vub_start() 64 k->set_guest_notifiers(qbus->parent, vub->vhost_dev.nvqs, false); in vub_start() 66 vhost_dev_disable_notifiers(&vub->vhost_dev, vdev); in vub_start() 80 vhost_dev_stop(&vub->vhost_dev, vdev, true); in vub_stop() 82 ret = k->set_guest_notifiers(qbus->parent, vub->vhost_dev.nvqs, false); in vub_stop() [all …]
|
H A D | vhost-user-fs.c | 67 ret = vhost_dev_enable_notifiers(&fs->vhost_dev, vdev); in vuf_start() 73 ret = k->set_guest_notifiers(qbus->parent, fs->vhost_dev.nvqs, true); in vuf_start() 79 fs->vhost_dev.acked_features = vdev->guest_features; in vuf_start() 80 ret = vhost_dev_start(&fs->vhost_dev, vdev, true); in vuf_start() 91 for (i = 0; i < fs->vhost_dev.nvqs; i++) { in vuf_start() 92 vhost_virtqueue_mask(&fs->vhost_dev, vdev, i, false); in vuf_start() 98 k->set_guest_notifiers(qbus->parent, fs->vhost_dev.nvqs, false); in vuf_start() 100 vhost_dev_disable_notifiers(&fs->vhost_dev, vdev); in vuf_start() 114 vhost_dev_stop(&fs->vhost_dev, vdev, true); in vuf_stop() 116 ret = k->set_guest_notifiers(qbus->parent, fs->vhost_dev.nvqs, false); in vuf_stop() [all …]
|
H A D | vhost-vsock-common.c | 38 features = vhost_get_features(&vvc->vhost_dev, feature_bits, features); in vhost_vsock_common_get_features() 61 ret = vhost_dev_enable_notifiers(&vvc->vhost_dev, vdev); in vhost_vsock_common_start() 67 ret = k->set_guest_notifiers(qbus->parent, vvc->vhost_dev.nvqs, true); in vhost_vsock_common_start() 73 vvc->vhost_dev.acked_features = vdev->guest_features; in vhost_vsock_common_start() 74 ret = vhost_dev_start(&vvc->vhost_dev, vdev, true); in vhost_vsock_common_start() 85 for (i = 0; i < vvc->vhost_dev.nvqs; i++) { in vhost_vsock_common_start() 86 vhost_virtqueue_mask(&vvc->vhost_dev, vdev, i, false); in vhost_vsock_common_start() 92 k->set_guest_notifiers(qbus->parent, vvc->vhost_dev.nvqs, false); in vhost_vsock_common_start() 94 vhost_dev_disable_notifiers(&vvc->vhost_dev, vdev); in vhost_vsock_common_start() 109 vhost_dev_stop(&vvc->vhost_dev, vdev, true); in vhost_vsock_common_stop() [all …]
|
H A D | vhost.c | 48 static QLIST_HEAD(, vhost_dev) vhost_log_devs[VHOST_BACKEND_TYPE_MAX]; 56 static QLIST_HEAD(, vhost_dev) vhost_devices = 62 struct vhost_dev *hdev; in vhost_get_max_memslots() 73 struct vhost_dev *hdev; in vhost_get_free_memslots() 90 static void vhost_dev_sync_region(struct vhost_dev *dev, in vhost_dev_sync_region() 135 bool vhost_dev_has_iommu(struct vhost_dev *dev) in vhost_dev_has_iommu() 153 static inline bool vhost_dev_should_log(struct vhost_dev *dev) in vhost_dev_should_log() 162 static inline void vhost_dev_elect_mem_logger(struct vhost_dev *hdev, bool add) in vhost_dev_elect_mem_logger() 194 static int vhost_sync_dirty_bitmap(struct vhost_dev *dev, in vhost_sync_dirty_bitmap() 279 struct vhost_dev *dev = container_of(listener, struct vhost_dev, in vhost_log_sync() [all …]
|
H A D | vhost-vdpa.c | 498 static int vhost_vdpa_call(struct vhost_dev *dev, unsigned long int request, in vhost_vdpa_call() 511 static int vhost_vdpa_add_status(struct vhost_dev *dev, uint8_t status) in vhost_vdpa_add_status() 559 static bool vhost_vdpa_first_dev(struct vhost_dev *dev) in vhost_vdpa_first_dev() 566 static bool vhost_vdpa_last_dev(struct vhost_dev *dev) in vhost_vdpa_last_dev() 571 static int vhost_vdpa_get_dev_features(struct vhost_dev *dev, in vhost_vdpa_get_dev_features() 581 static void vhost_vdpa_init_svq(struct vhost_dev *hdev, struct vhost_vdpa *v) in vhost_vdpa_init_svq() 596 static int vhost_vdpa_init(struct vhost_dev *dev, void *opaque, Error **errp) in vhost_vdpa_init() 644 static void vhost_vdpa_host_notifier_uninit(struct vhost_dev *dev, in vhost_vdpa_host_notifier_uninit() 662 static int vhost_vdpa_host_notifier_init(struct vhost_dev *dev, int queue_index) in vhost_vdpa_host_notifier_init() 701 static void vhost_vdpa_host_notifiers_uninit(struct vhost_dev *dev, int n) in vhost_vdpa_host_notifiers_uninit() [all …]
|
H A D | virtio-hmp-cmds.c | 120 s->name, s->vhost_dev ? "(vhost)" : ""); in hmp_virtio_status() 156 if (s->vhost_dev) { in hmp_virtio_status() 159 s->vhost_dev->nvqs); in hmp_virtio_status() 161 s->vhost_dev->vq_index); in hmp_virtio_status() 163 s->vhost_dev->max_queues); in hmp_virtio_status() 165 s->vhost_dev->n_mem_sections); in hmp_virtio_status() 167 s->vhost_dev->n_tmp_sections); in hmp_virtio_status() 169 s->vhost_dev->backend_cap); in hmp_virtio_status() 171 s->vhost_dev->log_enabled ? "true" : "false"); in hmp_virtio_status() 173 s->vhost_dev->log_size); in hmp_virtio_status() [all …]
|
H A D | vhost-user-vsock.c | 36 static int vuv_handle_config_change(struct vhost_dev *dev) in vuv_handle_config_change() 62 if (vhost_dev_is_started(&vvc->vhost_dev) == should_start) { in vuv_set_status() 82 features = vhost_get_features(&vvc->vhost_dev, user_feature_bits, features); in vuv_get_features() 110 vhost_dev_set_config_notifier(&vvc->vhost_dev, &vsock_ops); in vuv_device_realize() 112 ret = vhost_dev_init(&vvc->vhost_dev, &vsock->vhost_user, in vuv_device_realize() 118 ret = vhost_dev_get_config(&vvc->vhost_dev, (uint8_t *)&vsock->vsockcfg, in vuv_device_realize() 127 vhost_dev_cleanup(&vvc->vhost_dev); in vuv_device_realize() 143 vhost_dev_cleanup(&vvc->vhost_dev); in vuv_device_unrealize()
|
H A D | vhost-vsock.c | 37 const VhostOps *vhost_ops = vvc->vhost_dev.vhost_ops; in vhost_vsock_set_guest_cid() 44 ret = vhost_ops->vhost_vsock_set_guest_cid(&vvc->vhost_dev, in vhost_vsock_set_guest_cid() 55 const VhostOps *vhost_ops = vvc->vhost_dev.vhost_ops; in vhost_vsock_set_running() 62 ret = vhost_ops->vhost_vsock_set_running(&vvc->vhost_dev, start); in vhost_vsock_set_running() 76 if (vhost_dev_is_started(&vvc->vhost_dev) == should_start) { in vhost_vsock_set_status() 171 ret = vhost_dev_init(&vvc->vhost_dev, (void *)(uintptr_t)vhostfd, in vhost_vsock_device_realize() 191 vhost_dev_cleanup(&vvc->vhost_dev); in vhost_vsock_device_realize() 204 vhost_dev_cleanup(&vvc->vhost_dev); in vhost_vsock_device_unrealize()
|
H A D | vhost-user.c | 243 struct vhost_dev *dev; 275 static int vhost_user_read_header(struct vhost_dev *dev, VhostUserMsg *msg) in vhost_user_read_header() 303 static int vhost_user_read(struct vhost_dev *dev, VhostUserMsg *msg) in vhost_user_read() 338 static int process_message_reply(struct vhost_dev *dev, in process_message_reply() 382 static int vhost_user_write(struct vhost_dev *dev, VhostUserMsg *msg, in vhost_user_write() 423 int vhost_user_gpu_set_socket(struct vhost_dev *dev, int fd) in vhost_user_gpu_set_socket() 433 static int vhost_user_set_log_base(struct vhost_dev *dev, uint64_t base, in vhost_user_set_log_base() 506 struct vhost_dev *dev, in vhost_user_fill_set_mem_table_msg() 569 static void scrub_shadow_regions(struct vhost_dev *dev, in scrub_shadow_regions() 661 static int send_remove_regions(struct vhost_dev *dev, in send_remove_regions() [all …]
|
H A D | virtio-qmp.c | 780 struct vhost_dev *hdev = vdc->get_vhost(vdev); in qmp_x_query_virtio_status() 782 status->vhost_dev = g_new0(VhostStatus, 1); in qmp_x_query_virtio_status() 783 status->vhost_dev->n_mem_sections = hdev->n_mem_sections; in qmp_x_query_virtio_status() 784 status->vhost_dev->n_tmp_sections = hdev->n_tmp_sections; in qmp_x_query_virtio_status() 785 status->vhost_dev->nvqs = hdev->nvqs; in qmp_x_query_virtio_status() 786 status->vhost_dev->vq_index = hdev->vq_index; in qmp_x_query_virtio_status() 787 status->vhost_dev->features = in qmp_x_query_virtio_status() 789 status->vhost_dev->acked_features = in qmp_x_query_virtio_status() 791 status->vhost_dev->backend_features = in qmp_x_query_virtio_status() 793 status->vhost_dev->protocol_features = in qmp_x_query_virtio_status() [all …]
|
/openbmc/qemu/qapi/ |
H A D | virtio.json | 74 # @n-mem-sections: vhost_dev n_mem_sections 76 # @n-tmp-sections: vhost_dev n_tmp_sections 78 # @nvqs: vhost_dev nvqs (number of virtqueues being used) 80 # @vq-index: vhost_dev vq_index 82 # @features: vhost_dev features 84 # @acked-features: vhost_dev acked_features 86 # @backend-features: vhost_dev backend_features 88 # @protocol-features: vhost_dev protocol_features 90 # @max-queues: vhost_dev max_queues 92 # @backend-cap: vhost_dev backend_cap [all …]
|
/openbmc/qemu/hw/display/ |
H A D | virtio-dmabuf.c | 69 bool virtio_add_vhost_device(QemuUUID *uuid, struct vhost_dev *dev) in virtio_add_vhost_device() 120 struct vhost_dev *virtio_lookup_vhost_device(const QemuUUID *uuid) in virtio_lookup_vhost_device() 127 return (struct vhost_dev *) vso->value; in virtio_lookup_vhost_device()
|
/openbmc/qemu/tests/unit/ |
H A D | test-virtio-dmabuf.c | 46 struct vhost_dev *dev = g_new0(struct vhost_dev, 1); in test_add_remove_dev() 78 struct vhost_dev *dev = NULL; in test_add_invalid_resource()
|