This series introduces two improvements to make setting up devices for VFIO
selftests more user-friendly.
1. Add functionality to the VFIO selftest setup script to find devices on a
user's system that are compatible with the VFIO selftest framework (i.e. devices
that have a VFIO selftest driver).
Example:
$ ./tools/testing/selftests/vfio/scripts/setup.sh -l
Supported devices:
0000:6a:01.0
0000:6f:01.0
0000:74:01.0
0000:79:01.0
0000:e7:01.0
0000:ec:01.0
0000:f1:01.0
0000:f6:01.0
2. Modify the VFIO selftest setup script to try to find and set up a compatible
device automatically. "Set up the device for testing" means unbind the device
from its driver, then bind it to VFIO. The user is no longer required to find a
segment:bus:device.function number to pass to the script (though this
functionality is still available through a -d option).
Example of automated device setup:
$ ./tools/testing/selftests/vfio/scripts/setup.sh
+ echo "0000:6a:01.0" > /sys/bus/pci/drivers/idxd/unbind
+ echo "vfio-pci" > /sys/bus/pci/devices/0000:6a:01.0/driver_override
+ echo "0000:6a:01.0" > /sys/bus/pci/drivers/vfio-pci/bind
Successfully set up 0000:6a:01.0
Example of manual device setup:
$ ./tools/testing/selftests/vfio/scripts/setup.sh -d 0000:6a:01.0
+ echo "0000:6a:01.0" > /sys/bus/pci/drivers/idxd/unbind
+ echo "vfio-pci" > /sys/bus/pci/devices/0000:6a:01.0/driver_override
+ echo "0000:6a:01.0" > /sys/bus/pci/drivers/vfio-pci/bind
Successfully set up 0000:6a:01.0
Josh Hilke (2):
vfio: selftests: Find devices that are compatible with VFIO selftests
vfio: selftests: Automate finding/setting up devices for testing
tools/testing/selftests/vfio/scripts/setup.sh | 63 +++++++++++++++++--
1 file changed, 59 insertions(+), 4 deletions(-)
--
2.53.0.1213.gd9a14994de-goog