| /* Generic structures common for any vhost based device. */ |
| unsigned long long used_phys; |
| unsigned long long ring_phys; |
| 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) |
| CPUPhysMemoryClient client; |
| struct vhost_memory *mem; |
| struct vhost_virtqueue *vqs; |
| unsigned long long features; |
| unsigned long long acked_features; |
| unsigned long long backend_features; |
| unsigned long long log_size; |
| int vhost_dev_init(struct vhost_dev *hdev, int devfd, 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); |