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

Reply via email to