qemu-cr16/hw/virtio
Paolo Abeni f412c1f57a vhost-backend: implement extended features support
Leverage the kernel extended features manipulation ioctls(), if
available, and fallback to old ops otherwise. Error out when setting
extended features but kernel support is not available.

Note that extended support for get/set backend features is not needed,
as the only feature that can be changed belongs to the 64 bit range.

Reviewed-by: Akihiko Odaki <odaki@rsg.ci.i.u-tokyo.ac.jp>
Acked-by: Jason Wang <jasowang@redhat.com>
Acked-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Tested-by: Lei Yang <leiyang@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <150daade3d59e77629276920e014ee8e5fc12121.1758549625.git.pabeni@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
2025-10-04 10:50:37 -04:00
..
cbor-helpers.c device/virtio-nsm: Support for Nitro Secure Module device 2024-10-31 18:28:32 +01:00
iothread-vq-mapping.c virtio: extract iothread-vq-mapping.h API 2025-03-13 17:57:23 +01:00
Kconfig s390x/virtio-ccw: add support for virtio based memory devices 2024-12-21 15:59:59 +01:00
meson.build hw/virtio: Build various files once 2025-07-15 02:56:39 -04:00
trace-events hw/virtio/virtio-iommu: Migrate to 3-phase reset 2025-02-21 07:21:25 -05:00
trace.h
vdpa-dev-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vdpa-dev.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-backend.c vhost-backend: implement extended features support 2025-10-04 10:50:37 -04:00
vhost-iova-tree.c vhost-iova-tree: Update documentation 2025-02-21 07:18:42 -05:00
vhost-iova-tree.h include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
vhost-scsi-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-shadow-virtqueue.c vdpa: Fix endian bugs in shadow virtqueue 2025-02-21 07:18:42 -05:00
vhost-shadow-virtqueue.h vhost-iova-tree, svq: Implement GPA->IOVA & partial IOVA->HVA trees 2025-02-21 07:18:42 -05:00
vhost-stub.c vhost: Add vhost_get_max_memslots() 2023-10-12 14:15:22 +02:00
vhost-user-base.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-user-blk-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-device-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-device.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-fs-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-fs.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-user-gpio-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-gpio.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-i2c-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-i2c.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-input-pci.c hw/virtio: derive vhost-user-input from vhost-user-base 2024-02-14 06:09:32 -05:00
vhost-user-input.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-rng-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-rng.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-scmi-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-scmi.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-user-scsi-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-snd-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-snd.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-vsock-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-user-vsock.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-user.c util: drop qemu_socket_set_nonblock() 2025-09-19 12:46:07 +01:00
vhost-vdpa.c vfio: return mr from vfio_get_xlat_addr 2025-06-05 10:40:38 +02:00
vhost-vsock-common.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
vhost-vsock-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
vhost-vsock.c treewide: use qemu_set_blocking instead of g_unix_set_fd_nonblocking 2025-09-19 12:46:07 +01:00
vhost.c vhost: add support for negotiating extended features 2025-10-04 10:50:37 -04:00
virtio-9p-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-acpi.c license: Update deprecated SPDX tag GPL-2.0+ to GPL-2.0-or-later 2024-09-20 10:11:59 +03:00
virtio-balloon-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-balloon.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
virtio-blk-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-bus.c virtio: add support for negotiating extended features 2025-10-04 10:50:37 -04:00
virtio-config-io.c hw/virtio: Build various files once 2025-07-15 02:56:39 -04:00
virtio-crypto-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-crypto.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
virtio-hmp-cmds.c qmp: update virtio features map to support extended features 2025-10-04 10:50:37 -04:00
virtio-input-host-pci.c hw/virtio: move virtio-pci.h into shared include space 2022-05-16 04:38:40 -04:00
virtio-input-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-iommu-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-iommu.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
virtio-md-pci.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
virtio-md-stubs.c hw/virtio: move stubs out of stubs/ 2024-04-18 11:17:27 +02:00
virtio-mem-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-mem-pci.h virtio-md-pci: New parent type for virtio-mem-pci and virtio-pmem-pci 2023-07-12 09:27:25 +02:00
virtio-mem.c memory: Unify the definiton of ReplayRamPopulate() and ReplayRamDiscard() 2025-06-23 16:03:59 -04:00
virtio-mmio.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-net-pci.c virtio-net: Implement SR-IOV VF 2025-05-14 05:39:14 -04:00
virtio-nsm-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-nsm.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-pci.c virtio-pci: implement support for extended features 2025-10-04 10:50:37 -04:00
virtio-pmem-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-pmem-pci.h virtio-md-pci: New parent type for virtio-mem-pci and virtio-pmem-pci 2023-07-12 09:27:25 +02:00
virtio-pmem.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-qmp.c qmp: update virtio features map to support extended features 2025-10-04 10:50:37 -04:00
virtio-qmp.h qmp: update virtio features map to support extended features 2025-10-04 10:50:37 -04:00
virtio-rng-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-rng.c vhost-user: return failure if backend crash when live migration 2025-05-14 05:39:15 -04:00
virtio-scsi-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-serial-pci.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
virtio-stub.c qmp: add QMP command x-query-virtio-queue-element 2022-10-09 16:38:45 -04:00
virtio.c virtio: add support for negotiating extended features 2025-10-04 10:50:37 -04:00