mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
vhost: Add Shadow VirtQueue kick forwarding capabilities
At this mode no buffer forwarding will be performed in SVQ mode: Qemu will just forward the guest's kicks to the device. Host memory notifiers regions are left out for simplicity, and they will not be addressed in this series. 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
10857ec0ad
commit
dff4426fa6
4 changed files with 215 additions and 2 deletions
|
@ -18,8 +18,22 @@ typedef struct VhostShadowVirtqueue {
|
|||
EventNotifier hdev_kick;
|
||||
/* Shadow call notifier, sent to vhost */
|
||||
EventNotifier hdev_call;
|
||||
|
||||
/*
|
||||
* Borrowed virtqueue's guest to host notifier. To borrow it in this event
|
||||
* notifier allows to recover the VhostShadowVirtqueue from the event loop
|
||||
* easily. If we use the VirtQueue's one, we don't have an easy way to
|
||||
* retrieve VhostShadowVirtqueue.
|
||||
*
|
||||
* So shadow virtqueue must not clean it, or we would lose VirtQueue one.
|
||||
*/
|
||||
EventNotifier svq_kick;
|
||||
} VhostShadowVirtqueue;
|
||||
|
||||
void vhost_svq_set_svq_kick_fd(VhostShadowVirtqueue *svq, int svq_kick_fd);
|
||||
|
||||
void vhost_svq_stop(VhostShadowVirtqueue *svq);
|
||||
|
||||
VhostShadowVirtqueue *vhost_svq_new(void);
|
||||
|
||||
void vhost_svq_free(gpointer vq);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue