Hi Geert, On Mon, Sep 08, 2025 at 06:53:30PM +0200, Geert Uytterhoeven wrote: > On Mon, 8 Sept 2025 at 09:04, Thomas Weißschuh > <thomas.weisssc...@linutronix.de> 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 <thomas.weisssc...@linutronix.de> > > Reviewed-by: Johannes Berg <johan...@sipsolutions.net> > > Thanks for your patch! > > > --- 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 > > Where is the consumer of this symbol?
There is none. The relevant part is that it selects UML_PCI which on its own is not user-visible. Directly enabling UML_PCI wihtout any drivers only makes sense in the context of KUnit. > > + 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