virtio-pci: Introduce admin virtqueue
authorFeng Liu <feliu@nvidia.com>
Tue, 19 Dec 2023 09:32:40 +0000 (11:32 +0200)
committerAlex Williamson <alex.williamson@redhat.com>
Tue, 19 Dec 2023 18:51:31 +0000 (11:51 -0700)
commitfd27ef6b44bec26915c5b2b22c13856d9f0ba17a
treee9823713c0bf880a4dbf580f4eaaca0d839fe300
parent838bebb4c926a573839ff1bfe1b654a6ed0f9779
virtio-pci: Introduce admin virtqueue

Introduce support for the admin virtqueue. By negotiating
VIRTIO_F_ADMIN_VQ feature, driver detects capability and creates one
administration virtqueue. Administration virtqueue implementation in
virtio pci generic layer, enables multiple types of upper layer
drivers such as vfio, net, blk to utilize it.

Signed-off-by: Feng Liu <feliu@nvidia.com>
Reviewed-by: Parav Pandit <parav@nvidia.com>
Reviewed-by: Jiri Pirko <jiri@nvidia.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Link: https://lore.kernel.org/r/20231219093247.170936-3-yishaih@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/virtio/virtio.c
drivers/virtio/virtio_pci_common.c
drivers/virtio/virtio_pci_common.h
drivers/virtio/virtio_pci_modern.c
drivers/virtio/virtio_pci_modern_dev.c
include/linux/virtio_config.h
include/linux/virtio_pci_modern.h
include/uapi/linux/virtio_pci.h