On 2023-07-27 23:02:02+0800, Zhangjin Wu wrote: > The default DEFCONFIG_<ARCH> may not always work for all architectures, > some architectures require to add extra kernel config options, this > allows to add extra options in the defconfig target. > > Based on the .config generated from DEFCONFIG_<ARCH>, It allows to > customize extra kernel config options via both the common common.config > and the architecture specific <ARCH>.config, at last trigger > 'allnoconfig' to let them take effect with missing config options as > disabled. > > The scripts/kconfig/merge_config.sh tool is used to merge the extra > config files. > > Suggested-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > Link: https://lore.kernel.org/lkml/67eb70d4-c9ff-4afc-bac7-7f36cc2c81bc@xxxxxxxx/ > Reviewed-by: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > Signed-off-by: Zhangjin Wu <falcon@xxxxxxxxxxx> > --- > tools/testing/selftests/nolibc/Makefile | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/tools/testing/selftests/nolibc/Makefile b/tools/testing/selftests/nolibc/Makefile > index f42adef87e12..9576f1a0a98d 100644 > --- a/tools/testing/selftests/nolibc/Makefile > +++ b/tools/testing/selftests/nolibc/Makefile > @@ -39,6 +39,9 @@ DEFCONFIG_s390 = defconfig > DEFCONFIG_loongarch = defconfig > DEFCONFIG = $(DEFCONFIG_$(ARCH)) > > +# extra kernel config files under configs/, include common + architecture specific > +EXTCONFIG = common.config $(ARCH).config As this series seems to need a respin anyways: extconfig means "extended config", correct? That is fairly nondescript. I would prefer something like "NOLIBC_TEST_CONFIG" and something like "make nolibctestconfig" to make an existing config ready for nolibc-test. > + > # optional tests to run (default = all) > TEST = > > @@ -161,6 +164,8 @@ initramfs: nolibc-test > > defconfig: > $(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) mrproper $(DEFCONFIG) prepare > + $(Q)$(srctree)/scripts/kconfig/merge_config.sh -O "$(srctree)" -m "$(srctree)/.config" $(foreach c,$(EXTCONFIG),$(wildcard $(CURDIR)/configs/$c)) > + $(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) KCONFIG_ALLCONFIG="$(srctree)/.config" allnoconfig > > kernel: initramfs > $(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) $(IMAGE_NAME) CONFIG_INITRAMFS_SOURCE=$(CURDIR)/initramfs > -- > 2.25.1 >