[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <da39f51b76cca54e5304064f7e34a8863442605d.camel@sipsolutions.net>
Date: Fri, 19 Sep 2025 11:38:03 +0200
From: Johannes Berg <johannes@...solutions.net>
To: Hajime Tazaki <thehajime@...il.com>
Cc: linux-um@...ts.infradead.org, ricarkol@...gle.com,
Liam.Howlett@...cle.com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH RESEND v11 10/13] um: nommu: a work around for MMU
dependency to PCI driver
On Fri, 2025-09-19 at 18:32 +0900, Hajime Tazaki wrote:
> currently, drivers/pci/Kconfig (CONFIG_PCI) marks as depends on MMU,
Right.
> so we cannot select it when CONFIG_MMU=n.
Actually, I believe that's not true, I think it *can* select something
even if you override the 'depends on' it has, it just causes a warning
in Kconfig.
But I don't think PCI is even selected, UML_PCI is selected, and then
that selects PCI_MSI which should really only be reachable when PCI is
enabled, so this perhaps does nothing? Not sure ...
> but it's different with kunit when using them via kunit.py config,
It really isn't, you just don't see everything because kunit.py hides
the build from you.
> 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.
Sure. But that should disable CONFIG_UML_PCI_OVER_VIRTIO, and it doesn't
now.
> and then execute make ARCH=um olddefconfig, which in turn enables
> CONFIG_UML_PCI_OVER_VIRTIO.
Keeps it, let's say.
> if we append "--kconfig_add CONFIG_UML_PCI_OVER_VIRTIO=n" to kunit.py,
> it will overwrite the arch_uml.config.
Yeah but that being required doesn't make sense - the Kconfig should
express the correct dependencies.
> # I don't know how kunit handles those appended CONFIG entries, though..
It just puts them into the file and runs oldconfig, I guess?
> my goal is simple; to test !MMU code via kunit.
Sure.
> my original patch or the additional kconfig argument (--kconfig_add)
> satisfies this goal.
Sure. But both are the wrong solution, as I said, the Kconfig should
express the correct dependencies.
> > 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 ?
See above, I think?
My gut feeling is that UML_PCI_OVER_VIRTIO should depend on PCI but I
don't know if that then doesn't end up in some kind of circular
dependency.
johannes
Powered by blists - more mailing lists