vhost-vdpa: map virtqueue notification area if possible

This patch implements the vq notification mapping support for
vhost-vDPA. This is simply done by using mmap()/munmap() for the
vhost-vDPA fd during device start/stop. For the device without
notification mapping support, we fall back to eventfd based
notification gracefully.

Reviewed-by: Si-Wei Liu <si-wei.liu@oracle.com>
Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
Jason Wang 2021-04-15 15:33:56 +08:00
parent d60c75d28f
commit d0416d487b
2 changed files with 91 additions and 0 deletions

View file

@ -14,11 +14,17 @@
#include "hw/virtio/virtio.h"
typedef struct VhostVDPAHostNotifier {
MemoryRegion mr;
void *addr;
} VhostVDPAHostNotifier;
typedef struct vhost_vdpa {
int device_fd;
uint32_t msg_type;
MemoryListener listener;
struct vhost_dev *dev;
VhostVDPAHostNotifier notifier[VIRTIO_QUEUE_MAX];
} VhostVDPA;
#endif