[PATCH RESEND v11 10/13] um: nommu: a work around for MMU dependency to PCI driver

Geert Uytterhoeven geert at linux-m68k.org
Tue Sep 23 08:42:55 PDT 2025


Hi Tazaki-san,

CC arnd

On Fri, 19 Sept 2025 at 11:32, Hajime Tazaki <thehajime at gmail.com> wrote:
> On Fri, 19 Sep 2025 16:24:07 +0900,
> Johannes Berg wrote:
> > On Fri, 2025-09-19 at 09:03 +0900, Hajime Tazaki wrote:
> > > > This doesn't make a lot of sense to me. Why would we even want to build
> > > > PCI on NOMMU-UML if PCI in general is dependent on MMU now?
> > > >
> > > > It's not like ARCH=um with PCI and NOMMU has any value even for testing
> > > > if such a configuration cannot exist in reality?
> > >
> > > totally understand your point.
> > >
> > > now I see that we don't have to have this work around by using
> > > --kconfig_add option to kunit.py.
> > >
> > > # like --kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=n (in addition to
> > >   --kconfig_add CONFIG_MMU=n).
> >
> > That's not what I mean. I think it should be made impossible to build
> > the broken code.
>
> okay.
> # I think now I lost the point...
>
> currently, drivers/pci/Kconfig (CONFIG_PCI) marks as depends on MMU,
> so we cannot select it when CONFIG_MMU=n.

That is a fairly recent change, see commit 8fe743b5eba0abfb ("PCI:
Add CONFIG_MMU dependency") in v6.16-rc1.  As this is not a "hard"
dependency, perhaps it should be reverted, iff you are willing to take
care of the casual breakage?

>
> but it's different with kunit when using them via kunit.py config,
>
> it first adds
>
>  CONFIG_VIRTIO_UML=y
>  CONFIG_UML_PCI_OVER_VIRTIO=y
>
> via tools/testing/kunit/configs/arch_uml.config, and then add
>
>  CONIFG_MMU=n
>
> via --kconfig_add CONFIG_MMU=n.
>
> and then execute make ARCH=um olddefconfig, which in turn enables
> CONFIG_UML_PCI_OVER_VIRTIO.
>
> if we append "--kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=n" to kunit.py,
> it will overwrite the arch_uml.config.
>
> # I don't know how kunit handles those appended CONFIG entries, though..
>
> my goal is simple; to test !MMU code via kunit.
> my original patch or the additional kconfig argument (--kconfig_add)
> satisfies this goal.
>
> > The problem is probably UML_PCI_OVER_VIRTIO selecting UML_PCI selecting
> > various PCI code, but nothing depends on PCI in the first place. Which
> > it should, then?
>
> I don't understand the 'nothing depends on PCI...' part.  care to
> elaborate ?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-um mailing list