On Sat, Jul 29, 2023 at 10:39:33PM +0800, Zhangjin Wu wrote:
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.
It is more about 'extra' as commented (or 'additional'), for both defconfig (may) and tinyconfig (must) require more options to make boot and print work for nolibc-test. defconfig ------\ \ \ EXTCONFIG ----> a working .config for nolibc-test / / tinyconfig------/
I would prefer something like "NOLIBC_TEST_CONFIG"
Using NOLIBC_TEST_CONFIG is ok, but with this name, do we still only put the 'additional' options there? or we simply use EXTRA_CONFIG instead?
# extra kernel config files under configs/, include common + architecture specific EXTRA_CONFIG = common.config $(ARCH).config
Either are fine to me. The most important is to mention that these configs are appended to the config during the defconfig and tinyconfig targets.
Ok, will update the comment to something like this:
# extra configs/ files appended to .config during the defconfig and tinyconfig targets # include common parts + architecture specific parts EXTRA_CONFIG = common.config $(ARCH).config
Also I find it odd to use $(ARCH) here, I would have expected $(XARCH) since you probably want to distinguish ppc64 from ppc for example.
Yes, we do, but the XARCH and ARCH mmapping patch is the 4th, will update this to XARCH, this one is the 3th one, do we need to add this one after the 4th one?
something like "make nolibctestconfig" to make an existing config ready for nolibc-test.
Do you mean rename 'defconfig' to 'nolibctestconfig'? or something nolibc-test-config:
nolibc-test-config:
$(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,$(EXTRA_CONFIG),$(wildcard $(CURDIR)/configs/$c)) $(Q)$(MAKE) -C $(srctree) ARCH=$(ARCH) CC=$(CC) CROSS_COMPILE=$(CROSS_COMPILE) KCONFIG_ALLCONFIG="$(srctree)/.config" allnoconfig
It looks too long ;-)
I think that as long as we don't claim to call topdir's makefile targets from this directory, we can reuse some similarly named targets which are documented in "make help" and are non-ambiguous.
Seems 'nolibc-test-config' is really more meaningful than 'defconfig', especially when we want to use tinyconfig through it?
$ make nolibc-test-config DEFCONFIG=tinyconfig
Currently, we use 'defconfig' by default and we use 'make defconfig DEFCONFIG=tinyconfig' to switch to tinyconfig, in the next weeks, when all of the nolibc supported architectures have tinyconfig support, it is able to switch 'tinyconfig' as the default config target.
As long as it doesn't require to locally maintain too many options, I think I'm fine with that. But we'll see.
Ok.
Thanks, Zhangjin
Willy