mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
vdpa: Add custom IOTLB translations to SVQ
Use translations added in VhostIOVATree in SVQ. Only introduce usage here, not allocation and deallocation. As with previous patches, we use the dead code paths of shadow_vqs_enabled to avoid commiting too many changes at once. These are impossible to take at the moment. Signed-off-by: Eugenio Pérez <eperezma@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Jason Wang <jasowang@redhat.com>
This commit is contained in:
parent
ec6122d882
commit
34e3c94eda
4 changed files with 187 additions and 30 deletions
|
@ -13,6 +13,7 @@
|
|||
#include "qemu/event_notifier.h"
|
||||
#include "hw/virtio/virtio.h"
|
||||
#include "standard-headers/linux/vhost_types.h"
|
||||
#include "hw/virtio/vhost-iova-tree.h"
|
||||
|
||||
/* Shadow virtqueue to relay notifications */
|
||||
typedef struct VhostShadowVirtqueue {
|
||||
|
@ -43,6 +44,9 @@ typedef struct VhostShadowVirtqueue {
|
|||
/* Virtio device */
|
||||
VirtIODevice *vdev;
|
||||
|
||||
/* IOVA mapping */
|
||||
VhostIOVATree *iova_tree;
|
||||
|
||||
/* Map for use the guest's descriptors */
|
||||
VirtQueueElement **ring_id_maps;
|
||||
|
||||
|
@ -75,7 +79,7 @@ void vhost_svq_start(VhostShadowVirtqueue *svq, VirtIODevice *vdev,
|
|||
VirtQueue *vq);
|
||||
void vhost_svq_stop(VhostShadowVirtqueue *svq);
|
||||
|
||||
VhostShadowVirtqueue *vhost_svq_new(void);
|
||||
VhostShadowVirtqueue *vhost_svq_new(VhostIOVATree *iova_tree);
|
||||
|
||||
void vhost_svq_free(gpointer vq);
|
||||
G_DEFINE_AUTOPTR_CLEANUP_FUNC(VhostShadowVirtqueue, vhost_svq_free);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue