On Mon, 8 Sept 2025 at 15:03, Thomas Weißschuh <[email protected]> wrote: > > Various KUnit tests require PCI infrastructure to work. All normal > platforms enable PCI by default, but UML does not. Enabling PCI from > .kunitconfig files is problematic as it would not be portable. So in > commit 6fc3a8636a7b ("kunit: tool: Enable virtio/PCI by default on UML") > PCI was enabled by way of CONFIG_UML_PCI_OVER_VIRTIO=y. However > CONFIG_UML_PCI_OVER_VIRTIO requires additional configuration of > CONFIG_UML_PCI_OVER_VIRTIO_DEVICE_ID or will otherwise trigger a WARN() in > virtio_pcidev_init(). However there is no one correct value for > UML_PCI_OVER_VIRTIO_DEVICE_ID which could be used by default. > > This warning is confusing when debugging test failures. > > On the other hand, the functionality of CONFIG_UML_PCI_OVER_VIRTIO is not > used at all, given that it is completely non-functional as indicated by > the WARN() in question. Instead it is only used as a way to enable > CONFIG_UML_PCI which itself is not directly configurable. > > Instead of going through CONFIG_UML_PCI_OVER_VIRTIO, introduce a custom > configuration option which enables CONFIG_UML_PCI without triggering > warnings or building dead code. > > Signed-off-by: Thomas Weißschuh <[email protected]> > Reviewed-by: Johannes Berg <[email protected]> > ---
Reviewed-by: David Gow <[email protected]> Cheers, -- David > Changes in v2: > - Rebase onto v6.17-rc1 > - Pick up review from Johannes > - Link to v1: > https://lore.kernel.org/r/[email protected] > --- > lib/kunit/Kconfig | 7 +++++++ > tools/testing/kunit/configs/arch_uml.config | 5 ++--- > 2 files changed, 9 insertions(+), 3 deletions(-) > > diff --git a/lib/kunit/Kconfig b/lib/kunit/Kconfig > index > c10ede4b1d2201d5f8cddeb71cc5096e21be9b6a..1823539e96da30e165fa8d395ccbd3f6754c836e > 100644 > --- a/lib/kunit/Kconfig > +++ b/lib/kunit/Kconfig > @@ -106,4 +106,11 @@ config KUNIT_DEFAULT_TIMEOUT > If unsure, the default timeout of 300 seconds is suitable for most > cases. > > +config KUNIT_UML_PCI > + bool "KUnit UML PCI Support" > + depends on UML > + select UML_PCI > + help > + Enables the PCI subsystem on UML for use by KUnit tests. > + > endif # KUNIT > diff --git a/tools/testing/kunit/configs/arch_uml.config > b/tools/testing/kunit/configs/arch_uml.config > index > 54ad8972681a2cc724e6122b19407188910b9025..28edf816aa70e6f408d9486efff8898df79ee090 > 100644 > --- a/tools/testing/kunit/configs/arch_uml.config > +++ b/tools/testing/kunit/configs/arch_uml.config > @@ -1,8 +1,7 @@ > # Config options which are added to UML builds by default > > -# Enable virtio/pci, as a lot of tests require it. > -CONFIG_VIRTIO_UML=y > -CONFIG_UML_PCI_OVER_VIRTIO=y > +# Enable pci, as a lot of tests require it. > +CONFIG_KUNIT_UML_PCI=y > > # Enable FORTIFY_SOURCE for wider checking. > CONFIG_FORTIFY_SOURCE=y > > --- > base-commit: 8f5ae30d69d7543eee0d70083daf4de8fe15d585 > change-id: 20250626-kunit-uml-pci-a2b687553746 > > Best regards, > -- > Thomas Weißschuh <[email protected]> >

