diff options
Diffstat (limited to 'hw/vhost.h')
-rw-r--r-- | hw/vhost.h | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/hw/vhost.h b/hw/vhost.h deleted file mode 100644 index f062d48..0000000 --- a/hw/vhost.h +++ /dev/null @@ -1,68 +0,0 @@ -#ifndef VHOST_H -#define VHOST_H - -#include "hw/hw.h" -#include "hw/virtio.h" -#include "exec/memory.h" - -/* Generic structures common for any vhost based device. */ -struct vhost_virtqueue { - int kick; - int call; - void *desc; - void *avail; - void *used; - int num; - unsigned long long used_phys; - unsigned used_size; - void *ring; - unsigned long long ring_phys; - unsigned ring_size; - EventNotifier masked_notifier; -}; - -typedef unsigned long vhost_log_chunk_t; -#define VHOST_LOG_PAGE 0x1000 -#define VHOST_LOG_BITS (8 * sizeof(vhost_log_chunk_t)) -#define VHOST_LOG_CHUNK (VHOST_LOG_PAGE * VHOST_LOG_BITS) - -struct vhost_memory; -struct vhost_dev { - MemoryListener memory_listener; - int control; - struct vhost_memory *mem; - int n_mem_sections; - MemoryRegionSection *mem_sections; - struct vhost_virtqueue *vqs; - int nvqs; - /* the first virtuque which would be used by this vhost dev */ - int vq_index; - unsigned long long features; - unsigned long long acked_features; - unsigned long long backend_features; - bool started; - bool log_enabled; - vhost_log_chunk_t *log; - unsigned long long log_size; - bool force; -}; - -int vhost_dev_init(struct vhost_dev *hdev, int devfd, const char *devpath, - bool force); -void vhost_dev_cleanup(struct vhost_dev *hdev); -bool vhost_dev_query(struct vhost_dev *hdev, VirtIODevice *vdev); -int vhost_dev_start(struct vhost_dev *hdev, VirtIODevice *vdev); -void vhost_dev_stop(struct vhost_dev *hdev, VirtIODevice *vdev); -int vhost_dev_enable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev); -void vhost_dev_disable_notifiers(struct vhost_dev *hdev, VirtIODevice *vdev); - -/* Test and clear masked event pending status. - * Should be called after unmask to avoid losing events. - */ -bool vhost_virtqueue_pending(struct vhost_dev *hdev, int n); - -/* Mask/unmask events from this vq. - */ -void vhost_virtqueue_mask(struct vhost_dev *hdev, VirtIODevice *vdev, int n, - bool mask); -#endif |