summaryrefslogtreecommitdiffstats
path: root/src/vnet/devices/virtio/pci.h
diff options
context:
space:
mode:
authorMohsin Kazmi <sykazmi@cisco.com>2020-09-29 10:01:25 +0000
committerBeno�t Ganne <bganne@cisco.com>2020-09-29 13:34:13 +0000
commit162a296756f3dbead55079e4670973d859df1ef9 (patch)
treec24b836a83a051d809508697ba8871538a0ea040 /src/vnet/devices/virtio/pci.h
parentd68faf8559da72aa6ad0526d5a86fb16587b1508 (diff)
virtio: fix modern device queue notify
QUEUE_SELECT and QUEUE_NOTIFY_OFF registers are shared between all workers operating on the same device and operations are not atomic Type: fix Change-Id: Ie017b1bfc7e3b6b4e59029f45db78eeffd9f3aeb Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Diffstat (limited to 'src/vnet/devices/virtio/pci.h')
-rw-r--r--src/vnet/devices/virtio/pci.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/vnet/devices/virtio/pci.h b/src/vnet/devices/virtio/pci.h
index 10df49c66c9..70aa9833c2d 100644
--- a/src/vnet/devices/virtio/pci.h
+++ b/src/vnet/devices/virtio/pci.h
@@ -195,7 +195,10 @@ typedef struct _virtio_pci_func
u8 (*setup_queue) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id,
void *p);
void (*del_queue) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id);
- void (*notify_queue) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id);
+ u16 (*get_queue_notify_off) (vlib_main_t * vm, virtio_if_t * vif,
+ u16 queue_id);
+ void (*notify_queue) (vlib_main_t * vm, virtio_if_t * vif, u16 queue_id,
+ u16 queue_notify_offset);
u16 (*set_config_irq) (vlib_main_t * vm, virtio_if_t * vif, u16 vec);
u16 (*set_queue_irq) (vlib_main_t * vm, virtio_if_t * vif, u16 vec,