On Fri, 22 Jun 2018, Russell King - ARM Linux wrote: > On Thu, Jun 21, 2018 at 12:24:04PM -0400, Nicolas Pitre wrote: > > [ adding linux-kbuild for their input ] > > > > On Thu, 21 Jun 2018, Geert Uytterhoeven wrote: > > > > > I've just sent a patch to do that. > > > > Your patch isn't wrong per se. But it is not enough. The issue here > > would be easily fixed with some kconfig extension so that: > > > > - If XIP or NOMMU is selected then only one target in the multiplatform > > set can be selected, basically turning it into a choice menu. > > I don't think that's how it should work. Consider the V7M case, where > we have better standardisation of the physical address layout than > previous ARM devices. We have three platforms which are V7M compliant: > > - AT91 > - iMX > - STM32 > > These have separate symbols: > > menuconfig ARCH_AT91 > bool "AT91/Microchip SoCs" > depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V7 || ARM_SINGLE_ARMV7M > > menuconfig ARCH_MXC > bool "Freescale i.MX family" > depends on ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 || ARM_SINGLE_ARMV7M > > menuconfig ARCH_STM32 > bool "STMicroelectronics STM32 family" if ARM_SINGLE_ARMV7M || ARCH_MULTI_V7 > > With your suggestion, you would become only build a kernel for one of > these, but that is not the case today: it's possible to build a single > kernel which supports all these platforms. That is still something that could be accommodated if the kconfig language was more accommodating. The problem comes from the fact that some options are mutually exclusive, like platforms with conflicting memory maps and XIP. Leaving your example above aside for the moment, let's just pick the ARCH_MULTIPLATFORM group which is always the problematic one in practice. We need a way to limit platform selection within that set to only one platform among them all if XIP_KERNEL is set. And that is impossible to express with the kconfig language today. So, my assertion is that, unless someone volunteers a solution to the kconfig language to express mutual exclusion between symbols, this issue just can't be fixed properly. Nicolas -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html