Re: [PATCH v2 1/1] vfio: selftests: Find devices that have VFIO selftest drivers
From: Josh Hilke
Date: Mon May 11 2026 - 12:53:00 EST
On Fri, May 8, 2026 at 3:50 PM David Matlack <dmatlack@xxxxxxxxxx> wrote:
>
> On Fri, May 8, 2026 at 3:20 PM Sean Christopherson <seanjc@xxxxxxxxxx> wrote:
> >
> > On Fri, May 08, 2026, Josh Hilke wrote:
> > > On Fri, May 8, 2026 at 11:17 AM Sean Christopherson <seanjc@xxxxxxxxxx> 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.