* [PATCH v2 0/1] vfio: selftests: Find devices that have VFIO selftest drivers
@ 2026-04-14 23:09 Josh Hilke
2026-04-14 23:09 ` [PATCH v2 1/1] " Josh Hilke
0 siblings, 1 reply; 3+ messages in thread
From: Josh Hilke @ 2026-04-14 23:09 UTC (permalink / raw)
To: Alex Williamson
Cc: Sean Christopherson, David Matlack, Vipin Sharma,
Raghavendra Rao Ananta, kvm, linux-kernel, Josh Hilke
v2 of this series is only a single patch which adds a new script to print the
segment:bus:device.function numbers of PCI devices on the user's system which
have a VFIO selftest driver.
Example:
$ ./tools/testing/selftests/vfio/scripts/list_devices.sh
0000:6a:01.0
0000:6f:01.0
0000:74:01.0
The devices are compatible with all VFIO selftests. Other devices may be
compatible with VFIO selftests that don't use the driver functionality, but no
gaurantees.
User's can automate binding devices to VFIO (which is required in order to run
the selftests) by directing the output of list_devices.sh into
tools/testing/selftests/vfio/scripts/setup.sh.
Example:
$ ./tools/testing/selftests/vfio/scripts/setup.sh $(./tools/testing/selftests/vfio/scripts/list_devices.sh)
+ echo "0000:6a:01.0" > /sys/bus/pci/drivers/vfio-pci/unbind
+ echo "" > /sys/bus/pci/devices/0000:6a:01.0/driver_override
+ echo "0000:6a:01.0" > /sys/bus/pci/drivers/idxd/bind
+ echo "0000:6f:01.0" > /sys/bus/pci/drivers/vfio-pci/unbind
+ echo "" > /sys/bus/pci/devices/0000:6f:01.0/driver_override
+ echo "0000:6f:01.0" > /sys/bus/pci/drivers/idxd/bind
+ echo "0000:74:01.0" > /sys/bus/pci/drivers/vfio-pci/unbind
+ echo "" > /sys/bus/pci/devices/0000:74:01.0/driver_override
+ echo "0000:74:01.0" > /sys/bus/pci/drivers/idxd/bind
This series is based on top of the kvm/queue branch.
Changes from v1:
---
- Move the functionality to discover devices from setup.sh into its own script (Sean)
- Omit the patch which automates binding devices to VFIO (Sean, David)
- Change title of cover letter (Me)
v1: https://lore.kernel.org/kvm/20260409015139.2800185-1-jrhilke@google.com/
Josh Hilke (1):
vfio: selftests: Find devices that have VFIO selftest drivers
tools/testing/selftests/vfio/Makefile | 1 +
.../selftests/vfio/scripts/list_devices.sh | 22 +++++++++++++++++++
2 files changed, 23 insertions(+)
create mode 100755 tools/testing/selftests/vfio/scripts/list_devices.sh
--
2.54.0.rc0.605.g598a273b03-goog
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
2026-04-14 23:09 [PATCH v2 0/1] vfio: selftests: Find devices that have VFIO selftest drivers Josh Hilke
@ 2026-04-14 23:09 ` Josh Hilke
2026-04-16 23:35 ` David Matlack
0 siblings, 1 reply; 3+ messages in thread
From: Josh Hilke @ 2026-04-14 23:09 UTC (permalink / raw)
To: Alex Williamson
Cc: Sean Christopherson, David Matlack, Vipin Sharma,
Raghavendra Rao Ananta, kvm, linux-kernel, Josh Hilke
Add a new script, list_devices.sh, which prints out the
segment:bus:device.function numbers of devices on a machine that have a VFIO
selftest driver. This makes it easier to determine if the system is capable of
running VFIO selftests, because devices that have a VFIO selftest driver are
compatible with all VFIO selftests.
Example:
$ ./tools/testing/selftests/vfio/scripts/list_devices.sh
0000:6a:01.0
0000:6f:01.0
0000:74:01.0
Signed-off-by: Josh Hilke <jrhilke@google.com>
Suggested-by: Sean Christopherson <seanjc@google.com>
---
tools/testing/selftests/vfio/Makefile | 1 +
.../selftests/vfio/scripts/list_devices.sh | 22 +++++++++++++++++++
2 files changed, 23 insertions(+)
create mode 100755 tools/testing/selftests/vfio/scripts/list_devices.sh
diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
index 8e90e409e91d..d48ac967f1dc 100644
--- a/tools/testing/selftests/vfio/Makefile
+++ b/tools/testing/selftests/vfio/Makefile
@@ -15,6 +15,7 @@ TEST_GEN_PROGS += vfio_pci_driver_test
TEST_FILES += scripts/cleanup.sh
TEST_FILES += scripts/lib.sh
+TEST_FILES += scripts/list_devices.sh
TEST_FILES += scripts/run.sh
TEST_FILES += scripts/setup.sh
diff --git a/tools/testing/selftests/vfio/scripts/list_devices.sh b/tools/testing/selftests/vfio/scripts/list_devices.sh
new file mode 100755
index 000000000000..b56fa23d5657
--- /dev/null
+++ b/tools/testing/selftests/vfio/scripts/list_devices.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# List of devices which have a VFIO selftest driver
+DEVICES=(
+ "8086:0b25" # Intel SPR DSA
+ "8086:11fb" # Intel GNR-D DSA
+ "8086:1212" # Intel DR DSA
+ "8086:0cf8" # Intel CBDMA
+)
+
+# Print the segment:bus:device.function numbers of PCI devices that can be used
+# to run VFIO selftests.
+function main() {
+ local vendor_device_id
+
+ for vendor_device_id in "${DEVICES[@]}"; do
+ lspci -D -d "${vendor_device_id}" | awk '{print $1}'
+ done
+}
+
+main "$@"
--
2.54.0.rc0.605.g598a273b03-goog
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
2026-04-14 23:09 ` [PATCH v2 1/1] " Josh Hilke
@ 2026-04-16 23:35 ` David Matlack
0 siblings, 0 replies; 3+ messages in thread
From: David Matlack @ 2026-04-16 23:35 UTC (permalink / raw)
To: Josh Hilke
Cc: Alex Williamson, Sean Christopherson, Vipin Sharma,
Raghavendra Rao Ananta, kvm, linux-kernel
On 2026-04-14 11:09 PM, Josh Hilke wrote:
> Add a new script, list_devices.sh, which prints out the
> segment:bus:device.function numbers of devices on a machine that have a VFIO
> selftest driver. This makes it easier to determine if the system is capable of
> running VFIO selftests, because devices that have a VFIO selftest driver are
> compatible with all VFIO selftests.
>
> Example:
> $ ./tools/testing/selftests/vfio/scripts/list_devices.sh
> 0000:6a:01.0
> 0000:6f:01.0
> 0000:74:01.0
>
> Signed-off-by: Josh Hilke <jrhilke@google.com>
> Suggested-by: Sean Christopherson <seanjc@google.com>
Aside the nit below, looks good to me. But would like to get Sean's
feedback too since he requested it.
Reviewed-by: David Matlack <dmatlack@google.com>
> ---
> tools/testing/selftests/vfio/Makefile | 1 +
> .../selftests/vfio/scripts/list_devices.sh | 22 +++++++++++++++++++
> 2 files changed, 23 insertions(+)
> create mode 100755 tools/testing/selftests/vfio/scripts/list_devices.sh
>
> diff --git a/tools/testing/selftests/vfio/Makefile b/tools/testing/selftests/vfio/Makefile
> index 8e90e409e91d..d48ac967f1dc 100644
> --- a/tools/testing/selftests/vfio/Makefile
> +++ b/tools/testing/selftests/vfio/Makefile
> @@ -15,6 +15,7 @@ TEST_GEN_PROGS += vfio_pci_driver_test
>
> TEST_FILES += scripts/cleanup.sh
> TEST_FILES += scripts/lib.sh
> +TEST_FILES += scripts/list_devices.sh
> TEST_FILES += scripts/run.sh
> TEST_FILES += scripts/setup.sh
>
> diff --git a/tools/testing/selftests/vfio/scripts/list_devices.sh b/tools/testing/selftests/vfio/scripts/list_devices.sh
> new file mode 100755
> index 000000000000..b56fa23d5657
> --- /dev/null
> +++ b/tools/testing/selftests/vfio/scripts/list_devices.sh
> @@ -0,0 +1,22 @@
> +#!/bin/bash
> +# SPDX-License-Identifier: GPL-2.0-or-later
> +
> +# List of devices which have a VFIO selftest driver
> +DEVICES=(
nit: Use readonly here.
> + "8086:0b25" # Intel SPR DSA
> + "8086:11fb" # Intel GNR-D DSA
> + "8086:1212" # Intel DR DSA
> + "8086:0cf8" # Intel CBDMA
> +)
> +
> +# Print the segment:bus:device.function numbers of PCI devices that can be used
> +# to run VFIO selftests.
> +function main() {
> + local vendor_device_id
> +
> + for vendor_device_id in "${DEVICES[@]}"; do
> + lspci -D -d "${vendor_device_id}" | awk '{print $1}'
> + done
> +}
> +
> +main "$@"
> --
> 2.54.0.rc0.605.g598a273b03-goog
>
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-04-16 23:35 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-14 23:09 [PATCH v2 0/1] vfio: selftests: Find devices that have VFIO selftest drivers Josh Hilke
2026-04-14 23:09 ` [PATCH v2 1/1] " Josh Hilke
2026-04-16 23:35 ` David Matlack
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox