linux/drivers/virtio
Jiri Pirko 96a8326d69 virtio: add debugfs infrastructure to allow to debug virtio features
Currently there is no way for user to set what features the driver
should obey or not, it is hard wired in the code.

In order to be able to debug the device behavior in case some feature is
disabled, introduce a debugfs infrastructure with couple of files
allowing user to see what features the device advertises and
to set filter for features used by driver.

Example:
$cat /sys/bus/virtio/devices/virtio0/features
1110010111111111111101010000110010000000100000000000000000000000
$ echo "5" >/sys/kernel/debug/virtio/virtio0/filter_feature_add
$ cat /sys/kernel/debug/virtio/virtio0/filter_features
5
$ echo "virtio0" > /sys/bus/virtio/drivers/virtio_net/unbind
$ echo "virtio0" > /sys/bus/virtio/drivers/virtio_net/bind
$ cat /sys/bus/virtio/devices/virtio0/features
1110000111111111111101010000110010000000100000000000000000000000

Note that sysfs "features" now already exists, this patch does not
touch it.

Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2024-04-26 13:26:53 +02:00
..
Kconfig virtio: add debugfs infrastructure to allow to debug virtio features 2024-04-26 13:26:53 +02:00
Makefile virtio: add debugfs infrastructure to allow to debug virtio features 2024-04-26 13:26:53 +02:00
virtio_anchor.c virtio: replace restricted mem access flag with callback 2022-08-01 07:42:49 +02:00
virtio_balloon.c virtio: features, fixes 2024-01-18 16:44:03 -08:00
virtio_debug.c virtio: add debugfs infrastructure to allow to debug virtio features 2024-04-26 13:26:53 +02:00
virtio_dma_buf.c dma-buf: move dma-buf symbols into the DMA_BUF module namespace 2021-10-25 14:53:08 +02:00
virtio_input.c virtio: wrap config->reset calls 2022-01-14 18:50:52 -05:00
virtio_mem.c mm, treewide: rename MAX_ORDER to MAX_PAGE_ORDER 2024-01-08 15:27:15 -08:00
virtio_mmio.c virtio-mmio: fix memory leak of vm_dev 2023-10-18 11:29:09 -04:00
virtio_pci_admin_legacy_io.c virtio-pci: Introduce APIs to execute legacy IO admin commands 2023-12-19 11:51:33 -07:00
virtio_pci_common.c virtio: features, fixes 2024-01-18 16:44:03 -08:00
virtio_pci_common.h virtio-pci: Introduce APIs to execute legacy IO admin commands 2023-12-19 11:51:33 -07:00
virtio_pci_legacy_dev.c virtio/virtio_pci_legacy_dev: ensure the correct return value 2022-01-14 18:50:53 -05:00
virtio_pci_legacy.c virtio-pci: Fix legacy device flag setting error in probe 2023-08-10 15:24:28 -04:00
virtio_pci_modern_dev.c virtio-pci: Introduce admin virtqueue 2023-12-19 11:51:31 -07:00
virtio_pci_modern.c virtio-pci: Initialize the supported admin commands 2023-12-19 11:51:32 -07:00
virtio_ring.c virtio: packed: fix unmap leak for indirect desc table 2024-03-19 03:19:22 -04:00
virtio_vdpa.c virtio_vdpa: create vqs with the actual size 2024-03-19 02:45:50 -04:00
virtio.c virtio: add debugfs infrastructure to allow to debug virtio features 2024-04-26 13:26:53 +02:00