* Re: [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
[not found] ` <20260414230943.41198-2-jrhilke@google.com>
@ 2026-05-08 18:17 ` Sean Christopherson
2026-05-08 22:03 ` Josh Hilke
0 siblings, 1 reply; 5+ messages in thread
From: Sean Christopherson @ 2026-05-08 18:17 UTC (permalink / raw)
To: Josh Hilke
Cc: Alex Williamson, David Matlack, Vipin Sharma,
Raghavendra Rao Ananta, kvm, linux-kernel
On Tue, Apr 14, 2026, Josh Hilke wrote:
> +# 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}'
For ignorant people like me, it would be helpful to capture what device was actually
found. I mean, I don't necessarily know exactly what these devices do, but as the
list grows, at least having a general sense of what device I'm going to be feeding
into VFIO would be helpful.
E.g. something like this (ignore my terrible script skills)?
#!/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 found
local i
OLDIFS=$IFS
IFS=','
for i in "${DEVICES[@]}"; do
set -- $i
found=$(lspci -D -d "$1" | cut -f 1 -d ' ')
if [[ -n $found ]]; then
echo "$2 ($1) Device IDs:"
echo $found
fi
done
IFS=$OLDIFS
}
main
# ./devices.sh
Intel SPR DSA (8086:0b25) Device IDs:
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
> + done
> +}
> +
> +main "$@"
Why pass along args? The script doesn't actually recognize any arguments.
> --
> 2.54.0.rc0.605.g598a273b03-goog
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
2026-05-08 18:17 ` [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers Sean Christopherson
@ 2026-05-08 22:03 ` Josh Hilke
2026-05-08 22:20 ` Sean Christopherson
0 siblings, 1 reply; 5+ messages in thread
From: Josh Hilke @ 2026-05-08 22:03 UTC (permalink / raw)
To: Sean Christopherson
Cc: Alex Williamson, David Matlack, Vipin Sharma,
Raghavendra Rao Ananta, kvm, linux-kernel
On Fri, May 8, 2026 at 11:17 AM Sean Christopherson <seanjc@google.com> wrote:
>
> On Tue, Apr 14, 2026, Josh Hilke wrote:
> > +# 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}'
>
> For ignorant people like me, it would be helpful to capture what device was actually
> found. I mean, I don't necessarily know exactly what these devices do, but as the
> list grows, at least having a general sense of what device I'm going to be feeding
> into VFIO would be helpful.
>
Sure I can do that.
> # ./devices.sh
> Intel SPR DSA (8086:0b25) Device IDs:
> 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
How about a "-v" (verbose) option which prints the device name
alongside the BDF?
$ ./list_devices.sh -v
0000:6a:01.0 Intel SPR DSA (8086:0b25)
0000:6f:01.0 Intel SPR DSA (8086:0b25)
This approach preserves the ability to pipe the script output into
/tools/testing/selftests/vfio/scripts/setup.sh to automate binding the
devices to VFIO by excluding the -v arg since the setup script expects
a list of BDFs.
> > +main "$@"
>
> Why pass along args? The script doesn't actually recognize any arguments.
It's a remnant from copying another script when creating this one.
I'll remove it if we don't add the -v argument.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
2026-05-08 22:03 ` Josh Hilke
@ 2026-05-08 22:20 ` Sean Christopherson
2026-05-08 22:49 ` David Matlack
0 siblings, 1 reply; 5+ messages in thread
From: Sean Christopherson @ 2026-05-08 22:20 UTC (permalink / raw)
To: Josh Hilke
Cc: Alex Williamson, David Matlack, Vipin Sharma,
Raghavendra Rao Ananta, kvm, linux-kernel
On Fri, May 08, 2026, Josh Hilke wrote:
> On Fri, May 8, 2026 at 11:17 AM Sean Christopherson <seanjc@google.com> wrote:
> >
> > On Tue, Apr 14, 2026, Josh Hilke wrote:
> > > +# 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}'
> >
> > For ignorant people like me, it would be helpful to capture what device was actually
> > found. I mean, I don't necessarily know exactly what these devices do, but as the
> > list grows, at least having a general sense of what device I'm going to be feeding
> > into VFIO would be helpful.
> >
>
> Sure I can do that.
>
> > # ./devices.sh
> > Intel SPR DSA (8086:0b25) Device IDs:
> > 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
>
> How about a "-v" (verbose) option which prints the device name
> alongside the BDF?
> Works for me.
> $ ./list_devices.sh -v
> 0000:6a:01.0 Intel SPR DSA (8086:0b25)
> 0000:6f:01.0 Intel SPR DSA (8086:0b25)
Maybe add a dash to visually separate things? E.g.
0000:6a:01.0 - Intel SPR DSA (8086:0b25)
> This approach preserves the ability to pipe the script output into
> /tools/testing/selftests/vfio/scripts/setup.sh to automate binding the
> devices to VFIO by excluding the -v arg since the setup script expects
> a list of BDFs.
Alternatively, -q for quiet? Or:
./devices.sh | cut -f 1 -d ' ' | setup.sh
Or have setup.h do the cutting? I'm a-ok with a -v, but if the script is mostly
going to be run by humans (no idea if this is true), it seems like it should use
the more verbose version by default.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
2026-05-08 22:20 ` Sean Christopherson
@ 2026-05-08 22:49 ` David Matlack
2026-05-11 16:12 ` Josh Hilke
0 siblings, 1 reply; 5+ messages in thread
From: David Matlack @ 2026-05-08 22:49 UTC (permalink / raw)
To: Sean Christopherson
Cc: Josh Hilke, Alex Williamson, Vipin Sharma, Raghavendra Rao Ananta,
kvm, linux-kernel
On Fri, May 8, 2026 at 3:20 PM Sean Christopherson <seanjc@google.com> wrote:
>
> On Fri, May 08, 2026, Josh Hilke wrote:
> > On Fri, May 8, 2026 at 11:17 AM Sean Christopherson <seanjc@google.com> wrote:
> > >
> > > On Tue, Apr 14, 2026, Josh Hilke wrote:
> > > > +# 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}'
> > >
> > > For ignorant people like me, it would be helpful to capture what device was actually
> > > found. I mean, I don't necessarily know exactly what these devices do, but as the
> > > list grows, at least having a general sense of what device I'm going to be feeding
> > > into VFIO would be helpful.
> > >
> >
> > Sure I can do that.
> >
> > > # ./devices.sh
> > > Intel SPR DSA (8086:0b25) Device IDs:
> > > 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
> >
> > How about a "-v" (verbose) option which prints the device name
> > alongside the BDF?
> > Works for me.
>
> > $ ./list_devices.sh -v
> > 0000:6a:01.0 Intel SPR DSA (8086:0b25)
> > 0000:6f:01.0 Intel SPR DSA (8086:0b25)
>
> Maybe add a dash to visually separate things? E.g.
>
> 0000:6a:01.0 - Intel SPR DSA (8086:0b25)
>
> > This approach preserves the ability to pipe the script output into
> > /tools/testing/selftests/vfio/scripts/setup.sh to automate binding the
> > devices to VFIO by excluding the -v arg since the setup script expects
> > a list of BDFs.
>
> Alternatively, -q for quiet? Or:
>
> ./devices.sh | cut -f 1 -d ' ' | setup.sh
>
> Or have setup.h do the cutting? I'm a-ok with a -v, but if the script is mostly
> going to be run by humans (no idea if this is true), it seems like it should use
> the more verbose version by default.
Let's do -q. That makes the default (no arguments) usable by humans.
For scripting, it's easy enough to pass in -q.
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
2026-05-08 22:49 ` David Matlack
@ 2026-05-11 16:12 ` Josh Hilke
0 siblings, 0 replies; 5+ messages in thread
From: Josh Hilke @ 2026-05-11 16:12 UTC (permalink / raw)
To: David Matlack
Cc: Sean Christopherson, Alex Williamson, Vipin Sharma,
Raghavendra Rao Ananta, kvm, linux-kernel
On Fri, May 8, 2026 at 3:50 PM David Matlack <dmatlack@google.com> wrote:
>
> On Fri, May 8, 2026 at 3:20 PM Sean Christopherson <seanjc@google.com> wrote:
> >
> > On Fri, May 08, 2026, Josh Hilke wrote:
> > > On Fri, May 8, 2026 at 11:17 AM Sean Christopherson <seanjc@google.com> wrote:
> > > >
> > > > On Tue, Apr 14, 2026, Josh Hilke wrote:
> > > > > +# 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}'
> > > >
> > > > For ignorant people like me, it would be helpful to capture what device was actually
> > > > found. I mean, I don't necessarily know exactly what these devices do, but as the
> > > > list grows, at least having a general sense of what device I'm going to be feeding
> > > > into VFIO would be helpful.
> > > >
> > >
> > > Sure I can do that.
> > >
> > > > # ./devices.sh
> > > > Intel SPR DSA (8086:0b25) Device IDs:
> > > > 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
> > >
> > > How about a "-v" (verbose) option which prints the device name
> > > alongside the BDF?
> > > Works for me.
> >
> > > $ ./list_devices.sh -v
> > > 0000:6a:01.0 Intel SPR DSA (8086:0b25)
> > > 0000:6f:01.0 Intel SPR DSA (8086:0b25)
> >
> > Maybe add a dash to visually separate things? E.g.
> >
> > 0000:6a:01.0 - Intel SPR DSA (8086:0b25)
> >
> > > This approach preserves the ability to pipe the script output into
> > > /tools/testing/selftests/vfio/scripts/setup.sh to automate binding the
> > > devices to VFIO by excluding the -v arg since the setup script expects
> > > a list of BDFs.
> >
> > Alternatively, -q for quiet? Or:
> >
> > ./devices.sh | cut -f 1 -d ' ' | setup.sh
> >
> > Or have setup.h do the cutting? I'm a-ok with a -v, but if the script is mostly
> > going to be run by humans (no idea if this is true), it seems like it should use
> > the more verbose version by default.
>
> Let's do -q. That makes the default (no arguments) usable by humans.
> For scripting, it's easy enough to pass in -q.
-q sounds good to me. Will do in v3.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-05-11 16:12 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20260414230943.41198-1-jrhilke@google.com>
[not found] ` <20260414230943.41198-2-jrhilke@google.com>
2026-05-08 18:17 ` [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers Sean Christopherson
2026-05-08 22:03 ` Josh Hilke
2026-05-08 22:20 ` Sean Christopherson
2026-05-08 22:49 ` David Matlack
2026-05-11 16:12 ` Josh Hilke
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox