The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* 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