* [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help"
@ 2023-08-25 19:47 ` Kees Cook
0 siblings, 0 replies; 40+ messages in thread
From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw)
To: Masahiro Yamada
Cc: Kees Cook, Michael Ellerman, Christophe Leroy, Nicolas Schier,
Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev,
linux-riscv, linux-s390, linux-kbuild, linux-hardening
Hi,
This is my series to show *.config targets in the "help" target so these
various topics can be more easily discoverd.
v2:
- split .fragment from .config to hide "internal" fragments
- fix various typos
- avoid duplicate entries
v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org
Thanks!
-Kees
Kees Cook (2):
kbuild: Show Kconfig fragments in "help"
kbuild: Split internal config targets from .config into .fragment
Makefile | 1 -
arch/arm/configs/dram_0x00000000.config | 1 +
arch/arm/configs/dram_0xc0000000.config | 1 +
arch/arm/configs/dram_0xd0000000.config | 1 +
arch/arm/configs/lpae.config | 1 +
arch/arm64/configs/virt.config | 1 +
arch/powerpc/Makefile | 26 +++++++++----------
.../{32-bit.config => 32-bit.fragment} | 1 +
arch/powerpc/configs/64-bit.config | 1 -
arch/powerpc/configs/64-bit.fragment | 2 ++
...{85xx-32bit.config => 85xx-32bit.fragment} | 1 +
...{85xx-64bit.config => 85xx-64bit.fragment} | 1 +
.../{85xx-hw.config => 85xx-hw.fragment} | 1 +
.../{85xx-smp.config => 85xx-smp.fragment} | 1 +
.../{86xx-hw.config => 86xx-hw.fragment} | 1 +
.../{86xx-smp.config => 86xx-smp.fragment} | 1 +
arch/powerpc/configs/altivec.config | 1 -
arch/powerpc/configs/altivec.fragment | 2 ++
arch/powerpc/configs/be.config | 1 -
arch/powerpc/configs/be.fragment | 2 ++
.../{book3s_32.config => book3s_32.fragment} | 1 +
...enet_base.config => corenet_base.fragment} | 1 +
arch/powerpc/configs/debug.config | 1 +
arch/powerpc/configs/disable-werror.config | 1 +
.../configs/{dpaa.config => dpaa.fragment} | 1 +
...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 +
.../configs/{guest.config => guest.fragment} | 1 +
arch/powerpc/configs/le.config | 1 -
arch/powerpc/configs/le.fragment | 2 ++
...85xx_base.config => mpc85xx_base.fragment} | 1 +
...86xx_base.config => mpc86xx_base.fragment} | 1 +
.../{ppc64le.config => ppc64le.fragment} | 1 +
arch/powerpc/configs/security.config | 4 ++-
arch/riscv/configs/32-bit.config | 1 +
arch/riscv/configs/64-bit.config | 1 +
arch/s390/configs/btf.config | 1 +
arch/s390/configs/kasan.config | 1 +
arch/x86/Makefile | 4 ---
arch/x86/configs/tiny.config | 2 ++
{kernel => arch/x86}/configs/x86_debug.config | 1 +
arch/x86/configs/xen.config | 2 ++
kernel/configs/debug.config | 2 ++
kernel/configs/kvm_guest.config | 1 +
kernel/configs/nopm.config | 2 ++
kernel/configs/rust.config | 1 +
kernel/configs/tiny-base.config | 1 -
kernel/configs/tiny-base.fragment | 2 ++
kernel/configs/tiny.config | 2 ++
kernel/configs/xen.config | 2 ++
scripts/Makefile.defconf | 12 ++++++---
scripts/kconfig/Makefile | 16 +++++++++---
51 files changed, 87 insertions(+), 32 deletions(-)
rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%)
delete mode 100644 arch/powerpc/configs/64-bit.config
create mode 100644 arch/powerpc/configs/64-bit.fragment
rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%)
rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%)
rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%)
rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%)
rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%)
rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%)
delete mode 100644 arch/powerpc/configs/altivec.config
create mode 100644 arch/powerpc/configs/altivec.fragment
delete mode 100644 arch/powerpc/configs/be.config
create mode 100644 arch/powerpc/configs/be.fragment
rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%)
rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%)
rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%)
rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%)
rename arch/powerpc/configs/{guest.config => guest.fragment} (85%)
delete mode 100644 arch/powerpc/configs/le.config
create mode 100644 arch/powerpc/configs/le.fragment
rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%)
rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%)
rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%)
rename {kernel => arch/x86}/configs/x86_debug.config (90%)
delete mode 100644 kernel/configs/tiny-base.config
create mode 100644 kernel/configs/tiny-base.fragment
--
2.34.1
^ permalink raw reply [flat|nested] 40+ messages in thread* [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening Hi, This is my series to show *.config targets in the "help" target so these various topics can be more easily discoverd. v2: - split .fragment from .config to hide "internal" fragments - fix various typos - avoid duplicate entries v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org Thanks! -Kees Kees Cook (2): kbuild: Show Kconfig fragments in "help" kbuild: Split internal config targets from .config into .fragment Makefile | 1 - arch/arm/configs/dram_0x00000000.config | 1 + arch/arm/configs/dram_0xc0000000.config | 1 + arch/arm/configs/dram_0xd0000000.config | 1 + arch/arm/configs/lpae.config | 1 + arch/arm64/configs/virt.config | 1 + arch/powerpc/Makefile | 26 +++++++++---------- .../{32-bit.config => 32-bit.fragment} | 1 + arch/powerpc/configs/64-bit.config | 1 - arch/powerpc/configs/64-bit.fragment | 2 ++ ...{85xx-32bit.config => 85xx-32bit.fragment} | 1 + ...{85xx-64bit.config => 85xx-64bit.fragment} | 1 + .../{85xx-hw.config => 85xx-hw.fragment} | 1 + .../{85xx-smp.config => 85xx-smp.fragment} | 1 + .../{86xx-hw.config => 86xx-hw.fragment} | 1 + .../{86xx-smp.config => 86xx-smp.fragment} | 1 + arch/powerpc/configs/altivec.config | 1 - arch/powerpc/configs/altivec.fragment | 2 ++ arch/powerpc/configs/be.config | 1 - arch/powerpc/configs/be.fragment | 2 ++ .../{book3s_32.config => book3s_32.fragment} | 1 + ...enet_base.config => corenet_base.fragment} | 1 + arch/powerpc/configs/debug.config | 1 + arch/powerpc/configs/disable-werror.config | 1 + .../configs/{dpaa.config => dpaa.fragment} | 1 + ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 + .../configs/{guest.config => guest.fragment} | 1 + arch/powerpc/configs/le.config | 1 - arch/powerpc/configs/le.fragment | 2 ++ ...85xx_base.config => mpc85xx_base.fragment} | 1 + ...86xx_base.config => mpc86xx_base.fragment} | 1 + .../{ppc64le.config => ppc64le.fragment} | 1 + arch/powerpc/configs/security.config | 4 ++- arch/riscv/configs/32-bit.config | 1 + arch/riscv/configs/64-bit.config | 1 + arch/s390/configs/btf.config | 1 + arch/s390/configs/kasan.config | 1 + arch/x86/Makefile | 4 --- arch/x86/configs/tiny.config | 2 ++ {kernel => arch/x86}/configs/x86_debug.config | 1 + arch/x86/configs/xen.config | 2 ++ kernel/configs/debug.config | 2 ++ kernel/configs/kvm_guest.config | 1 + kernel/configs/nopm.config | 2 ++ kernel/configs/rust.config | 1 + kernel/configs/tiny-base.config | 1 - kernel/configs/tiny-base.fragment | 2 ++ kernel/configs/tiny.config | 2 ++ kernel/configs/xen.config | 2 ++ scripts/Makefile.defconf | 12 ++++++--- scripts/kconfig/Makefile | 16 +++++++++--- 51 files changed, 87 insertions(+), 32 deletions(-) rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%) delete mode 100644 arch/powerpc/configs/64-bit.config create mode 100644 arch/powerpc/configs/64-bit.fragment rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%) rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%) rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%) rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%) rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%) rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%) delete mode 100644 arch/powerpc/configs/altivec.config create mode 100644 arch/powerpc/configs/altivec.fragment delete mode 100644 arch/powerpc/configs/be.config create mode 100644 arch/powerpc/configs/be.fragment rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%) rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%) rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%) rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%) rename arch/powerpc/configs/{guest.config => guest.fragment} (85%) delete mode 100644 arch/powerpc/configs/le.config create mode 100644 arch/powerpc/configs/le.fragment rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%) rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%) rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%) rename {kernel => arch/x86}/configs/x86_debug.config (90%) delete mode 100644 kernel/configs/tiny-base.config create mode 100644 kernel/configs/tiny-base.fragment -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: linux-s390, x86, Kees Cook, linux-kbuild, Randy Dunlap, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel, Nicolas Schier Hi, This is my series to show *.config targets in the "help" target so these various topics can be more easily discoverd. v2: - split .fragment from .config to hide "internal" fragments - fix various typos - avoid duplicate entries v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org Thanks! -Kees Kees Cook (2): kbuild: Show Kconfig fragments in "help" kbuild: Split internal config targets from .config into .fragment Makefile | 1 - arch/arm/configs/dram_0x00000000.config | 1 + arch/arm/configs/dram_0xc0000000.config | 1 + arch/arm/configs/dram_0xd0000000.config | 1 + arch/arm/configs/lpae.config | 1 + arch/arm64/configs/virt.config | 1 + arch/powerpc/Makefile | 26 +++++++++---------- .../{32-bit.config => 32-bit.fragment} | 1 + arch/powerpc/configs/64-bit.config | 1 - arch/powerpc/configs/64-bit.fragment | 2 ++ ...{85xx-32bit.config => 85xx-32bit.fragment} | 1 + ...{85xx-64bit.config => 85xx-64bit.fragment} | 1 + .../{85xx-hw.config => 85xx-hw.fragment} | 1 + .../{85xx-smp.config => 85xx-smp.fragment} | 1 + .../{86xx-hw.config => 86xx-hw.fragment} | 1 + .../{86xx-smp.config => 86xx-smp.fragment} | 1 + arch/powerpc/configs/altivec.config | 1 - arch/powerpc/configs/altivec.fragment | 2 ++ arch/powerpc/configs/be.config | 1 - arch/powerpc/configs/be.fragment | 2 ++ .../{book3s_32.config => book3s_32.fragment} | 1 + ...enet_base.config => corenet_base.fragment} | 1 + arch/powerpc/configs/debug.config | 1 + arch/powerpc/configs/disable-werror.config | 1 + .../configs/{dpaa.config => dpaa.fragment} | 1 + ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 + .../configs/{guest.config => guest.fragment} | 1 + arch/powerpc/configs/le.config | 1 - arch/powerpc/configs/le.fragment | 2 ++ ...85xx_base.config => mpc85xx_base.fragment} | 1 + ...86xx_base.config => mpc86xx_base.fragment} | 1 + .../{ppc64le.config => ppc64le.fragment} | 1 + arch/powerpc/configs/security.config | 4 ++- arch/riscv/configs/32-bit.config | 1 + arch/riscv/configs/64-bit.config | 1 + arch/s390/configs/btf.config | 1 + arch/s390/configs/kasan.config | 1 + arch/x86/Makefile | 4 --- arch/x86/configs/tiny.config | 2 ++ {kernel => arch/x86}/configs/x86_debug.config | 1 + arch/x86/configs/xen.config | 2 ++ kernel/configs/debug.config | 2 ++ kernel/configs/kvm_guest.config | 1 + kernel/configs/nopm.config | 2 ++ kernel/configs/rust.config | 1 + kernel/configs/tiny-base.config | 1 - kernel/configs/tiny-base.fragment | 2 ++ kernel/configs/tiny.config | 2 ++ kernel/configs/xen.config | 2 ++ scripts/Makefile.defconf | 12 ++++++--- scripts/kconfig/Makefile | 16 +++++++++--- 51 files changed, 87 insertions(+), 32 deletions(-) rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%) delete mode 100644 arch/powerpc/configs/64-bit.config create mode 100644 arch/powerpc/configs/64-bit.fragment rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%) rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%) rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%) rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%) rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%) rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%) delete mode 100644 arch/powerpc/configs/altivec.config create mode 100644 arch/powerpc/configs/altivec.fragment delete mode 100644 arch/powerpc/configs/be.config create mode 100644 arch/powerpc/configs/be.fragment rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%) rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%) rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%) rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%) rename arch/powerpc/configs/{guest.config => guest.fragment} (85%) delete mode 100644 arch/powerpc/configs/le.config create mode 100644 arch/powerpc/configs/le.fragment rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%) rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%) rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%) rename {kernel => arch/x86}/configs/x86_debug.config (90%) delete mode 100644 kernel/configs/tiny-base.config create mode 100644 kernel/configs/tiny-base.fragment -- 2.34.1 ^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening Hi, This is my series to show *.config targets in the "help" target so these various topics can be more easily discoverd. v2: - split .fragment from .config to hide "internal" fragments - fix various typos - avoid duplicate entries v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org Thanks! -Kees Kees Cook (2): kbuild: Show Kconfig fragments in "help" kbuild: Split internal config targets from .config into .fragment Makefile | 1 - arch/arm/configs/dram_0x00000000.config | 1 + arch/arm/configs/dram_0xc0000000.config | 1 + arch/arm/configs/dram_0xd0000000.config | 1 + arch/arm/configs/lpae.config | 1 + arch/arm64/configs/virt.config | 1 + arch/powerpc/Makefile | 26 +++++++++---------- .../{32-bit.config => 32-bit.fragment} | 1 + arch/powerpc/configs/64-bit.config | 1 - arch/powerpc/configs/64-bit.fragment | 2 ++ ...{85xx-32bit.config => 85xx-32bit.fragment} | 1 + ...{85xx-64bit.config => 85xx-64bit.fragment} | 1 + .../{85xx-hw.config => 85xx-hw.fragment} | 1 + .../{85xx-smp.config => 85xx-smp.fragment} | 1 + .../{86xx-hw.config => 86xx-hw.fragment} | 1 + .../{86xx-smp.config => 86xx-smp.fragment} | 1 + arch/powerpc/configs/altivec.config | 1 - arch/powerpc/configs/altivec.fragment | 2 ++ arch/powerpc/configs/be.config | 1 - arch/powerpc/configs/be.fragment | 2 ++ .../{book3s_32.config => book3s_32.fragment} | 1 + ...enet_base.config => corenet_base.fragment} | 1 + arch/powerpc/configs/debug.config | 1 + arch/powerpc/configs/disable-werror.config | 1 + .../configs/{dpaa.config => dpaa.fragment} | 1 + ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 + .../configs/{guest.config => guest.fragment} | 1 + arch/powerpc/configs/le.config | 1 - arch/powerpc/configs/le.fragment | 2 ++ ...85xx_base.config => mpc85xx_base.fragment} | 1 + ...86xx_base.config => mpc86xx_base.fragment} | 1 + .../{ppc64le.config => ppc64le.fragment} | 1 + arch/powerpc/configs/security.config | 4 ++- arch/riscv/configs/32-bit.config | 1 + arch/riscv/configs/64-bit.config | 1 + arch/s390/configs/btf.config | 1 + arch/s390/configs/kasan.config | 1 + arch/x86/Makefile | 4 --- arch/x86/configs/tiny.config | 2 ++ {kernel => arch/x86}/configs/x86_debug.config | 1 + arch/x86/configs/xen.config | 2 ++ kernel/configs/debug.config | 2 ++ kernel/configs/kvm_guest.config | 1 + kernel/configs/nopm.config | 2 ++ kernel/configs/rust.config | 1 + kernel/configs/tiny-base.config | 1 - kernel/configs/tiny-base.fragment | 2 ++ kernel/configs/tiny.config | 2 ++ kernel/configs/xen.config | 2 ++ scripts/Makefile.defconf | 12 ++++++--- scripts/kconfig/Makefile | 16 +++++++++--- 51 files changed, 87 insertions(+), 32 deletions(-) rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%) delete mode 100644 arch/powerpc/configs/64-bit.config create mode 100644 arch/powerpc/configs/64-bit.fragment rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%) rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%) rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%) rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%) rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%) rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%) delete mode 100644 arch/powerpc/configs/altivec.config create mode 100644 arch/powerpc/configs/altivec.fragment delete mode 100644 arch/powerpc/configs/be.config create mode 100644 arch/powerpc/configs/be.fragment rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%) rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%) rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%) rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%) rename arch/powerpc/configs/{guest.config => guest.fragment} (85%) delete mode 100644 arch/powerpc/configs/le.config create mode 100644 arch/powerpc/configs/le.fragment rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%) rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%) rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%) rename {kernel => arch/x86}/configs/x86_debug.config (90%) delete mode 100644 kernel/configs/tiny-base.config create mode 100644 kernel/configs/tiny-base.fragment -- 2.34.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 40+ messages in thread
* [PATCH v2 1/2] kbuild: Show Kconfig fragments in "help" 2023-08-25 19:47 ` Kees Cook (?) (?) @ 2023-08-25 19:47 ` Kees Cook -1 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, linux-kbuild, linux-hardening Doing a "make help" would show only hard-coded Kconfig targets and depended on the archhelp target to include ".config" targets. There was nothing showing global kernel/configs/ targets. Solve this by walking the wildcard list and include them in the output, using the first comment line as the help text. Additionally avoid showing duplicate targets when they exist in both general and arch-specific locations. Update all Kconfig fragments to include help text and adjust archhelp targets to avoid redundancy. Adds the following section to "help" target output: Configuration fragment targets (for enabling various Kconfig items): debug.config - Debugging for CI systems and finding regressions kvm_guest.config - Bootable as a KVM guest nopm.config - Disable Power Management rust.config - Enable Rust tiny-base.config - Minimal options for tiny systems tiny.config - Size-optimized kernel image x86_debug.config - Debugging options for tip tree testing xen.config - Bootable as a Xen guest tiny.config - x86-specific options for a small kernel image xen.config - x86-specific options for a Xen virtualization guest Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-riscv@lists.infradead.org Cc: linux-s390@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> --- Makefile | 1 - arch/arm/configs/dram_0x00000000.config | 1 + arch/arm/configs/dram_0xc0000000.config | 1 + arch/arm/configs/dram_0xd0000000.config | 1 + arch/arm/configs/lpae.config | 1 + arch/arm64/configs/virt.config | 1 + arch/powerpc/configs/32-bit.config | 1 + arch/powerpc/configs/64-bit.config | 1 + arch/powerpc/configs/85xx-32bit.config | 1 + arch/powerpc/configs/85xx-64bit.config | 1 + arch/powerpc/configs/85xx-hw.config | 1 + arch/powerpc/configs/85xx-smp.config | 1 + arch/powerpc/configs/86xx-hw.config | 1 + arch/powerpc/configs/86xx-smp.config | 1 + arch/powerpc/configs/altivec.config | 1 + arch/powerpc/configs/be.config | 1 + arch/powerpc/configs/book3s_32.config | 1 + arch/powerpc/configs/corenet_base.config | 1 + arch/powerpc/configs/debug.config | 1 + arch/powerpc/configs/disable-werror.config | 1 + arch/powerpc/configs/dpaa.config | 1 + arch/powerpc/configs/fsl-emb-nonhw.config | 1 + arch/powerpc/configs/guest.config | 1 + arch/powerpc/configs/le.config | 1 + arch/powerpc/configs/mpc85xx_base.config | 1 + arch/powerpc/configs/mpc86xx_base.config | 1 + arch/powerpc/configs/ppc64le.config | 1 + arch/powerpc/configs/security.config | 4 +++- arch/riscv/configs/32-bit.config | 1 + arch/riscv/configs/64-bit.config | 1 + arch/s390/configs/btf.config | 1 + arch/s390/configs/kasan.config | 1 + arch/x86/Makefile | 4 ---- arch/x86/configs/tiny.config | 2 ++ arch/x86/configs/xen.config | 2 ++ kernel/configs/debug.config | 2 ++ kernel/configs/kvm_guest.config | 1 + kernel/configs/nopm.config | 2 ++ kernel/configs/rust.config | 1 + kernel/configs/tiny-base.config | 1 + kernel/configs/tiny.config | 2 ++ kernel/configs/x86_debug.config | 1 + kernel/configs/xen.config | 2 ++ scripts/kconfig/Makefile | 14 +++++++++++--- 44 files changed, 60 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 4739c21a63e2..91c90ce8e0e3 100644 --- a/Makefile +++ b/Makefile @@ -1674,7 +1674,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/arm/configs/dram_0x00000000.config b/arch/arm/configs/dram_0x00000000.config index db96dcb420ce..4de3fde0de9a 100644 --- a/arch/arm/configs/dram_0x00000000.config +++ b/arch/arm/configs/dram_0x00000000.config @@ -1 +1,2 @@ +# DRAM base at 0x00000000 CONFIG_DRAM_BASE=0x00000000 diff --git a/arch/arm/configs/dram_0xc0000000.config b/arch/arm/configs/dram_0xc0000000.config index 343d5333d973..fdd4c7b1461e 100644 --- a/arch/arm/configs/dram_0xc0000000.config +++ b/arch/arm/configs/dram_0xc0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xc0000000 CONFIG_DRAM_BASE=0xc0000000 diff --git a/arch/arm/configs/dram_0xd0000000.config b/arch/arm/configs/dram_0xd0000000.config index 61ba7045f8a1..54defdc8d24c 100644 --- a/arch/arm/configs/dram_0xd0000000.config +++ b/arch/arm/configs/dram_0xd0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xd0000000 CONFIG_DRAM_BASE=0xd0000000 diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config index a6d6f7ab3c01..e8d3cd8f1e4b 100644 --- a/arch/arm/configs/lpae.config +++ b/arch/arm/configs/lpae.config @@ -1,2 +1,3 @@ +# Enable Large Physical Address Extension mode CONFIG_ARM_LPAE=y CONFIG_VMSPLIT_2G=y diff --git a/arch/arm64/configs/virt.config b/arch/arm64/configs/virt.config index 6865d54e68f8..83333a9aa1a5 100644 --- a/arch/arm64/configs/virt.config +++ b/arch/arm64/configs/virt.config @@ -1,3 +1,4 @@ +# Virtualization guest # # Base options for platforms # diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.config index ad6546850c68..1a4c93a17007 100644 --- a/arch/powerpc/configs/32-bit.config +++ b/arch/powerpc/configs/32-bit.config @@ -1 +1,2 @@ +# Build a 32-bit image # CONFIG_PPC64 is not set diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.config index 0fe6406929e2..cc371309bb0c 100644 --- a/arch/powerpc/configs/64-bit.config +++ b/arch/powerpc/configs/64-bit.config @@ -1 +1,2 @@ +# Build a 64-bit image CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.config index 6b8894d727a2..866e77e22762 100644 --- a/arch/powerpc/configs/85xx-32bit.config +++ b/arch/powerpc/configs/85xx-32bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit 85xx image CONFIG_HIGHMEM=y CONFIG_KEXEC=y CONFIG_PPC_85xx=y diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.config index 4aba81222885..cca4151ee889 100644 --- a/arch/powerpc/configs/85xx-64bit.config +++ b/arch/powerpc/configs/85xx-64bit.config @@ -1,3 +1,4 @@ +# Build a 64-bit 85xx image CONFIG_MATH_EMULATION=y CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.config index 524db76f47b7..8a253831ac33 100644 --- a/arch/powerpc/configs/85xx-hw.config +++ b/arch/powerpc/configs/85xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 85xx CONFIG_AQUANTIA_PHY=y CONFIG_AT803X_PHY=y CONFIG_ATA=y diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.config index 3b4d1e54636d..d3525e71cb2f 100644 --- a/arch/powerpc/configs/85xx-smp.config +++ b/arch/powerpc/configs/85xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 85xx CONFIG_NR_CPUS=24 CONFIG_SMP=y diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.config index 0cb24b33c88e..7b8d9f9c3c01 100644 --- a/arch/powerpc/configs/86xx-hw.config +++ b/arch/powerpc/configs/86xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 86xx CONFIG_ATA=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.config index 40ac38d3038c..e6cd06a35624 100644 --- a/arch/powerpc/configs/86xx-smp.config +++ b/arch/powerpc/configs/86xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 86xx CONFIG_NR_CPUS=2 CONFIG_SMP=y diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.config index 58a697cb5a62..1c8eb9b23a7f 100644 --- a/arch/powerpc/configs/altivec.config +++ b/arch/powerpc/configs/altivec.config @@ -1 +1,2 @@ +# Enable Altivec support CONFIG_ALTIVEC=y diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.config index c5cdc99a6530..568bba8ea109 100644 --- a/arch/powerpc/configs/be.config +++ b/arch/powerpc/configs/be.config @@ -1 +1,2 @@ +# Enable Big Endian mode CONFIG_CPU_BIG_ENDIAN=y diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.config index 8721eb7b1294..a2c4ea622141 100644 --- a/arch/powerpc/configs/book3s_32.config +++ b/arch/powerpc/configs/book3s_32.config @@ -1,2 +1,3 @@ +# Base support for 32 bits Book3s CONFIG_PPC64=n CONFIG_PPC_BOOK3S_32=y diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.config index 1c40de1e764b..47bb6e25c90b 100644 --- a/arch/powerpc/configs/corenet_base.config +++ b/arch/powerpc/configs/corenet_base.config @@ -1,2 +1,3 @@ +# Base support for corenet CONFIG_CORENET_GENERIC=y CONFIG_PPC_QEMU_E500=y diff --git a/arch/powerpc/configs/debug.config b/arch/powerpc/configs/debug.config index a14ae1f20d60..223b8a2ee8ec 100644 --- a/arch/powerpc/configs/debug.config +++ b/arch/powerpc/configs/debug.config @@ -1 +1,2 @@ +# Enable PowerPC specific debug options CONFIG_SCOM_DEBUGFS=y diff --git a/arch/powerpc/configs/disable-werror.config b/arch/powerpc/configs/disable-werror.config index 6ea12a12432c..76a7847f39ce 100644 --- a/arch/powerpc/configs/disable-werror.config +++ b/arch/powerpc/configs/disable-werror.config @@ -1 +1,2 @@ +# Disable -Werror CONFIG_PPC_DISABLE_WERROR=y diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.config index 4ffacafe4036..39e00062978e 100644 --- a/arch/powerpc/configs/dpaa.config +++ b/arch/powerpc/configs/dpaa.config @@ -1,3 +1,4 @@ +# Base support for DPPA CONFIG_FSL_DPAA=y CONFIG_FSL_PAMU=y CONFIG_FSL_FMAN=y diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.config index 3009b0efaf34..d1249996cf45 100644 --- a/arch/powerpc/configs/fsl-emb-nonhw.config +++ b/arch/powerpc/configs/fsl-emb-nonhw.config @@ -1,3 +1,4 @@ +# Non-hardware options common to 85xx and corenet CONFIG_ADFS_FS=m CONFIG_AFFS_FS=m CONFIG_AUDIT=y diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.config index fece83487215..f04ababbb35a 100644 --- a/arch/powerpc/configs/guest.config +++ b/arch/powerpc/configs/guest.config @@ -1,3 +1,4 @@ +# PowerPC specific virtualization guest options CONFIG_VIRTIO_BLK=y CONFIG_SCSI_VIRTIO=y CONFIG_VIRTIO_NET=y diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.config index ee43fdb3b8f4..bcf657e1d21f 100644 --- a/arch/powerpc/configs/le.config +++ b/arch/powerpc/configs/le.config @@ -1 +1,2 @@ +# Enable Little Endian mode CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.config index a1e4d72ed39d..8c0ead988283 100644 --- a/arch/powerpc/configs/mpc85xx_base.config +++ b/arch/powerpc/configs/mpc85xx_base.config @@ -1,3 +1,4 @@ +# Base mpc85xx support CONFIG_MATH_EMULATION=y CONFIG_MPC8536_DS=y CONFIG_MPC85xx_DS=y diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.config index 632c014b122d..e591967f33d5 100644 --- a/arch/powerpc/configs/mpc86xx_base.config +++ b/arch/powerpc/configs/mpc86xx_base.config @@ -1,3 +1,4 @@ +# Base mpc86xx support CONFIG_PPC_86xx=y CONFIG_GEF_PPC9A=y CONFIG_GEF_SBC310=y diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.config index 14dca1062c1b..ac3614cd7926 100644 --- a/arch/powerpc/configs/ppc64le.config +++ b/arch/powerpc/configs/ppc64le.config @@ -1,2 +1,3 @@ +# Enable ppc64le mode CONFIG_PPC64=y CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/security.config b/arch/powerpc/configs/security.config index 1c91a35c6a73..f47034955d12 100644 --- a/arch/powerpc/configs/security.config +++ b/arch/powerpc/configs/security.config @@ -1,3 +1,5 @@ +# Common security options for PowerPC builds + # This is the equivalent of booting with lockdown=integrity CONFIG_SECURITY=y CONFIG_SECURITYFS=y @@ -12,4 +14,4 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y # UBSAN bounds checking is very cheap and good for hardening CONFIG_UBSAN=y -# CONFIG_UBSAN_MISC is not set \ No newline at end of file +# CONFIG_UBSAN_MISC is not set diff --git a/arch/riscv/configs/32-bit.config b/arch/riscv/configs/32-bit.config index f6af0f708df4..60dfa2809b19 100644 --- a/arch/riscv/configs/32-bit.config +++ b/arch/riscv/configs/32-bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit image CONFIG_ARCH_RV32I=y CONFIG_32BIT=y # CONFIG_PORTABLE is not set diff --git a/arch/riscv/configs/64-bit.config b/arch/riscv/configs/64-bit.config index 313edc554d84..31a1ad138944 100644 --- a/arch/riscv/configs/64-bit.config +++ b/arch/riscv/configs/64-bit.config @@ -1,2 +1,3 @@ +# Build a 64-bit image CONFIG_ARCH_RV64I=y CONFIG_64BIT=y diff --git a/arch/s390/configs/btf.config b/arch/s390/configs/btf.config index 39227b4511af..c69b1a370990 100644 --- a/arch/s390/configs/btf.config +++ b/arch/s390/configs/btf.config @@ -1 +1,2 @@ +# Enable BTF debug info CONFIG_DEBUG_INFO_BTF=y diff --git a/arch/s390/configs/kasan.config b/arch/s390/configs/kasan.config index 700a8b25c3ff..da2e1f28c13c 100644 --- a/arch/s390/configs/kasan.config +++ b/arch/s390/configs/kasan.config @@ -1,3 +1,4 @@ +# Enable KASan for debugging CONFIG_KASAN=y CONFIG_KASAN_INLINE=y CONFIG_KASAN_VMALLOC=y diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config index 66c9e2aab16c..4b75a11369e3 100644 --- a/arch/x86/configs/tiny.config +++ b/arch/x86/configs/tiny.config @@ -1,3 +1,5 @@ +# x86-specific options for a small kernel image +# CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config index 581296255b39..46653ec602e0 100644 --- a/arch/x86/configs/xen.config +++ b/arch/x86/configs/xen.config @@ -1,3 +1,5 @@ +# x86-specific options for a Xen virtualization guest +# # global x86 required specific stuff # On 32-bit HIGHMEM4G is not allowed CONFIG_HIGHMEM64G=y diff --git a/kernel/configs/debug.config b/kernel/configs/debug.config index e8db8d938661..874afe2cd7c0 100644 --- a/kernel/configs/debug.config +++ b/kernel/configs/debug.config @@ -1,3 +1,5 @@ +# Debugging for CI systems and finding regressions +# # The config is based on running daily CI for enterprise Linux distros to # seek regressions on linux-next builds on different bare-metal and virtual # platforms. It can be used for example, diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..3cc2810147da 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/nopm.config b/kernel/configs/nopm.config index 81ff07863576..a377c5914218 100644 --- a/kernel/configs/nopm.config +++ b/kernel/configs/nopm.config @@ -1,3 +1,5 @@ +# Disable Power Management + CONFIG_PM=n CONFIG_SUSPEND=n CONFIG_HIBERNATION=n diff --git a/kernel/configs/rust.config b/kernel/configs/rust.config index 38a7c5362c9c..941c69c161ad 100644 --- a/kernel/configs/rust.config +++ b/kernel/configs/rust.config @@ -1 +1,2 @@ +# Enable Rust CONFIG_RUST=y diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.config index 2f0e6bf6db2c..ac4d254abc3f 100644 --- a/kernel/configs/tiny-base.config +++ b/kernel/configs/tiny-base.config @@ -1 +1,2 @@ +# Minimal options for tiny systems CONFIG_EMBEDDED=y diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config index 00009f7d0835..b27289cdc9c7 100644 --- a/kernel/configs/tiny.config +++ b/kernel/configs/tiny.config @@ -1,3 +1,5 @@ +# Size-optimized kernel image +# # CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_KERNEL_GZIP is not set diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..8a1129a1d59a 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..d14880177fd2 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..370ff6bba78d 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,11 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(call configfiles,$@),, $(error No configuration exists for this target on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(call configfiles,$@) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +115,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +142,13 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach c, $(sort $(notdir $(call configfiles,*.config))), \ + printf " %-25s - %s\\n" \ + $(c) \ + "$(subst # ,,$(shell grep -m1 '^# ' \ + $(firstword $(call configfiles,$c))))";) # =========================================================================== # object files used by all kconfig flavours -- 2.34.1 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 1/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, linux-kbuild, linux-hardening Doing a "make help" would show only hard-coded Kconfig targets and depended on the archhelp target to include ".config" targets. There was nothing showing global kernel/configs/ targets. Solve this by walking the wildcard list and include them in the output, using the first comment line as the help text. Additionally avoid showing duplicate targets when they exist in both general and arch-specific locations. Update all Kconfig fragments to include help text and adjust archhelp targets to avoid redundancy. Adds the following section to "help" target output: Configuration fragment targets (for enabling various Kconfig items): debug.config - Debugging for CI systems and finding regressions kvm_guest.config - Bootable as a KVM guest nopm.config - Disable Power Management rust.config - Enable Rust tiny-base.config - Minimal options for tiny systems tiny.config - Size-optimized kernel image x86_debug.config - Debugging options for tip tree testing xen.config - Bootable as a Xen guest tiny.config - x86-specific options for a small kernel image xen.config - x86-specific options for a Xen virtualization guest Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-riscv@lists.infradead.org Cc: linux-s390@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> --- Makefile | 1 - arch/arm/configs/dram_0x00000000.config | 1 + arch/arm/configs/dram_0xc0000000.config | 1 + arch/arm/configs/dram_0xd0000000.config | 1 + arch/arm/configs/lpae.config | 1 + arch/arm64/configs/virt.config | 1 + arch/powerpc/configs/32-bit.config | 1 + arch/powerpc/configs/64-bit.config | 1 + arch/powerpc/configs/85xx-32bit.config | 1 + arch/powerpc/configs/85xx-64bit.config | 1 + arch/powerpc/configs/85xx-hw.config | 1 + arch/powerpc/configs/85xx-smp.config | 1 + arch/powerpc/configs/86xx-hw.config | 1 + arch/powerpc/configs/86xx-smp.config | 1 + arch/powerpc/configs/altivec.config | 1 + arch/powerpc/configs/be.config | 1 + arch/powerpc/configs/book3s_32.config | 1 + arch/powerpc/configs/corenet_base.config | 1 + arch/powerpc/configs/debug.config | 1 + arch/powerpc/configs/disable-werror.config | 1 + arch/powerpc/configs/dpaa.config | 1 + arch/powerpc/configs/fsl-emb-nonhw.config | 1 + arch/powerpc/configs/guest.config | 1 + arch/powerpc/configs/le.config | 1 + arch/powerpc/configs/mpc85xx_base.config | 1 + arch/powerpc/configs/mpc86xx_base.config | 1 + arch/powerpc/configs/ppc64le.config | 1 + arch/powerpc/configs/security.config | 4 +++- arch/riscv/configs/32-bit.config | 1 + arch/riscv/configs/64-bit.config | 1 + arch/s390/configs/btf.config | 1 + arch/s390/configs/kasan.config | 1 + arch/x86/Makefile | 4 ---- arch/x86/configs/tiny.config | 2 ++ arch/x86/configs/xen.config | 2 ++ kernel/configs/debug.config | 2 ++ kernel/configs/kvm_guest.config | 1 + kernel/configs/nopm.config | 2 ++ kernel/configs/rust.config | 1 + kernel/configs/tiny-base.config | 1 + kernel/configs/tiny.config | 2 ++ kernel/configs/x86_debug.config | 1 + kernel/configs/xen.config | 2 ++ scripts/kconfig/Makefile | 14 +++++++++++--- 44 files changed, 60 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 4739c21a63e2..91c90ce8e0e3 100644 --- a/Makefile +++ b/Makefile @@ -1674,7 +1674,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/arm/configs/dram_0x00000000.config b/arch/arm/configs/dram_0x00000000.config index db96dcb420ce..4de3fde0de9a 100644 --- a/arch/arm/configs/dram_0x00000000.config +++ b/arch/arm/configs/dram_0x00000000.config @@ -1 +1,2 @@ +# DRAM base at 0x00000000 CONFIG_DRAM_BASE=0x00000000 diff --git a/arch/arm/configs/dram_0xc0000000.config b/arch/arm/configs/dram_0xc0000000.config index 343d5333d973..fdd4c7b1461e 100644 --- a/arch/arm/configs/dram_0xc0000000.config +++ b/arch/arm/configs/dram_0xc0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xc0000000 CONFIG_DRAM_BASE=0xc0000000 diff --git a/arch/arm/configs/dram_0xd0000000.config b/arch/arm/configs/dram_0xd0000000.config index 61ba7045f8a1..54defdc8d24c 100644 --- a/arch/arm/configs/dram_0xd0000000.config +++ b/arch/arm/configs/dram_0xd0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xd0000000 CONFIG_DRAM_BASE=0xd0000000 diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config index a6d6f7ab3c01..e8d3cd8f1e4b 100644 --- a/arch/arm/configs/lpae.config +++ b/arch/arm/configs/lpae.config @@ -1,2 +1,3 @@ +# Enable Large Physical Address Extension mode CONFIG_ARM_LPAE=y CONFIG_VMSPLIT_2G=y diff --git a/arch/arm64/configs/virt.config b/arch/arm64/configs/virt.config index 6865d54e68f8..83333a9aa1a5 100644 --- a/arch/arm64/configs/virt.config +++ b/arch/arm64/configs/virt.config @@ -1,3 +1,4 @@ +# Virtualization guest # # Base options for platforms # diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.config index ad6546850c68..1a4c93a17007 100644 --- a/arch/powerpc/configs/32-bit.config +++ b/arch/powerpc/configs/32-bit.config @@ -1 +1,2 @@ +# Build a 32-bit image # CONFIG_PPC64 is not set diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.config index 0fe6406929e2..cc371309bb0c 100644 --- a/arch/powerpc/configs/64-bit.config +++ b/arch/powerpc/configs/64-bit.config @@ -1 +1,2 @@ +# Build a 64-bit image CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.config index 6b8894d727a2..866e77e22762 100644 --- a/arch/powerpc/configs/85xx-32bit.config +++ b/arch/powerpc/configs/85xx-32bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit 85xx image CONFIG_HIGHMEM=y CONFIG_KEXEC=y CONFIG_PPC_85xx=y diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.config index 4aba81222885..cca4151ee889 100644 --- a/arch/powerpc/configs/85xx-64bit.config +++ b/arch/powerpc/configs/85xx-64bit.config @@ -1,3 +1,4 @@ +# Build a 64-bit 85xx image CONFIG_MATH_EMULATION=y CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.config index 524db76f47b7..8a253831ac33 100644 --- a/arch/powerpc/configs/85xx-hw.config +++ b/arch/powerpc/configs/85xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 85xx CONFIG_AQUANTIA_PHY=y CONFIG_AT803X_PHY=y CONFIG_ATA=y diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.config index 3b4d1e54636d..d3525e71cb2f 100644 --- a/arch/powerpc/configs/85xx-smp.config +++ b/arch/powerpc/configs/85xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 85xx CONFIG_NR_CPUS=24 CONFIG_SMP=y diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.config index 0cb24b33c88e..7b8d9f9c3c01 100644 --- a/arch/powerpc/configs/86xx-hw.config +++ b/arch/powerpc/configs/86xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 86xx CONFIG_ATA=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.config index 40ac38d3038c..e6cd06a35624 100644 --- a/arch/powerpc/configs/86xx-smp.config +++ b/arch/powerpc/configs/86xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 86xx CONFIG_NR_CPUS=2 CONFIG_SMP=y diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.config index 58a697cb5a62..1c8eb9b23a7f 100644 --- a/arch/powerpc/configs/altivec.config +++ b/arch/powerpc/configs/altivec.config @@ -1 +1,2 @@ +# Enable Altivec support CONFIG_ALTIVEC=y diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.config index c5cdc99a6530..568bba8ea109 100644 --- a/arch/powerpc/configs/be.config +++ b/arch/powerpc/configs/be.config @@ -1 +1,2 @@ +# Enable Big Endian mode CONFIG_CPU_BIG_ENDIAN=y diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.config index 8721eb7b1294..a2c4ea622141 100644 --- a/arch/powerpc/configs/book3s_32.config +++ b/arch/powerpc/configs/book3s_32.config @@ -1,2 +1,3 @@ +# Base support for 32 bits Book3s CONFIG_PPC64=n CONFIG_PPC_BOOK3S_32=y diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.config index 1c40de1e764b..47bb6e25c90b 100644 --- a/arch/powerpc/configs/corenet_base.config +++ b/arch/powerpc/configs/corenet_base.config @@ -1,2 +1,3 @@ +# Base support for corenet CONFIG_CORENET_GENERIC=y CONFIG_PPC_QEMU_E500=y diff --git a/arch/powerpc/configs/debug.config b/arch/powerpc/configs/debug.config index a14ae1f20d60..223b8a2ee8ec 100644 --- a/arch/powerpc/configs/debug.config +++ b/arch/powerpc/configs/debug.config @@ -1 +1,2 @@ +# Enable PowerPC specific debug options CONFIG_SCOM_DEBUGFS=y diff --git a/arch/powerpc/configs/disable-werror.config b/arch/powerpc/configs/disable-werror.config index 6ea12a12432c..76a7847f39ce 100644 --- a/arch/powerpc/configs/disable-werror.config +++ b/arch/powerpc/configs/disable-werror.config @@ -1 +1,2 @@ +# Disable -Werror CONFIG_PPC_DISABLE_WERROR=y diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.config index 4ffacafe4036..39e00062978e 100644 --- a/arch/powerpc/configs/dpaa.config +++ b/arch/powerpc/configs/dpaa.config @@ -1,3 +1,4 @@ +# Base support for DPPA CONFIG_FSL_DPAA=y CONFIG_FSL_PAMU=y CONFIG_FSL_FMAN=y diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.config index 3009b0efaf34..d1249996cf45 100644 --- a/arch/powerpc/configs/fsl-emb-nonhw.config +++ b/arch/powerpc/configs/fsl-emb-nonhw.config @@ -1,3 +1,4 @@ +# Non-hardware options common to 85xx and corenet CONFIG_ADFS_FS=m CONFIG_AFFS_FS=m CONFIG_AUDIT=y diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.config index fece83487215..f04ababbb35a 100644 --- a/arch/powerpc/configs/guest.config +++ b/arch/powerpc/configs/guest.config @@ -1,3 +1,4 @@ +# PowerPC specific virtualization guest options CONFIG_VIRTIO_BLK=y CONFIG_SCSI_VIRTIO=y CONFIG_VIRTIO_NET=y diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.config index ee43fdb3b8f4..bcf657e1d21f 100644 --- a/arch/powerpc/configs/le.config +++ b/arch/powerpc/configs/le.config @@ -1 +1,2 @@ +# Enable Little Endian mode CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.config index a1e4d72ed39d..8c0ead988283 100644 --- a/arch/powerpc/configs/mpc85xx_base.config +++ b/arch/powerpc/configs/mpc85xx_base.config @@ -1,3 +1,4 @@ +# Base mpc85xx support CONFIG_MATH_EMULATION=y CONFIG_MPC8536_DS=y CONFIG_MPC85xx_DS=y diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.config index 632c014b122d..e591967f33d5 100644 --- a/arch/powerpc/configs/mpc86xx_base.config +++ b/arch/powerpc/configs/mpc86xx_base.config @@ -1,3 +1,4 @@ +# Base mpc86xx support CONFIG_PPC_86xx=y CONFIG_GEF_PPC9A=y CONFIG_GEF_SBC310=y diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.config index 14dca1062c1b..ac3614cd7926 100644 --- a/arch/powerpc/configs/ppc64le.config +++ b/arch/powerpc/configs/ppc64le.config @@ -1,2 +1,3 @@ +# Enable ppc64le mode CONFIG_PPC64=y CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/security.config b/arch/powerpc/configs/security.config index 1c91a35c6a73..f47034955d12 100644 --- a/arch/powerpc/configs/security.config +++ b/arch/powerpc/configs/security.config @@ -1,3 +1,5 @@ +# Common security options for PowerPC builds + # This is the equivalent of booting with lockdown=integrity CONFIG_SECURITY=y CONFIG_SECURITYFS=y @@ -12,4 +14,4 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y # UBSAN bounds checking is very cheap and good for hardening CONFIG_UBSAN=y -# CONFIG_UBSAN_MISC is not set \ No newline at end of file +# CONFIG_UBSAN_MISC is not set diff --git a/arch/riscv/configs/32-bit.config b/arch/riscv/configs/32-bit.config index f6af0f708df4..60dfa2809b19 100644 --- a/arch/riscv/configs/32-bit.config +++ b/arch/riscv/configs/32-bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit image CONFIG_ARCH_RV32I=y CONFIG_32BIT=y # CONFIG_PORTABLE is not set diff --git a/arch/riscv/configs/64-bit.config b/arch/riscv/configs/64-bit.config index 313edc554d84..31a1ad138944 100644 --- a/arch/riscv/configs/64-bit.config +++ b/arch/riscv/configs/64-bit.config @@ -1,2 +1,3 @@ +# Build a 64-bit image CONFIG_ARCH_RV64I=y CONFIG_64BIT=y diff --git a/arch/s390/configs/btf.config b/arch/s390/configs/btf.config index 39227b4511af..c69b1a370990 100644 --- a/arch/s390/configs/btf.config +++ b/arch/s390/configs/btf.config @@ -1 +1,2 @@ +# Enable BTF debug info CONFIG_DEBUG_INFO_BTF=y diff --git a/arch/s390/configs/kasan.config b/arch/s390/configs/kasan.config index 700a8b25c3ff..da2e1f28c13c 100644 --- a/arch/s390/configs/kasan.config +++ b/arch/s390/configs/kasan.config @@ -1,3 +1,4 @@ +# Enable KASan for debugging CONFIG_KASAN=y CONFIG_KASAN_INLINE=y CONFIG_KASAN_VMALLOC=y diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config index 66c9e2aab16c..4b75a11369e3 100644 --- a/arch/x86/configs/tiny.config +++ b/arch/x86/configs/tiny.config @@ -1,3 +1,5 @@ +# x86-specific options for a small kernel image +# CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config index 581296255b39..46653ec602e0 100644 --- a/arch/x86/configs/xen.config +++ b/arch/x86/configs/xen.config @@ -1,3 +1,5 @@ +# x86-specific options for a Xen virtualization guest +# # global x86 required specific stuff # On 32-bit HIGHMEM4G is not allowed CONFIG_HIGHMEM64G=y diff --git a/kernel/configs/debug.config b/kernel/configs/debug.config index e8db8d938661..874afe2cd7c0 100644 --- a/kernel/configs/debug.config +++ b/kernel/configs/debug.config @@ -1,3 +1,5 @@ +# Debugging for CI systems and finding regressions +# # The config is based on running daily CI for enterprise Linux distros to # seek regressions on linux-next builds on different bare-metal and virtual # platforms. It can be used for example, diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..3cc2810147da 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/nopm.config b/kernel/configs/nopm.config index 81ff07863576..a377c5914218 100644 --- a/kernel/configs/nopm.config +++ b/kernel/configs/nopm.config @@ -1,3 +1,5 @@ +# Disable Power Management + CONFIG_PM=n CONFIG_SUSPEND=n CONFIG_HIBERNATION=n diff --git a/kernel/configs/rust.config b/kernel/configs/rust.config index 38a7c5362c9c..941c69c161ad 100644 --- a/kernel/configs/rust.config +++ b/kernel/configs/rust.config @@ -1 +1,2 @@ +# Enable Rust CONFIG_RUST=y diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.config index 2f0e6bf6db2c..ac4d254abc3f 100644 --- a/kernel/configs/tiny-base.config +++ b/kernel/configs/tiny-base.config @@ -1 +1,2 @@ +# Minimal options for tiny systems CONFIG_EMBEDDED=y diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config index 00009f7d0835..b27289cdc9c7 100644 --- a/kernel/configs/tiny.config +++ b/kernel/configs/tiny.config @@ -1,3 +1,5 @@ +# Size-optimized kernel image +# # CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_KERNEL_GZIP is not set diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..8a1129a1d59a 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..d14880177fd2 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..370ff6bba78d 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,11 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(call configfiles,$@),, $(error No configuration exists for this target on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(call configfiles,$@) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +115,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +142,13 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach c, $(sort $(notdir $(call configfiles,*.config))), \ + printf " %-25s - %s\\n" \ + $(c) \ + "$(subst # ,,$(shell grep -m1 '^# ' \ + $(firstword $(call configfiles,$c))))";) # =========================================================================== # object files used by all kconfig flavours -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 1/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: linux-s390, Randy Dunlap, Kees Cook, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel, Nicolas Schier Doing a "make help" would show only hard-coded Kconfig targets and depended on the archhelp target to include ".config" targets. There was nothing showing global kernel/configs/ targets. Solve this by walking the wildcard list and include them in the output, using the first comment line as the help text. Additionally avoid showing duplicate targets when they exist in both general and arch-specific locations. Update all Kconfig fragments to include help text and adjust archhelp targets to avoid redundancy. Adds the following section to "help" target output: Configuration fragment targets (for enabling various Kconfig items): debug.config - Debugging for CI systems and finding regressions kvm_guest.config - Bootable as a KVM guest nopm.config - Disable Power Management rust.config - Enable Rust tiny-base.config - Minimal options for tiny systems tiny.config - Size-optimized kernel image x86_debug.config - Debugging options for tip tree testing xen.config - Bootable as a Xen guest tiny.config - x86-specific options for a small kernel image xen.config - x86-specific options for a Xen virtualization guest Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-riscv@lists.infradead.org Cc: linux-s390@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> --- Makefile | 1 - arch/arm/configs/dram_0x00000000.config | 1 + arch/arm/configs/dram_0xc0000000.config | 1 + arch/arm/configs/dram_0xd0000000.config | 1 + arch/arm/configs/lpae.config | 1 + arch/arm64/configs/virt.config | 1 + arch/powerpc/configs/32-bit.config | 1 + arch/powerpc/configs/64-bit.config | 1 + arch/powerpc/configs/85xx-32bit.config | 1 + arch/powerpc/configs/85xx-64bit.config | 1 + arch/powerpc/configs/85xx-hw.config | 1 + arch/powerpc/configs/85xx-smp.config | 1 + arch/powerpc/configs/86xx-hw.config | 1 + arch/powerpc/configs/86xx-smp.config | 1 + arch/powerpc/configs/altivec.config | 1 + arch/powerpc/configs/be.config | 1 + arch/powerpc/configs/book3s_32.config | 1 + arch/powerpc/configs/corenet_base.config | 1 + arch/powerpc/configs/debug.config | 1 + arch/powerpc/configs/disable-werror.config | 1 + arch/powerpc/configs/dpaa.config | 1 + arch/powerpc/configs/fsl-emb-nonhw.config | 1 + arch/powerpc/configs/guest.config | 1 + arch/powerpc/configs/le.config | 1 + arch/powerpc/configs/mpc85xx_base.config | 1 + arch/powerpc/configs/mpc86xx_base.config | 1 + arch/powerpc/configs/ppc64le.config | 1 + arch/powerpc/configs/security.config | 4 +++- arch/riscv/configs/32-bit.config | 1 + arch/riscv/configs/64-bit.config | 1 + arch/s390/configs/btf.config | 1 + arch/s390/configs/kasan.config | 1 + arch/x86/Makefile | 4 ---- arch/x86/configs/tiny.config | 2 ++ arch/x86/configs/xen.config | 2 ++ kernel/configs/debug.config | 2 ++ kernel/configs/kvm_guest.config | 1 + kernel/configs/nopm.config | 2 ++ kernel/configs/rust.config | 1 + kernel/configs/tiny-base.config | 1 + kernel/configs/tiny.config | 2 ++ kernel/configs/x86_debug.config | 1 + kernel/configs/xen.config | 2 ++ scripts/kconfig/Makefile | 14 +++++++++++--- 44 files changed, 60 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 4739c21a63e2..91c90ce8e0e3 100644 --- a/Makefile +++ b/Makefile @@ -1674,7 +1674,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/arm/configs/dram_0x00000000.config b/arch/arm/configs/dram_0x00000000.config index db96dcb420ce..4de3fde0de9a 100644 --- a/arch/arm/configs/dram_0x00000000.config +++ b/arch/arm/configs/dram_0x00000000.config @@ -1 +1,2 @@ +# DRAM base at 0x00000000 CONFIG_DRAM_BASE=0x00000000 diff --git a/arch/arm/configs/dram_0xc0000000.config b/arch/arm/configs/dram_0xc0000000.config index 343d5333d973..fdd4c7b1461e 100644 --- a/arch/arm/configs/dram_0xc0000000.config +++ b/arch/arm/configs/dram_0xc0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xc0000000 CONFIG_DRAM_BASE=0xc0000000 diff --git a/arch/arm/configs/dram_0xd0000000.config b/arch/arm/configs/dram_0xd0000000.config index 61ba7045f8a1..54defdc8d24c 100644 --- a/arch/arm/configs/dram_0xd0000000.config +++ b/arch/arm/configs/dram_0xd0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xd0000000 CONFIG_DRAM_BASE=0xd0000000 diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config index a6d6f7ab3c01..e8d3cd8f1e4b 100644 --- a/arch/arm/configs/lpae.config +++ b/arch/arm/configs/lpae.config @@ -1,2 +1,3 @@ +# Enable Large Physical Address Extension mode CONFIG_ARM_LPAE=y CONFIG_VMSPLIT_2G=y diff --git a/arch/arm64/configs/virt.config b/arch/arm64/configs/virt.config index 6865d54e68f8..83333a9aa1a5 100644 --- a/arch/arm64/configs/virt.config +++ b/arch/arm64/configs/virt.config @@ -1,3 +1,4 @@ +# Virtualization guest # # Base options for platforms # diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.config index ad6546850c68..1a4c93a17007 100644 --- a/arch/powerpc/configs/32-bit.config +++ b/arch/powerpc/configs/32-bit.config @@ -1 +1,2 @@ +# Build a 32-bit image # CONFIG_PPC64 is not set diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.config index 0fe6406929e2..cc371309bb0c 100644 --- a/arch/powerpc/configs/64-bit.config +++ b/arch/powerpc/configs/64-bit.config @@ -1 +1,2 @@ +# Build a 64-bit image CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.config index 6b8894d727a2..866e77e22762 100644 --- a/arch/powerpc/configs/85xx-32bit.config +++ b/arch/powerpc/configs/85xx-32bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit 85xx image CONFIG_HIGHMEM=y CONFIG_KEXEC=y CONFIG_PPC_85xx=y diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.config index 4aba81222885..cca4151ee889 100644 --- a/arch/powerpc/configs/85xx-64bit.config +++ b/arch/powerpc/configs/85xx-64bit.config @@ -1,3 +1,4 @@ +# Build a 64-bit 85xx image CONFIG_MATH_EMULATION=y CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.config index 524db76f47b7..8a253831ac33 100644 --- a/arch/powerpc/configs/85xx-hw.config +++ b/arch/powerpc/configs/85xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 85xx CONFIG_AQUANTIA_PHY=y CONFIG_AT803X_PHY=y CONFIG_ATA=y diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.config index 3b4d1e54636d..d3525e71cb2f 100644 --- a/arch/powerpc/configs/85xx-smp.config +++ b/arch/powerpc/configs/85xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 85xx CONFIG_NR_CPUS=24 CONFIG_SMP=y diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.config index 0cb24b33c88e..7b8d9f9c3c01 100644 --- a/arch/powerpc/configs/86xx-hw.config +++ b/arch/powerpc/configs/86xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 86xx CONFIG_ATA=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.config index 40ac38d3038c..e6cd06a35624 100644 --- a/arch/powerpc/configs/86xx-smp.config +++ b/arch/powerpc/configs/86xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 86xx CONFIG_NR_CPUS=2 CONFIG_SMP=y diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.config index 58a697cb5a62..1c8eb9b23a7f 100644 --- a/arch/powerpc/configs/altivec.config +++ b/arch/powerpc/configs/altivec.config @@ -1 +1,2 @@ +# Enable Altivec support CONFIG_ALTIVEC=y diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.config index c5cdc99a6530..568bba8ea109 100644 --- a/arch/powerpc/configs/be.config +++ b/arch/powerpc/configs/be.config @@ -1 +1,2 @@ +# Enable Big Endian mode CONFIG_CPU_BIG_ENDIAN=y diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.config index 8721eb7b1294..a2c4ea622141 100644 --- a/arch/powerpc/configs/book3s_32.config +++ b/arch/powerpc/configs/book3s_32.config @@ -1,2 +1,3 @@ +# Base support for 32 bits Book3s CONFIG_PPC64=n CONFIG_PPC_BOOK3S_32=y diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.config index 1c40de1e764b..47bb6e25c90b 100644 --- a/arch/powerpc/configs/corenet_base.config +++ b/arch/powerpc/configs/corenet_base.config @@ -1,2 +1,3 @@ +# Base support for corenet CONFIG_CORENET_GENERIC=y CONFIG_PPC_QEMU_E500=y diff --git a/arch/powerpc/configs/debug.config b/arch/powerpc/configs/debug.config index a14ae1f20d60..223b8a2ee8ec 100644 --- a/arch/powerpc/configs/debug.config +++ b/arch/powerpc/configs/debug.config @@ -1 +1,2 @@ +# Enable PowerPC specific debug options CONFIG_SCOM_DEBUGFS=y diff --git a/arch/powerpc/configs/disable-werror.config b/arch/powerpc/configs/disable-werror.config index 6ea12a12432c..76a7847f39ce 100644 --- a/arch/powerpc/configs/disable-werror.config +++ b/arch/powerpc/configs/disable-werror.config @@ -1 +1,2 @@ +# Disable -Werror CONFIG_PPC_DISABLE_WERROR=y diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.config index 4ffacafe4036..39e00062978e 100644 --- a/arch/powerpc/configs/dpaa.config +++ b/arch/powerpc/configs/dpaa.config @@ -1,3 +1,4 @@ +# Base support for DPPA CONFIG_FSL_DPAA=y CONFIG_FSL_PAMU=y CONFIG_FSL_FMAN=y diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.config index 3009b0efaf34..d1249996cf45 100644 --- a/arch/powerpc/configs/fsl-emb-nonhw.config +++ b/arch/powerpc/configs/fsl-emb-nonhw.config @@ -1,3 +1,4 @@ +# Non-hardware options common to 85xx and corenet CONFIG_ADFS_FS=m CONFIG_AFFS_FS=m CONFIG_AUDIT=y diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.config index fece83487215..f04ababbb35a 100644 --- a/arch/powerpc/configs/guest.config +++ b/arch/powerpc/configs/guest.config @@ -1,3 +1,4 @@ +# PowerPC specific virtualization guest options CONFIG_VIRTIO_BLK=y CONFIG_SCSI_VIRTIO=y CONFIG_VIRTIO_NET=y diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.config index ee43fdb3b8f4..bcf657e1d21f 100644 --- a/arch/powerpc/configs/le.config +++ b/arch/powerpc/configs/le.config @@ -1 +1,2 @@ +# Enable Little Endian mode CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.config index a1e4d72ed39d..8c0ead988283 100644 --- a/arch/powerpc/configs/mpc85xx_base.config +++ b/arch/powerpc/configs/mpc85xx_base.config @@ -1,3 +1,4 @@ +# Base mpc85xx support CONFIG_MATH_EMULATION=y CONFIG_MPC8536_DS=y CONFIG_MPC85xx_DS=y diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.config index 632c014b122d..e591967f33d5 100644 --- a/arch/powerpc/configs/mpc86xx_base.config +++ b/arch/powerpc/configs/mpc86xx_base.config @@ -1,3 +1,4 @@ +# Base mpc86xx support CONFIG_PPC_86xx=y CONFIG_GEF_PPC9A=y CONFIG_GEF_SBC310=y diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.config index 14dca1062c1b..ac3614cd7926 100644 --- a/arch/powerpc/configs/ppc64le.config +++ b/arch/powerpc/configs/ppc64le.config @@ -1,2 +1,3 @@ +# Enable ppc64le mode CONFIG_PPC64=y CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/security.config b/arch/powerpc/configs/security.config index 1c91a35c6a73..f47034955d12 100644 --- a/arch/powerpc/configs/security.config +++ b/arch/powerpc/configs/security.config @@ -1,3 +1,5 @@ +# Common security options for PowerPC builds + # This is the equivalent of booting with lockdown=integrity CONFIG_SECURITY=y CONFIG_SECURITYFS=y @@ -12,4 +14,4 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y # UBSAN bounds checking is very cheap and good for hardening CONFIG_UBSAN=y -# CONFIG_UBSAN_MISC is not set \ No newline at end of file +# CONFIG_UBSAN_MISC is not set diff --git a/arch/riscv/configs/32-bit.config b/arch/riscv/configs/32-bit.config index f6af0f708df4..60dfa2809b19 100644 --- a/arch/riscv/configs/32-bit.config +++ b/arch/riscv/configs/32-bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit image CONFIG_ARCH_RV32I=y CONFIG_32BIT=y # CONFIG_PORTABLE is not set diff --git a/arch/riscv/configs/64-bit.config b/arch/riscv/configs/64-bit.config index 313edc554d84..31a1ad138944 100644 --- a/arch/riscv/configs/64-bit.config +++ b/arch/riscv/configs/64-bit.config @@ -1,2 +1,3 @@ +# Build a 64-bit image CONFIG_ARCH_RV64I=y CONFIG_64BIT=y diff --git a/arch/s390/configs/btf.config b/arch/s390/configs/btf.config index 39227b4511af..c69b1a370990 100644 --- a/arch/s390/configs/btf.config +++ b/arch/s390/configs/btf.config @@ -1 +1,2 @@ +# Enable BTF debug info CONFIG_DEBUG_INFO_BTF=y diff --git a/arch/s390/configs/kasan.config b/arch/s390/configs/kasan.config index 700a8b25c3ff..da2e1f28c13c 100644 --- a/arch/s390/configs/kasan.config +++ b/arch/s390/configs/kasan.config @@ -1,3 +1,4 @@ +# Enable KASan for debugging CONFIG_KASAN=y CONFIG_KASAN_INLINE=y CONFIG_KASAN_VMALLOC=y diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config index 66c9e2aab16c..4b75a11369e3 100644 --- a/arch/x86/configs/tiny.config +++ b/arch/x86/configs/tiny.config @@ -1,3 +1,5 @@ +# x86-specific options for a small kernel image +# CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config index 581296255b39..46653ec602e0 100644 --- a/arch/x86/configs/xen.config +++ b/arch/x86/configs/xen.config @@ -1,3 +1,5 @@ +# x86-specific options for a Xen virtualization guest +# # global x86 required specific stuff # On 32-bit HIGHMEM4G is not allowed CONFIG_HIGHMEM64G=y diff --git a/kernel/configs/debug.config b/kernel/configs/debug.config index e8db8d938661..874afe2cd7c0 100644 --- a/kernel/configs/debug.config +++ b/kernel/configs/debug.config @@ -1,3 +1,5 @@ +# Debugging for CI systems and finding regressions +# # The config is based on running daily CI for enterprise Linux distros to # seek regressions on linux-next builds on different bare-metal and virtual # platforms. It can be used for example, diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..3cc2810147da 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/nopm.config b/kernel/configs/nopm.config index 81ff07863576..a377c5914218 100644 --- a/kernel/configs/nopm.config +++ b/kernel/configs/nopm.config @@ -1,3 +1,5 @@ +# Disable Power Management + CONFIG_PM=n CONFIG_SUSPEND=n CONFIG_HIBERNATION=n diff --git a/kernel/configs/rust.config b/kernel/configs/rust.config index 38a7c5362c9c..941c69c161ad 100644 --- a/kernel/configs/rust.config +++ b/kernel/configs/rust.config @@ -1 +1,2 @@ +# Enable Rust CONFIG_RUST=y diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.config index 2f0e6bf6db2c..ac4d254abc3f 100644 --- a/kernel/configs/tiny-base.config +++ b/kernel/configs/tiny-base.config @@ -1 +1,2 @@ +# Minimal options for tiny systems CONFIG_EMBEDDED=y diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config index 00009f7d0835..b27289cdc9c7 100644 --- a/kernel/configs/tiny.config +++ b/kernel/configs/tiny.config @@ -1,3 +1,5 @@ +# Size-optimized kernel image +# # CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_KERNEL_GZIP is not set diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..8a1129a1d59a 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..d14880177fd2 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..370ff6bba78d 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,11 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(call configfiles,$@),, $(error No configuration exists for this target on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(call configfiles,$@) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +115,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +142,13 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach c, $(sort $(notdir $(call configfiles,*.config))), \ + printf " %-25s - %s\\n" \ + $(c) \ + "$(subst # ,,$(shell grep -m1 '^# ' \ + $(firstword $(call configfiles,$c))))";) # =========================================================================== # object files used by all kconfig flavours -- 2.34.1 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 1/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, linux-kbuild, linux-hardening Doing a "make help" would show only hard-coded Kconfig targets and depended on the archhelp target to include ".config" targets. There was nothing showing global kernel/configs/ targets. Solve this by walking the wildcard list and include them in the output, using the first comment line as the help text. Additionally avoid showing duplicate targets when they exist in both general and arch-specific locations. Update all Kconfig fragments to include help text and adjust archhelp targets to avoid redundancy. Adds the following section to "help" target output: Configuration fragment targets (for enabling various Kconfig items): debug.config - Debugging for CI systems and finding regressions kvm_guest.config - Bootable as a KVM guest nopm.config - Disable Power Management rust.config - Enable Rust tiny-base.config - Minimal options for tiny systems tiny.config - Size-optimized kernel image x86_debug.config - Debugging options for tip tree testing xen.config - Bootable as a Xen guest tiny.config - x86-specific options for a small kernel image xen.config - x86-specific options for a Xen virtualization guest Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linux-arm-kernel@lists.infradead.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-riscv@lists.infradead.org Cc: linux-s390@vger.kernel.org Signed-off-by: Kees Cook <keescook@chromium.org> --- Makefile | 1 - arch/arm/configs/dram_0x00000000.config | 1 + arch/arm/configs/dram_0xc0000000.config | 1 + arch/arm/configs/dram_0xd0000000.config | 1 + arch/arm/configs/lpae.config | 1 + arch/arm64/configs/virt.config | 1 + arch/powerpc/configs/32-bit.config | 1 + arch/powerpc/configs/64-bit.config | 1 + arch/powerpc/configs/85xx-32bit.config | 1 + arch/powerpc/configs/85xx-64bit.config | 1 + arch/powerpc/configs/85xx-hw.config | 1 + arch/powerpc/configs/85xx-smp.config | 1 + arch/powerpc/configs/86xx-hw.config | 1 + arch/powerpc/configs/86xx-smp.config | 1 + arch/powerpc/configs/altivec.config | 1 + arch/powerpc/configs/be.config | 1 + arch/powerpc/configs/book3s_32.config | 1 + arch/powerpc/configs/corenet_base.config | 1 + arch/powerpc/configs/debug.config | 1 + arch/powerpc/configs/disable-werror.config | 1 + arch/powerpc/configs/dpaa.config | 1 + arch/powerpc/configs/fsl-emb-nonhw.config | 1 + arch/powerpc/configs/guest.config | 1 + arch/powerpc/configs/le.config | 1 + arch/powerpc/configs/mpc85xx_base.config | 1 + arch/powerpc/configs/mpc86xx_base.config | 1 + arch/powerpc/configs/ppc64le.config | 1 + arch/powerpc/configs/security.config | 4 +++- arch/riscv/configs/32-bit.config | 1 + arch/riscv/configs/64-bit.config | 1 + arch/s390/configs/btf.config | 1 + arch/s390/configs/kasan.config | 1 + arch/x86/Makefile | 4 ---- arch/x86/configs/tiny.config | 2 ++ arch/x86/configs/xen.config | 2 ++ kernel/configs/debug.config | 2 ++ kernel/configs/kvm_guest.config | 1 + kernel/configs/nopm.config | 2 ++ kernel/configs/rust.config | 1 + kernel/configs/tiny-base.config | 1 + kernel/configs/tiny.config | 2 ++ kernel/configs/x86_debug.config | 1 + kernel/configs/xen.config | 2 ++ scripts/kconfig/Makefile | 14 +++++++++++--- 44 files changed, 60 insertions(+), 9 deletions(-) diff --git a/Makefile b/Makefile index 4739c21a63e2..91c90ce8e0e3 100644 --- a/Makefile +++ b/Makefile @@ -1674,7 +1674,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/arm/configs/dram_0x00000000.config b/arch/arm/configs/dram_0x00000000.config index db96dcb420ce..4de3fde0de9a 100644 --- a/arch/arm/configs/dram_0x00000000.config +++ b/arch/arm/configs/dram_0x00000000.config @@ -1 +1,2 @@ +# DRAM base at 0x00000000 CONFIG_DRAM_BASE=0x00000000 diff --git a/arch/arm/configs/dram_0xc0000000.config b/arch/arm/configs/dram_0xc0000000.config index 343d5333d973..fdd4c7b1461e 100644 --- a/arch/arm/configs/dram_0xc0000000.config +++ b/arch/arm/configs/dram_0xc0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xc0000000 CONFIG_DRAM_BASE=0xc0000000 diff --git a/arch/arm/configs/dram_0xd0000000.config b/arch/arm/configs/dram_0xd0000000.config index 61ba7045f8a1..54defdc8d24c 100644 --- a/arch/arm/configs/dram_0xd0000000.config +++ b/arch/arm/configs/dram_0xd0000000.config @@ -1 +1,2 @@ +# DRAM base at 0xd0000000 CONFIG_DRAM_BASE=0xd0000000 diff --git a/arch/arm/configs/lpae.config b/arch/arm/configs/lpae.config index a6d6f7ab3c01..e8d3cd8f1e4b 100644 --- a/arch/arm/configs/lpae.config +++ b/arch/arm/configs/lpae.config @@ -1,2 +1,3 @@ +# Enable Large Physical Address Extension mode CONFIG_ARM_LPAE=y CONFIG_VMSPLIT_2G=y diff --git a/arch/arm64/configs/virt.config b/arch/arm64/configs/virt.config index 6865d54e68f8..83333a9aa1a5 100644 --- a/arch/arm64/configs/virt.config +++ b/arch/arm64/configs/virt.config @@ -1,3 +1,4 @@ +# Virtualization guest # # Base options for platforms # diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.config index ad6546850c68..1a4c93a17007 100644 --- a/arch/powerpc/configs/32-bit.config +++ b/arch/powerpc/configs/32-bit.config @@ -1 +1,2 @@ +# Build a 32-bit image # CONFIG_PPC64 is not set diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.config index 0fe6406929e2..cc371309bb0c 100644 --- a/arch/powerpc/configs/64-bit.config +++ b/arch/powerpc/configs/64-bit.config @@ -1 +1,2 @@ +# Build a 64-bit image CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.config index 6b8894d727a2..866e77e22762 100644 --- a/arch/powerpc/configs/85xx-32bit.config +++ b/arch/powerpc/configs/85xx-32bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit 85xx image CONFIG_HIGHMEM=y CONFIG_KEXEC=y CONFIG_PPC_85xx=y diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.config index 4aba81222885..cca4151ee889 100644 --- a/arch/powerpc/configs/85xx-64bit.config +++ b/arch/powerpc/configs/85xx-64bit.config @@ -1,3 +1,4 @@ +# Build a 64-bit 85xx image CONFIG_MATH_EMULATION=y CONFIG_MATH_EMULATION_HW_UNIMPLEMENTED=y CONFIG_PPC64=y diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.config index 524db76f47b7..8a253831ac33 100644 --- a/arch/powerpc/configs/85xx-hw.config +++ b/arch/powerpc/configs/85xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 85xx CONFIG_AQUANTIA_PHY=y CONFIG_AT803X_PHY=y CONFIG_ATA=y diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.config index 3b4d1e54636d..d3525e71cb2f 100644 --- a/arch/powerpc/configs/85xx-smp.config +++ b/arch/powerpc/configs/85xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 85xx CONFIG_NR_CPUS=24 CONFIG_SMP=y diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.config index 0cb24b33c88e..7b8d9f9c3c01 100644 --- a/arch/powerpc/configs/86xx-hw.config +++ b/arch/powerpc/configs/86xx-hw.config @@ -1,3 +1,4 @@ +# Base hardware support for 86xx CONFIG_ATA=y CONFIG_BLK_DEV_SD=y CONFIG_BLK_DEV_SR=y diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.config index 40ac38d3038c..e6cd06a35624 100644 --- a/arch/powerpc/configs/86xx-smp.config +++ b/arch/powerpc/configs/86xx-smp.config @@ -1,2 +1,3 @@ +# Enable SMP on 86xx CONFIG_NR_CPUS=2 CONFIG_SMP=y diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.config index 58a697cb5a62..1c8eb9b23a7f 100644 --- a/arch/powerpc/configs/altivec.config +++ b/arch/powerpc/configs/altivec.config @@ -1 +1,2 @@ +# Enable Altivec support CONFIG_ALTIVEC=y diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.config index c5cdc99a6530..568bba8ea109 100644 --- a/arch/powerpc/configs/be.config +++ b/arch/powerpc/configs/be.config @@ -1 +1,2 @@ +# Enable Big Endian mode CONFIG_CPU_BIG_ENDIAN=y diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.config index 8721eb7b1294..a2c4ea622141 100644 --- a/arch/powerpc/configs/book3s_32.config +++ b/arch/powerpc/configs/book3s_32.config @@ -1,2 +1,3 @@ +# Base support for 32 bits Book3s CONFIG_PPC64=n CONFIG_PPC_BOOK3S_32=y diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.config index 1c40de1e764b..47bb6e25c90b 100644 --- a/arch/powerpc/configs/corenet_base.config +++ b/arch/powerpc/configs/corenet_base.config @@ -1,2 +1,3 @@ +# Base support for corenet CONFIG_CORENET_GENERIC=y CONFIG_PPC_QEMU_E500=y diff --git a/arch/powerpc/configs/debug.config b/arch/powerpc/configs/debug.config index a14ae1f20d60..223b8a2ee8ec 100644 --- a/arch/powerpc/configs/debug.config +++ b/arch/powerpc/configs/debug.config @@ -1 +1,2 @@ +# Enable PowerPC specific debug options CONFIG_SCOM_DEBUGFS=y diff --git a/arch/powerpc/configs/disable-werror.config b/arch/powerpc/configs/disable-werror.config index 6ea12a12432c..76a7847f39ce 100644 --- a/arch/powerpc/configs/disable-werror.config +++ b/arch/powerpc/configs/disable-werror.config @@ -1 +1,2 @@ +# Disable -Werror CONFIG_PPC_DISABLE_WERROR=y diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.config index 4ffacafe4036..39e00062978e 100644 --- a/arch/powerpc/configs/dpaa.config +++ b/arch/powerpc/configs/dpaa.config @@ -1,3 +1,4 @@ +# Base support for DPPA CONFIG_FSL_DPAA=y CONFIG_FSL_PAMU=y CONFIG_FSL_FMAN=y diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.config index 3009b0efaf34..d1249996cf45 100644 --- a/arch/powerpc/configs/fsl-emb-nonhw.config +++ b/arch/powerpc/configs/fsl-emb-nonhw.config @@ -1,3 +1,4 @@ +# Non-hardware options common to 85xx and corenet CONFIG_ADFS_FS=m CONFIG_AFFS_FS=m CONFIG_AUDIT=y diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.config index fece83487215..f04ababbb35a 100644 --- a/arch/powerpc/configs/guest.config +++ b/arch/powerpc/configs/guest.config @@ -1,3 +1,4 @@ +# PowerPC specific virtualization guest options CONFIG_VIRTIO_BLK=y CONFIG_SCSI_VIRTIO=y CONFIG_VIRTIO_NET=y diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.config index ee43fdb3b8f4..bcf657e1d21f 100644 --- a/arch/powerpc/configs/le.config +++ b/arch/powerpc/configs/le.config @@ -1 +1,2 @@ +# Enable Little Endian mode CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.config index a1e4d72ed39d..8c0ead988283 100644 --- a/arch/powerpc/configs/mpc85xx_base.config +++ b/arch/powerpc/configs/mpc85xx_base.config @@ -1,3 +1,4 @@ +# Base mpc85xx support CONFIG_MATH_EMULATION=y CONFIG_MPC8536_DS=y CONFIG_MPC85xx_DS=y diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.config index 632c014b122d..e591967f33d5 100644 --- a/arch/powerpc/configs/mpc86xx_base.config +++ b/arch/powerpc/configs/mpc86xx_base.config @@ -1,3 +1,4 @@ +# Base mpc86xx support CONFIG_PPC_86xx=y CONFIG_GEF_PPC9A=y CONFIG_GEF_SBC310=y diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.config index 14dca1062c1b..ac3614cd7926 100644 --- a/arch/powerpc/configs/ppc64le.config +++ b/arch/powerpc/configs/ppc64le.config @@ -1,2 +1,3 @@ +# Enable ppc64le mode CONFIG_PPC64=y CONFIG_CPU_LITTLE_ENDIAN=y diff --git a/arch/powerpc/configs/security.config b/arch/powerpc/configs/security.config index 1c91a35c6a73..f47034955d12 100644 --- a/arch/powerpc/configs/security.config +++ b/arch/powerpc/configs/security.config @@ -1,3 +1,5 @@ +# Common security options for PowerPC builds + # This is the equivalent of booting with lockdown=integrity CONFIG_SECURITY=y CONFIG_SECURITYFS=y @@ -12,4 +14,4 @@ CONFIG_INIT_ON_ALLOC_DEFAULT_ON=y # UBSAN bounds checking is very cheap and good for hardening CONFIG_UBSAN=y -# CONFIG_UBSAN_MISC is not set \ No newline at end of file +# CONFIG_UBSAN_MISC is not set diff --git a/arch/riscv/configs/32-bit.config b/arch/riscv/configs/32-bit.config index f6af0f708df4..60dfa2809b19 100644 --- a/arch/riscv/configs/32-bit.config +++ b/arch/riscv/configs/32-bit.config @@ -1,3 +1,4 @@ +# Build a 32-bit image CONFIG_ARCH_RV32I=y CONFIG_32BIT=y # CONFIG_PORTABLE is not set diff --git a/arch/riscv/configs/64-bit.config b/arch/riscv/configs/64-bit.config index 313edc554d84..31a1ad138944 100644 --- a/arch/riscv/configs/64-bit.config +++ b/arch/riscv/configs/64-bit.config @@ -1,2 +1,3 @@ +# Build a 64-bit image CONFIG_ARCH_RV64I=y CONFIG_64BIT=y diff --git a/arch/s390/configs/btf.config b/arch/s390/configs/btf.config index 39227b4511af..c69b1a370990 100644 --- a/arch/s390/configs/btf.config +++ b/arch/s390/configs/btf.config @@ -1 +1,2 @@ +# Enable BTF debug info CONFIG_DEBUG_INFO_BTF=y diff --git a/arch/s390/configs/kasan.config b/arch/s390/configs/kasan.config index 700a8b25c3ff..da2e1f28c13c 100644 --- a/arch/s390/configs/kasan.config +++ b/arch/s390/configs/kasan.config @@ -1,3 +1,4 @@ +# Enable KASan for debugging CONFIG_KASAN=y CONFIG_KASAN_INLINE=y CONFIG_KASAN_VMALLOC=y diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/arch/x86/configs/tiny.config b/arch/x86/configs/tiny.config index 66c9e2aab16c..4b75a11369e3 100644 --- a/arch/x86/configs/tiny.config +++ b/arch/x86/configs/tiny.config @@ -1,3 +1,5 @@ +# x86-specific options for a small kernel image +# CONFIG_NOHIGHMEM=y # CONFIG_HIGHMEM4G is not set # CONFIG_HIGHMEM64G is not set diff --git a/arch/x86/configs/xen.config b/arch/x86/configs/xen.config index 581296255b39..46653ec602e0 100644 --- a/arch/x86/configs/xen.config +++ b/arch/x86/configs/xen.config @@ -1,3 +1,5 @@ +# x86-specific options for a Xen virtualization guest +# # global x86 required specific stuff # On 32-bit HIGHMEM4G is not allowed CONFIG_HIGHMEM64G=y diff --git a/kernel/configs/debug.config b/kernel/configs/debug.config index e8db8d938661..874afe2cd7c0 100644 --- a/kernel/configs/debug.config +++ b/kernel/configs/debug.config @@ -1,3 +1,5 @@ +# Debugging for CI systems and finding regressions +# # The config is based on running daily CI for enterprise Linux distros to # seek regressions on linux-next builds on different bare-metal and virtual # platforms. It can be used for example, diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..3cc2810147da 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/nopm.config b/kernel/configs/nopm.config index 81ff07863576..a377c5914218 100644 --- a/kernel/configs/nopm.config +++ b/kernel/configs/nopm.config @@ -1,3 +1,5 @@ +# Disable Power Management + CONFIG_PM=n CONFIG_SUSPEND=n CONFIG_HIBERNATION=n diff --git a/kernel/configs/rust.config b/kernel/configs/rust.config index 38a7c5362c9c..941c69c161ad 100644 --- a/kernel/configs/rust.config +++ b/kernel/configs/rust.config @@ -1 +1,2 @@ +# Enable Rust CONFIG_RUST=y diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.config index 2f0e6bf6db2c..ac4d254abc3f 100644 --- a/kernel/configs/tiny-base.config +++ b/kernel/configs/tiny-base.config @@ -1 +1,2 @@ +# Minimal options for tiny systems CONFIG_EMBEDDED=y diff --git a/kernel/configs/tiny.config b/kernel/configs/tiny.config index 00009f7d0835..b27289cdc9c7 100644 --- a/kernel/configs/tiny.config +++ b/kernel/configs/tiny.config @@ -1,3 +1,5 @@ +# Size-optimized kernel image +# # CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE is not set CONFIG_CC_OPTIMIZE_FOR_SIZE=y # CONFIG_KERNEL_GZIP is not set diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..8a1129a1d59a 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..d14880177fd2 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..370ff6bba78d 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,11 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(call configfiles,$@),, $(error No configuration exists for this target on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(call configfiles,$@) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +115,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +142,13 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach c, $(sort $(notdir $(call configfiles,*.config))), \ + printf " %-25s - %s\\n" \ + $(c) \ + "$(subst # ,,$(shell grep -m1 '^# ' \ + $(firstword $(call configfiles,$c))))";) # =========================================================================== # object files used by all kconfig flavours -- 2.34.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 2/2] kbuild: Split internal config targets from .config into .fragment 2023-08-25 19:47 ` Kees Cook (?) (?) @ 2023-08-25 19:47 ` Kees Cook -1 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, x86, linuxppc-dev, linux-kbuild, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, linux-arm-kernel, linux-riscv, linux-s390, linux-hardening Many Kconfig fragments are being used internally to construct hard-coded targets and shouldn't be reachable directly through the build system. Splitting these out also means that the "help" target can display only the "complete" .config targets intended for general use. This is especially useful for powerpc where most of the arch fragments aren't intended to be consumed individually. Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-kbuild@vger.kernel.org Suggested-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/powerpc/Makefile | 26 +++++++++---------- .../{32-bit.config => 32-bit.fragment} | 0 .../{64-bit.config => 64-bit.fragment} | 0 ...{85xx-32bit.config => 85xx-32bit.fragment} | 0 ...{85xx-64bit.config => 85xx-64bit.fragment} | 0 .../{85xx-hw.config => 85xx-hw.fragment} | 0 .../{85xx-smp.config => 85xx-smp.fragment} | 0 .../{86xx-hw.config => 86xx-hw.fragment} | 0 .../{86xx-smp.config => 86xx-smp.fragment} | 0 .../{altivec.config => altivec.fragment} | 0 .../configs/{be.config => be.fragment} | 0 .../{book3s_32.config => book3s_32.fragment} | 0 ...enet_base.config => corenet_base.fragment} | 0 .../configs/{dpaa.config => dpaa.fragment} | 0 ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 0 .../configs/{guest.config => guest.fragment} | 0 .../configs/{le.config => le.fragment} | 0 ...85xx_base.config => mpc85xx_base.fragment} | 0 ...86xx_base.config => mpc86xx_base.fragment} | 0 .../{ppc64le.config => ppc64le.fragment} | 0 {kernel => arch/x86}/configs/x86_debug.config | 0 .../{tiny-base.config => tiny-base.fragment} | 0 scripts/Makefile.defconf | 12 ++++++--- scripts/kconfig/Makefile | 2 +- 24 files changed, 22 insertions(+), 18 deletions(-) rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (100%) rename arch/powerpc/configs/{64-bit.config => 64-bit.fragment} (100%) rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (100%) rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (100%) rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (100%) rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (100%) rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (100%) rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (100%) rename arch/powerpc/configs/{altivec.config => altivec.fragment} (100%) rename arch/powerpc/configs/{be.config => be.fragment} (100%) rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (100%) rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (100%) rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (100%) rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (100%) rename arch/powerpc/configs/{guest.config => guest.fragment} (100%) rename arch/powerpc/configs/{le.config => le.fragment} (100%) rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (100%) rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (100%) rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (100%) rename {kernel => arch/x86}/configs/x86_debug.config (100%) rename kernel/configs/{tiny-base.config => tiny-base.fragment} (100%) diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index dac7ca153886..b73f2b40a0bc 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -267,66 +267,66 @@ powernv_be_defconfig: generated_configs += mpc85xx_defconfig mpc85xx_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-hw fsl-emb-nonhw) generated_configs += mpc85xx_smp_defconfig mpc85xx_smp_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw) generated_configs += corenet32_smp_defconfig corenet32_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw dpaa) generated_configs += corenet64_smp_defconfig corenet64_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw dpaa) generated_configs += mpc86xx_defconfig mpc86xx_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-hw fsl-emb-nonhw) generated_configs += mpc86xx_smp_defconfig mpc86xx_smp_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-smp 86xx-hw fsl-emb-nonhw) generated_configs += ppc32_allmodconfig ppc32_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc_defconfig ppc_defconfig: - $(call merge_into_defconfig,book3s_32.config,) + $(call merge_into_defconfig,book3s_32.fragment,) generated_configs += ppc64le_allmodconfig ppc64le_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc64le_allnoconfig ppc64le_allnoconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.fragment \ -f $(srctree)/Makefile allnoconfig generated_configs += ppc64_book3e_allmodconfig ppc64_book3e_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc32_randconfig ppc32_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.fragment \ -f $(srctree)/Makefile randconfig generated_configs += ppc64_randconfig ppc64_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.fragment \ -f $(srctree)/Makefile randconfig PHONY += $(generated_configs) diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.fragment similarity index 100% rename from arch/powerpc/configs/32-bit.config rename to arch/powerpc/configs/32-bit.fragment diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.fragment similarity index 100% rename from arch/powerpc/configs/64-bit.config rename to arch/powerpc/configs/64-bit.fragment diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-32bit.config rename to arch/powerpc/configs/85xx-32bit.fragment diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-64bit.config rename to arch/powerpc/configs/85xx-64bit.fragment diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/85xx-hw.config rename to arch/powerpc/configs/85xx-hw.fragment diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/85xx-smp.config rename to arch/powerpc/configs/85xx-smp.fragment diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/86xx-hw.config rename to arch/powerpc/configs/86xx-hw.fragment diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/86xx-smp.config rename to arch/powerpc/configs/86xx-smp.fragment diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.fragment similarity index 100% rename from arch/powerpc/configs/altivec.config rename to arch/powerpc/configs/altivec.fragment diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.fragment similarity index 100% rename from arch/powerpc/configs/be.config rename to arch/powerpc/configs/be.fragment diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.fragment similarity index 100% rename from arch/powerpc/configs/book3s_32.config rename to arch/powerpc/configs/book3s_32.fragment diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.fragment similarity index 100% rename from arch/powerpc/configs/corenet_base.config rename to arch/powerpc/configs/corenet_base.fragment diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.fragment similarity index 100% rename from arch/powerpc/configs/dpaa.config rename to arch/powerpc/configs/dpaa.fragment diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.fragment similarity index 100% rename from arch/powerpc/configs/fsl-emb-nonhw.config rename to arch/powerpc/configs/fsl-emb-nonhw.fragment diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.fragment similarity index 100% rename from arch/powerpc/configs/guest.config rename to arch/powerpc/configs/guest.fragment diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.fragment similarity index 100% rename from arch/powerpc/configs/le.config rename to arch/powerpc/configs/le.fragment diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc85xx_base.config rename to arch/powerpc/configs/mpc85xx_base.fragment diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc86xx_base.config rename to arch/powerpc/configs/mpc86xx_base.fragment diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.fragment similarity index 100% rename from arch/powerpc/configs/ppc64le.config rename to arch/powerpc/configs/ppc64le.fragment diff --git a/kernel/configs/x86_debug.config b/arch/x86/configs/x86_debug.config similarity index 100% rename from kernel/configs/x86_debug.config rename to arch/x86/configs/x86_debug.config diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.fragment similarity index 100% rename from kernel/configs/tiny-base.config rename to kernel/configs/tiny-base.fragment diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf index ab271b2051a2..46d0ecdda391 100644 --- a/scripts/Makefile.defconf +++ b/scripts/Makefile.defconf @@ -6,11 +6,13 @@ # Usage: # $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef @@ -20,10 +22,12 @@ endef # Usage: # $(call merge_into_defconfig_override,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig_override $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -Q -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 370ff6bba78d..a03388eb735f 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -102,7 +102,7 @@ configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH) PHONY += tinyconfig tinyconfig: - $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.config $(MAKE) -f $(srctree)/Makefile allnoconfig + $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.fragment $(MAKE) -f $(srctree)/Makefile allnoconfig $(Q)$(MAKE) -f $(srctree)/Makefile tiny.config # CHECK: -o cache_dir=<path> working? -- 2.34.1 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 2/2] kbuild: Split internal config targets from .config into .fragment @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, x86, linuxppc-dev, linux-kbuild, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, linux-arm-kernel, linux-riscv, linux-s390, linux-hardening Many Kconfig fragments are being used internally to construct hard-coded targets and shouldn't be reachable directly through the build system. Splitting these out also means that the "help" target can display only the "complete" .config targets intended for general use. This is especially useful for powerpc where most of the arch fragments aren't intended to be consumed individually. Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-kbuild@vger.kernel.org Suggested-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/powerpc/Makefile | 26 +++++++++---------- .../{32-bit.config => 32-bit.fragment} | 0 .../{64-bit.config => 64-bit.fragment} | 0 ...{85xx-32bit.config => 85xx-32bit.fragment} | 0 ...{85xx-64bit.config => 85xx-64bit.fragment} | 0 .../{85xx-hw.config => 85xx-hw.fragment} | 0 .../{85xx-smp.config => 85xx-smp.fragment} | 0 .../{86xx-hw.config => 86xx-hw.fragment} | 0 .../{86xx-smp.config => 86xx-smp.fragment} | 0 .../{altivec.config => altivec.fragment} | 0 .../configs/{be.config => be.fragment} | 0 .../{book3s_32.config => book3s_32.fragment} | 0 ...enet_base.config => corenet_base.fragment} | 0 .../configs/{dpaa.config => dpaa.fragment} | 0 ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 0 .../configs/{guest.config => guest.fragment} | 0 .../configs/{le.config => le.fragment} | 0 ...85xx_base.config => mpc85xx_base.fragment} | 0 ...86xx_base.config => mpc86xx_base.fragment} | 0 .../{ppc64le.config => ppc64le.fragment} | 0 {kernel => arch/x86}/configs/x86_debug.config | 0 .../{tiny-base.config => tiny-base.fragment} | 0 scripts/Makefile.defconf | 12 ++++++--- scripts/kconfig/Makefile | 2 +- 24 files changed, 22 insertions(+), 18 deletions(-) rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (100%) rename arch/powerpc/configs/{64-bit.config => 64-bit.fragment} (100%) rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (100%) rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (100%) rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (100%) rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (100%) rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (100%) rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (100%) rename arch/powerpc/configs/{altivec.config => altivec.fragment} (100%) rename arch/powerpc/configs/{be.config => be.fragment} (100%) rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (100%) rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (100%) rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (100%) rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (100%) rename arch/powerpc/configs/{guest.config => guest.fragment} (100%) rename arch/powerpc/configs/{le.config => le.fragment} (100%) rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (100%) rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (100%) rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (100%) rename {kernel => arch/x86}/configs/x86_debug.config (100%) rename kernel/configs/{tiny-base.config => tiny-base.fragment} (100%) diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index dac7ca153886..b73f2b40a0bc 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -267,66 +267,66 @@ powernv_be_defconfig: generated_configs += mpc85xx_defconfig mpc85xx_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-hw fsl-emb-nonhw) generated_configs += mpc85xx_smp_defconfig mpc85xx_smp_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw) generated_configs += corenet32_smp_defconfig corenet32_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw dpaa) generated_configs += corenet64_smp_defconfig corenet64_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw dpaa) generated_configs += mpc86xx_defconfig mpc86xx_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-hw fsl-emb-nonhw) generated_configs += mpc86xx_smp_defconfig mpc86xx_smp_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-smp 86xx-hw fsl-emb-nonhw) generated_configs += ppc32_allmodconfig ppc32_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc_defconfig ppc_defconfig: - $(call merge_into_defconfig,book3s_32.config,) + $(call merge_into_defconfig,book3s_32.fragment,) generated_configs += ppc64le_allmodconfig ppc64le_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc64le_allnoconfig ppc64le_allnoconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.fragment \ -f $(srctree)/Makefile allnoconfig generated_configs += ppc64_book3e_allmodconfig ppc64_book3e_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc32_randconfig ppc32_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.fragment \ -f $(srctree)/Makefile randconfig generated_configs += ppc64_randconfig ppc64_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.fragment \ -f $(srctree)/Makefile randconfig PHONY += $(generated_configs) diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.fragment similarity index 100% rename from arch/powerpc/configs/32-bit.config rename to arch/powerpc/configs/32-bit.fragment diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.fragment similarity index 100% rename from arch/powerpc/configs/64-bit.config rename to arch/powerpc/configs/64-bit.fragment diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-32bit.config rename to arch/powerpc/configs/85xx-32bit.fragment diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-64bit.config rename to arch/powerpc/configs/85xx-64bit.fragment diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/85xx-hw.config rename to arch/powerpc/configs/85xx-hw.fragment diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/85xx-smp.config rename to arch/powerpc/configs/85xx-smp.fragment diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/86xx-hw.config rename to arch/powerpc/configs/86xx-hw.fragment diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/86xx-smp.config rename to arch/powerpc/configs/86xx-smp.fragment diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.fragment similarity index 100% rename from arch/powerpc/configs/altivec.config rename to arch/powerpc/configs/altivec.fragment diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.fragment similarity index 100% rename from arch/powerpc/configs/be.config rename to arch/powerpc/configs/be.fragment diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.fragment similarity index 100% rename from arch/powerpc/configs/book3s_32.config rename to arch/powerpc/configs/book3s_32.fragment diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.fragment similarity index 100% rename from arch/powerpc/configs/corenet_base.config rename to arch/powerpc/configs/corenet_base.fragment diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.fragment similarity index 100% rename from arch/powerpc/configs/dpaa.config rename to arch/powerpc/configs/dpaa.fragment diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.fragment similarity index 100% rename from arch/powerpc/configs/fsl-emb-nonhw.config rename to arch/powerpc/configs/fsl-emb-nonhw.fragment diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.fragment similarity index 100% rename from arch/powerpc/configs/guest.config rename to arch/powerpc/configs/guest.fragment diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.fragment similarity index 100% rename from arch/powerpc/configs/le.config rename to arch/powerpc/configs/le.fragment diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc85xx_base.config rename to arch/powerpc/configs/mpc85xx_base.fragment diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc86xx_base.config rename to arch/powerpc/configs/mpc86xx_base.fragment diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.fragment similarity index 100% rename from arch/powerpc/configs/ppc64le.config rename to arch/powerpc/configs/ppc64le.fragment diff --git a/kernel/configs/x86_debug.config b/arch/x86/configs/x86_debug.config similarity index 100% rename from kernel/configs/x86_debug.config rename to arch/x86/configs/x86_debug.config diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.fragment similarity index 100% rename from kernel/configs/tiny-base.config rename to kernel/configs/tiny-base.fragment diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf index ab271b2051a2..46d0ecdda391 100644 --- a/scripts/Makefile.defconf +++ b/scripts/Makefile.defconf @@ -6,11 +6,13 @@ # Usage: # $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef @@ -20,10 +22,12 @@ endef # Usage: # $(call merge_into_defconfig_override,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig_override $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -Q -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 370ff6bba78d..a03388eb735f 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -102,7 +102,7 @@ configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH) PHONY += tinyconfig tinyconfig: - $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.config $(MAKE) -f $(srctree)/Makefile allnoconfig + $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.fragment $(MAKE) -f $(srctree)/Makefile allnoconfig $(Q)$(MAKE) -f $(srctree)/Makefile tiny.config # CHECK: -o cache_dir=<path> working? -- 2.34.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 2/2] kbuild: Split internal config targets from .config into .fragment @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: linux-s390, Randy Dunlap, Kees Cook, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel, Nicolas Schier Many Kconfig fragments are being used internally to construct hard-coded targets and shouldn't be reachable directly through the build system. Splitting these out also means that the "help" target can display only the "complete" .config targets intended for general use. This is especially useful for powerpc where most of the arch fragments aren't intended to be consumed individually. Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-kbuild@vger.kernel.org Suggested-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/powerpc/Makefile | 26 +++++++++---------- .../{32-bit.config => 32-bit.fragment} | 0 .../{64-bit.config => 64-bit.fragment} | 0 ...{85xx-32bit.config => 85xx-32bit.fragment} | 0 ...{85xx-64bit.config => 85xx-64bit.fragment} | 0 .../{85xx-hw.config => 85xx-hw.fragment} | 0 .../{85xx-smp.config => 85xx-smp.fragment} | 0 .../{86xx-hw.config => 86xx-hw.fragment} | 0 .../{86xx-smp.config => 86xx-smp.fragment} | 0 .../{altivec.config => altivec.fragment} | 0 .../configs/{be.config => be.fragment} | 0 .../{book3s_32.config => book3s_32.fragment} | 0 ...enet_base.config => corenet_base.fragment} | 0 .../configs/{dpaa.config => dpaa.fragment} | 0 ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 0 .../configs/{guest.config => guest.fragment} | 0 .../configs/{le.config => le.fragment} | 0 ...85xx_base.config => mpc85xx_base.fragment} | 0 ...86xx_base.config => mpc86xx_base.fragment} | 0 .../{ppc64le.config => ppc64le.fragment} | 0 {kernel => arch/x86}/configs/x86_debug.config | 0 .../{tiny-base.config => tiny-base.fragment} | 0 scripts/Makefile.defconf | 12 ++++++--- scripts/kconfig/Makefile | 2 +- 24 files changed, 22 insertions(+), 18 deletions(-) rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (100%) rename arch/powerpc/configs/{64-bit.config => 64-bit.fragment} (100%) rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (100%) rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (100%) rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (100%) rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (100%) rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (100%) rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (100%) rename arch/powerpc/configs/{altivec.config => altivec.fragment} (100%) rename arch/powerpc/configs/{be.config => be.fragment} (100%) rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (100%) rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (100%) rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (100%) rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (100%) rename arch/powerpc/configs/{guest.config => guest.fragment} (100%) rename arch/powerpc/configs/{le.config => le.fragment} (100%) rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (100%) rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (100%) rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (100%) rename {kernel => arch/x86}/configs/x86_debug.config (100%) rename kernel/configs/{tiny-base.config => tiny-base.fragment} (100%) diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index dac7ca153886..b73f2b40a0bc 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -267,66 +267,66 @@ powernv_be_defconfig: generated_configs += mpc85xx_defconfig mpc85xx_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-hw fsl-emb-nonhw) generated_configs += mpc85xx_smp_defconfig mpc85xx_smp_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw) generated_configs += corenet32_smp_defconfig corenet32_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw dpaa) generated_configs += corenet64_smp_defconfig corenet64_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw dpaa) generated_configs += mpc86xx_defconfig mpc86xx_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-hw fsl-emb-nonhw) generated_configs += mpc86xx_smp_defconfig mpc86xx_smp_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-smp 86xx-hw fsl-emb-nonhw) generated_configs += ppc32_allmodconfig ppc32_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc_defconfig ppc_defconfig: - $(call merge_into_defconfig,book3s_32.config,) + $(call merge_into_defconfig,book3s_32.fragment,) generated_configs += ppc64le_allmodconfig ppc64le_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc64le_allnoconfig ppc64le_allnoconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.fragment \ -f $(srctree)/Makefile allnoconfig generated_configs += ppc64_book3e_allmodconfig ppc64_book3e_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc32_randconfig ppc32_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.fragment \ -f $(srctree)/Makefile randconfig generated_configs += ppc64_randconfig ppc64_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.fragment \ -f $(srctree)/Makefile randconfig PHONY += $(generated_configs) diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.fragment similarity index 100% rename from arch/powerpc/configs/32-bit.config rename to arch/powerpc/configs/32-bit.fragment diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.fragment similarity index 100% rename from arch/powerpc/configs/64-bit.config rename to arch/powerpc/configs/64-bit.fragment diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-32bit.config rename to arch/powerpc/configs/85xx-32bit.fragment diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-64bit.config rename to arch/powerpc/configs/85xx-64bit.fragment diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/85xx-hw.config rename to arch/powerpc/configs/85xx-hw.fragment diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/85xx-smp.config rename to arch/powerpc/configs/85xx-smp.fragment diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/86xx-hw.config rename to arch/powerpc/configs/86xx-hw.fragment diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/86xx-smp.config rename to arch/powerpc/configs/86xx-smp.fragment diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.fragment similarity index 100% rename from arch/powerpc/configs/altivec.config rename to arch/powerpc/configs/altivec.fragment diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.fragment similarity index 100% rename from arch/powerpc/configs/be.config rename to arch/powerpc/configs/be.fragment diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.fragment similarity index 100% rename from arch/powerpc/configs/book3s_32.config rename to arch/powerpc/configs/book3s_32.fragment diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.fragment similarity index 100% rename from arch/powerpc/configs/corenet_base.config rename to arch/powerpc/configs/corenet_base.fragment diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.fragment similarity index 100% rename from arch/powerpc/configs/dpaa.config rename to arch/powerpc/configs/dpaa.fragment diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.fragment similarity index 100% rename from arch/powerpc/configs/fsl-emb-nonhw.config rename to arch/powerpc/configs/fsl-emb-nonhw.fragment diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.fragment similarity index 100% rename from arch/powerpc/configs/guest.config rename to arch/powerpc/configs/guest.fragment diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.fragment similarity index 100% rename from arch/powerpc/configs/le.config rename to arch/powerpc/configs/le.fragment diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc85xx_base.config rename to arch/powerpc/configs/mpc85xx_base.fragment diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc86xx_base.config rename to arch/powerpc/configs/mpc86xx_base.fragment diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.fragment similarity index 100% rename from arch/powerpc/configs/ppc64le.config rename to arch/powerpc/configs/ppc64le.fragment diff --git a/kernel/configs/x86_debug.config b/arch/x86/configs/x86_debug.config similarity index 100% rename from kernel/configs/x86_debug.config rename to arch/x86/configs/x86_debug.config diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.fragment similarity index 100% rename from kernel/configs/tiny-base.config rename to kernel/configs/tiny-base.fragment diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf index ab271b2051a2..46d0ecdda391 100644 --- a/scripts/Makefile.defconf +++ b/scripts/Makefile.defconf @@ -6,11 +6,13 @@ # Usage: # $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef @@ -20,10 +22,12 @@ endef # Usage: # $(call merge_into_defconfig_override,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig_override $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -Q -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 370ff6bba78d..a03388eb735f 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -102,7 +102,7 @@ configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH) PHONY += tinyconfig tinyconfig: - $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.config $(MAKE) -f $(srctree)/Makefile allnoconfig + $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.fragment $(MAKE) -f $(srctree)/Makefile allnoconfig $(Q)$(MAKE) -f $(srctree)/Makefile tiny.config # CHECK: -o cache_dir=<path> working? -- 2.34.1 ^ permalink raw reply related [flat|nested] 40+ messages in thread
* [PATCH v2 2/2] kbuild: Split internal config targets from .config into .fragment @ 2023-08-25 19:47 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-25 19:47 UTC (permalink / raw) To: Masahiro Yamada Cc: Kees Cook, x86, linuxppc-dev, linux-kbuild, Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, linux-arm-kernel, linux-riscv, linux-s390, linux-hardening Many Kconfig fragments are being used internally to construct hard-coded targets and shouldn't be reachable directly through the build system. Splitting these out also means that the "help" target can display only the "complete" .config targets intended for general use. This is especially useful for powerpc where most of the arch fragments aren't intended to be consumed individually. Cc: Masahiro Yamada <masahiroy@kernel.org> Cc: x86@kernel.org Cc: linuxppc-dev@lists.ozlabs.org Cc: linux-kbuild@vger.kernel.org Suggested-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: Kees Cook <keescook@chromium.org> --- arch/powerpc/Makefile | 26 +++++++++---------- .../{32-bit.config => 32-bit.fragment} | 0 .../{64-bit.config => 64-bit.fragment} | 0 ...{85xx-32bit.config => 85xx-32bit.fragment} | 0 ...{85xx-64bit.config => 85xx-64bit.fragment} | 0 .../{85xx-hw.config => 85xx-hw.fragment} | 0 .../{85xx-smp.config => 85xx-smp.fragment} | 0 .../{86xx-hw.config => 86xx-hw.fragment} | 0 .../{86xx-smp.config => 86xx-smp.fragment} | 0 .../{altivec.config => altivec.fragment} | 0 .../configs/{be.config => be.fragment} | 0 .../{book3s_32.config => book3s_32.fragment} | 0 ...enet_base.config => corenet_base.fragment} | 0 .../configs/{dpaa.config => dpaa.fragment} | 0 ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 0 .../configs/{guest.config => guest.fragment} | 0 .../configs/{le.config => le.fragment} | 0 ...85xx_base.config => mpc85xx_base.fragment} | 0 ...86xx_base.config => mpc86xx_base.fragment} | 0 .../{ppc64le.config => ppc64le.fragment} | 0 {kernel => arch/x86}/configs/x86_debug.config | 0 .../{tiny-base.config => tiny-base.fragment} | 0 scripts/Makefile.defconf | 12 ++++++--- scripts/kconfig/Makefile | 2 +- 24 files changed, 22 insertions(+), 18 deletions(-) rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (100%) rename arch/powerpc/configs/{64-bit.config => 64-bit.fragment} (100%) rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (100%) rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (100%) rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (100%) rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (100%) rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (100%) rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (100%) rename arch/powerpc/configs/{altivec.config => altivec.fragment} (100%) rename arch/powerpc/configs/{be.config => be.fragment} (100%) rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (100%) rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (100%) rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (100%) rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (100%) rename arch/powerpc/configs/{guest.config => guest.fragment} (100%) rename arch/powerpc/configs/{le.config => le.fragment} (100%) rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (100%) rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (100%) rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (100%) rename {kernel => arch/x86}/configs/x86_debug.config (100%) rename kernel/configs/{tiny-base.config => tiny-base.fragment} (100%) diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index dac7ca153886..b73f2b40a0bc 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -267,66 +267,66 @@ powernv_be_defconfig: generated_configs += mpc85xx_defconfig mpc85xx_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-hw fsl-emb-nonhw) generated_configs += mpc85xx_smp_defconfig mpc85xx_smp_defconfig: - $(call merge_into_defconfig,mpc85xx_base.config,\ + $(call merge_into_defconfig,mpc85xx_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw) generated_configs += corenet32_smp_defconfig corenet32_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-32bit 85xx-smp 85xx-hw fsl-emb-nonhw dpaa) generated_configs += corenet64_smp_defconfig corenet64_smp_defconfig: - $(call merge_into_defconfig,corenet_base.config,\ + $(call merge_into_defconfig,corenet_base.fragment,\ 85xx-64bit 85xx-smp altivec 85xx-hw fsl-emb-nonhw dpaa) generated_configs += mpc86xx_defconfig mpc86xx_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-hw fsl-emb-nonhw) generated_configs += mpc86xx_smp_defconfig mpc86xx_smp_defconfig: - $(call merge_into_defconfig,mpc86xx_base.config,\ + $(call merge_into_defconfig,mpc86xx_base.fragment,\ 86xx-smp 86xx-hw fsl-emb-nonhw) generated_configs += ppc32_allmodconfig ppc32_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc_defconfig ppc_defconfig: - $(call merge_into_defconfig,book3s_32.config,) + $(call merge_into_defconfig,book3s_32.fragment,) generated_configs += ppc64le_allmodconfig ppc64le_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/le.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc64le_allnoconfig ppc64le_allnoconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/ppc64le.fragment \ -f $(srctree)/Makefile allnoconfig generated_configs += ppc64_book3e_allmodconfig ppc64_book3e_allmodconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/85xx-64bit.fragment \ -f $(srctree)/Makefile allmodconfig generated_configs += ppc32_randconfig ppc32_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/32-bit.fragment \ -f $(srctree)/Makefile randconfig generated_configs += ppc64_randconfig ppc64_randconfig: - $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.config \ + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/64-bit.fragment \ -f $(srctree)/Makefile randconfig PHONY += $(generated_configs) diff --git a/arch/powerpc/configs/32-bit.config b/arch/powerpc/configs/32-bit.fragment similarity index 100% rename from arch/powerpc/configs/32-bit.config rename to arch/powerpc/configs/32-bit.fragment diff --git a/arch/powerpc/configs/64-bit.config b/arch/powerpc/configs/64-bit.fragment similarity index 100% rename from arch/powerpc/configs/64-bit.config rename to arch/powerpc/configs/64-bit.fragment diff --git a/arch/powerpc/configs/85xx-32bit.config b/arch/powerpc/configs/85xx-32bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-32bit.config rename to arch/powerpc/configs/85xx-32bit.fragment diff --git a/arch/powerpc/configs/85xx-64bit.config b/arch/powerpc/configs/85xx-64bit.fragment similarity index 100% rename from arch/powerpc/configs/85xx-64bit.config rename to arch/powerpc/configs/85xx-64bit.fragment diff --git a/arch/powerpc/configs/85xx-hw.config b/arch/powerpc/configs/85xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/85xx-hw.config rename to arch/powerpc/configs/85xx-hw.fragment diff --git a/arch/powerpc/configs/85xx-smp.config b/arch/powerpc/configs/85xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/85xx-smp.config rename to arch/powerpc/configs/85xx-smp.fragment diff --git a/arch/powerpc/configs/86xx-hw.config b/arch/powerpc/configs/86xx-hw.fragment similarity index 100% rename from arch/powerpc/configs/86xx-hw.config rename to arch/powerpc/configs/86xx-hw.fragment diff --git a/arch/powerpc/configs/86xx-smp.config b/arch/powerpc/configs/86xx-smp.fragment similarity index 100% rename from arch/powerpc/configs/86xx-smp.config rename to arch/powerpc/configs/86xx-smp.fragment diff --git a/arch/powerpc/configs/altivec.config b/arch/powerpc/configs/altivec.fragment similarity index 100% rename from arch/powerpc/configs/altivec.config rename to arch/powerpc/configs/altivec.fragment diff --git a/arch/powerpc/configs/be.config b/arch/powerpc/configs/be.fragment similarity index 100% rename from arch/powerpc/configs/be.config rename to arch/powerpc/configs/be.fragment diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.fragment similarity index 100% rename from arch/powerpc/configs/book3s_32.config rename to arch/powerpc/configs/book3s_32.fragment diff --git a/arch/powerpc/configs/corenet_base.config b/arch/powerpc/configs/corenet_base.fragment similarity index 100% rename from arch/powerpc/configs/corenet_base.config rename to arch/powerpc/configs/corenet_base.fragment diff --git a/arch/powerpc/configs/dpaa.config b/arch/powerpc/configs/dpaa.fragment similarity index 100% rename from arch/powerpc/configs/dpaa.config rename to arch/powerpc/configs/dpaa.fragment diff --git a/arch/powerpc/configs/fsl-emb-nonhw.config b/arch/powerpc/configs/fsl-emb-nonhw.fragment similarity index 100% rename from arch/powerpc/configs/fsl-emb-nonhw.config rename to arch/powerpc/configs/fsl-emb-nonhw.fragment diff --git a/arch/powerpc/configs/guest.config b/arch/powerpc/configs/guest.fragment similarity index 100% rename from arch/powerpc/configs/guest.config rename to arch/powerpc/configs/guest.fragment diff --git a/arch/powerpc/configs/le.config b/arch/powerpc/configs/le.fragment similarity index 100% rename from arch/powerpc/configs/le.config rename to arch/powerpc/configs/le.fragment diff --git a/arch/powerpc/configs/mpc85xx_base.config b/arch/powerpc/configs/mpc85xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc85xx_base.config rename to arch/powerpc/configs/mpc85xx_base.fragment diff --git a/arch/powerpc/configs/mpc86xx_base.config b/arch/powerpc/configs/mpc86xx_base.fragment similarity index 100% rename from arch/powerpc/configs/mpc86xx_base.config rename to arch/powerpc/configs/mpc86xx_base.fragment diff --git a/arch/powerpc/configs/ppc64le.config b/arch/powerpc/configs/ppc64le.fragment similarity index 100% rename from arch/powerpc/configs/ppc64le.config rename to arch/powerpc/configs/ppc64le.fragment diff --git a/kernel/configs/x86_debug.config b/arch/x86/configs/x86_debug.config similarity index 100% rename from kernel/configs/x86_debug.config rename to arch/x86/configs/x86_debug.config diff --git a/kernel/configs/tiny-base.config b/kernel/configs/tiny-base.fragment similarity index 100% rename from kernel/configs/tiny-base.config rename to kernel/configs/tiny-base.fragment diff --git a/scripts/Makefile.defconf b/scripts/Makefile.defconf index ab271b2051a2..46d0ecdda391 100644 --- a/scripts/Makefile.defconf +++ b/scripts/Makefile.defconf @@ -6,11 +6,13 @@ # Usage: # $(call merge_into_defconfig,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef @@ -20,10 +22,12 @@ endef # Usage: # $(call merge_into_defconfig_override,base_config,config_fragment1 config_fragment2 ...) # -# Input config fragments without '.config' suffix +# Input config fragments without '.config' or '.fragment' suffix define merge_into_defconfig_override $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh \ -Q -m -O $(objtree) $(srctree)/arch/$(ARCH)/configs/$(1) \ - $(foreach config,$(2),$(srctree)/arch/$(ARCH)/configs/$(config).config) + $(foreach config,$(2), \ + $(wildcard $(srctree)/arch/$(ARCH)/configs/$(config).config \ + $(srctree)/arch/$(ARCH)/configs/$(config).fragment)) +$(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig endef diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index 370ff6bba78d..a03388eb735f 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -102,7 +102,7 @@ configfiles=$(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH) PHONY += tinyconfig tinyconfig: - $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.config $(MAKE) -f $(srctree)/Makefile allnoconfig + $(Q)KCONFIG_ALLCONFIG=kernel/configs/tiny-base.fragment $(MAKE) -f $(srctree)/Makefile allnoconfig $(Q)$(MAKE) -f $(srctree)/Makefile tiny.config # CHECK: -o cache_dir=<path> working? -- 2.34.1 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" 2023-08-25 19:47 ` Kees Cook (?) (?) @ 2023-08-28 1:03 ` Masahiro Yamada -1 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-28 1:03 UTC (permalink / raw) To: Kees Cook Cc: Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > Hi, > > This is my series to show *.config targets in the "help" target so these > various topics can be more easily discoverd. > > v2: > - split .fragment from .config to hide "internal" fragments Please do not do this churn. Like Randy, I did not get "why" part quiet well, but if you are eager about this, you can show help message only when the following ("# Help:" prefix for example) is found in the first line. # Help: blah blah # other comment > - fix various typos > - avoid duplicate entries > v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org > > Thanks! > > -Kees > > Kees Cook (2): > kbuild: Show Kconfig fragments in "help" > kbuild: Split internal config targets from .config into .fragment > > Makefile | 1 - > arch/arm/configs/dram_0x00000000.config | 1 + > arch/arm/configs/dram_0xc0000000.config | 1 + > arch/arm/configs/dram_0xd0000000.config | 1 + > arch/arm/configs/lpae.config | 1 + > arch/arm64/configs/virt.config | 1 + > arch/powerpc/Makefile | 26 +++++++++---------- > .../{32-bit.config => 32-bit.fragment} | 1 + > arch/powerpc/configs/64-bit.config | 1 - > arch/powerpc/configs/64-bit.fragment | 2 ++ > ...{85xx-32bit.config => 85xx-32bit.fragment} | 1 + > ...{85xx-64bit.config => 85xx-64bit.fragment} | 1 + > .../{85xx-hw.config => 85xx-hw.fragment} | 1 + > .../{85xx-smp.config => 85xx-smp.fragment} | 1 + > .../{86xx-hw.config => 86xx-hw.fragment} | 1 + > .../{86xx-smp.config => 86xx-smp.fragment} | 1 + > arch/powerpc/configs/altivec.config | 1 - > arch/powerpc/configs/altivec.fragment | 2 ++ > arch/powerpc/configs/be.config | 1 - > arch/powerpc/configs/be.fragment | 2 ++ > .../{book3s_32.config => book3s_32.fragment} | 1 + > ...enet_base.config => corenet_base.fragment} | 1 + > arch/powerpc/configs/debug.config | 1 + > arch/powerpc/configs/disable-werror.config | 1 + > .../configs/{dpaa.config => dpaa.fragment} | 1 + > ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 + > .../configs/{guest.config => guest.fragment} | 1 + > arch/powerpc/configs/le.config | 1 - > arch/powerpc/configs/le.fragment | 2 ++ > ...85xx_base.config => mpc85xx_base.fragment} | 1 + > ...86xx_base.config => mpc86xx_base.fragment} | 1 + > .../{ppc64le.config => ppc64le.fragment} | 1 + > arch/powerpc/configs/security.config | 4 ++- > arch/riscv/configs/32-bit.config | 1 + > arch/riscv/configs/64-bit.config | 1 + > arch/s390/configs/btf.config | 1 + > arch/s390/configs/kasan.config | 1 + > arch/x86/Makefile | 4 --- > arch/x86/configs/tiny.config | 2 ++ > {kernel => arch/x86}/configs/x86_debug.config | 1 + > arch/x86/configs/xen.config | 2 ++ > kernel/configs/debug.config | 2 ++ > kernel/configs/kvm_guest.config | 1 + > kernel/configs/nopm.config | 2 ++ > kernel/configs/rust.config | 1 + > kernel/configs/tiny-base.config | 1 - > kernel/configs/tiny-base.fragment | 2 ++ > kernel/configs/tiny.config | 2 ++ > kernel/configs/xen.config | 2 ++ > scripts/Makefile.defconf | 12 ++++++--- > scripts/kconfig/Makefile | 16 +++++++++--- > 51 files changed, 87 insertions(+), 32 deletions(-) > rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%) > delete mode 100644 arch/powerpc/configs/64-bit.config > create mode 100644 arch/powerpc/configs/64-bit.fragment > rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%) > rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%) > rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%) > rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%) > rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%) > rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%) > delete mode 100644 arch/powerpc/configs/altivec.config > create mode 100644 arch/powerpc/configs/altivec.fragment > delete mode 100644 arch/powerpc/configs/be.config > create mode 100644 arch/powerpc/configs/be.fragment > rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%) > rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%) > rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%) > rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%) > rename arch/powerpc/configs/{guest.config => guest.fragment} (85%) > delete mode 100644 arch/powerpc/configs/le.config > create mode 100644 arch/powerpc/configs/le.fragment > rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%) > rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%) > rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%) > rename {kernel => arch/x86}/configs/x86_debug.config (90%) > delete mode 100644 kernel/configs/tiny-base.config > create mode 100644 kernel/configs/tiny-base.fragment > > -- > 2.34.1 > -- Best Regards Masahiro Yamada ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-28 1:03 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-28 1:03 UTC (permalink / raw) To: Kees Cook Cc: Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > Hi, > > This is my series to show *.config targets in the "help" target so these > various topics can be more easily discoverd. > > v2: > - split .fragment from .config to hide "internal" fragments Please do not do this churn. Like Randy, I did not get "why" part quiet well, but if you are eager about this, you can show help message only when the following ("# Help:" prefix for example) is found in the first line. # Help: blah blah # other comment > - fix various typos > - avoid duplicate entries > v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org > > Thanks! > > -Kees > > Kees Cook (2): > kbuild: Show Kconfig fragments in "help" > kbuild: Split internal config targets from .config into .fragment > > Makefile | 1 - > arch/arm/configs/dram_0x00000000.config | 1 + > arch/arm/configs/dram_0xc0000000.config | 1 + > arch/arm/configs/dram_0xd0000000.config | 1 + > arch/arm/configs/lpae.config | 1 + > arch/arm64/configs/virt.config | 1 + > arch/powerpc/Makefile | 26 +++++++++---------- > .../{32-bit.config => 32-bit.fragment} | 1 + > arch/powerpc/configs/64-bit.config | 1 - > arch/powerpc/configs/64-bit.fragment | 2 ++ > ...{85xx-32bit.config => 85xx-32bit.fragment} | 1 + > ...{85xx-64bit.config => 85xx-64bit.fragment} | 1 + > .../{85xx-hw.config => 85xx-hw.fragment} | 1 + > .../{85xx-smp.config => 85xx-smp.fragment} | 1 + > .../{86xx-hw.config => 86xx-hw.fragment} | 1 + > .../{86xx-smp.config => 86xx-smp.fragment} | 1 + > arch/powerpc/configs/altivec.config | 1 - > arch/powerpc/configs/altivec.fragment | 2 ++ > arch/powerpc/configs/be.config | 1 - > arch/powerpc/configs/be.fragment | 2 ++ > .../{book3s_32.config => book3s_32.fragment} | 1 + > ...enet_base.config => corenet_base.fragment} | 1 + > arch/powerpc/configs/debug.config | 1 + > arch/powerpc/configs/disable-werror.config | 1 + > .../configs/{dpaa.config => dpaa.fragment} | 1 + > ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 + > .../configs/{guest.config => guest.fragment} | 1 + > arch/powerpc/configs/le.config | 1 - > arch/powerpc/configs/le.fragment | 2 ++ > ...85xx_base.config => mpc85xx_base.fragment} | 1 + > ...86xx_base.config => mpc86xx_base.fragment} | 1 + > .../{ppc64le.config => ppc64le.fragment} | 1 + > arch/powerpc/configs/security.config | 4 ++- > arch/riscv/configs/32-bit.config | 1 + > arch/riscv/configs/64-bit.config | 1 + > arch/s390/configs/btf.config | 1 + > arch/s390/configs/kasan.config | 1 + > arch/x86/Makefile | 4 --- > arch/x86/configs/tiny.config | 2 ++ > {kernel => arch/x86}/configs/x86_debug.config | 1 + > arch/x86/configs/xen.config | 2 ++ > kernel/configs/debug.config | 2 ++ > kernel/configs/kvm_guest.config | 1 + > kernel/configs/nopm.config | 2 ++ > kernel/configs/rust.config | 1 + > kernel/configs/tiny-base.config | 1 - > kernel/configs/tiny-base.fragment | 2 ++ > kernel/configs/tiny.config | 2 ++ > kernel/configs/xen.config | 2 ++ > scripts/Makefile.defconf | 12 ++++++--- > scripts/kconfig/Makefile | 16 +++++++++--- > 51 files changed, 87 insertions(+), 32 deletions(-) > rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%) > delete mode 100644 arch/powerpc/configs/64-bit.config > create mode 100644 arch/powerpc/configs/64-bit.fragment > rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%) > rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%) > rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%) > rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%) > rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%) > rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%) > delete mode 100644 arch/powerpc/configs/altivec.config > create mode 100644 arch/powerpc/configs/altivec.fragment > delete mode 100644 arch/powerpc/configs/be.config > create mode 100644 arch/powerpc/configs/be.fragment > rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%) > rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%) > rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%) > rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%) > rename arch/powerpc/configs/{guest.config => guest.fragment} (85%) > delete mode 100644 arch/powerpc/configs/le.config > create mode 100644 arch/powerpc/configs/le.fragment > rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%) > rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%) > rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%) > rename {kernel => arch/x86}/configs/x86_debug.config (90%) > delete mode 100644 kernel/configs/tiny-base.config > create mode 100644 kernel/configs/tiny-base.fragment > > -- > 2.34.1 > -- Best Regards Masahiro Yamada _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-28 1:03 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-28 1:03 UTC (permalink / raw) To: Kees Cook Cc: linux-s390, Randy Dunlap, Nicolas Schier, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > Hi, > > This is my series to show *.config targets in the "help" target so these > various topics can be more easily discoverd. > > v2: > - split .fragment from .config to hide "internal" fragments Please do not do this churn. Like Randy, I did not get "why" part quiet well, but if you are eager about this, you can show help message only when the following ("# Help:" prefix for example) is found in the first line. # Help: blah blah # other comment > - fix various typos > - avoid duplicate entries > v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org > > Thanks! > > -Kees > > Kees Cook (2): > kbuild: Show Kconfig fragments in "help" > kbuild: Split internal config targets from .config into .fragment > > Makefile | 1 - > arch/arm/configs/dram_0x00000000.config | 1 + > arch/arm/configs/dram_0xc0000000.config | 1 + > arch/arm/configs/dram_0xd0000000.config | 1 + > arch/arm/configs/lpae.config | 1 + > arch/arm64/configs/virt.config | 1 + > arch/powerpc/Makefile | 26 +++++++++---------- > .../{32-bit.config => 32-bit.fragment} | 1 + > arch/powerpc/configs/64-bit.config | 1 - > arch/powerpc/configs/64-bit.fragment | 2 ++ > ...{85xx-32bit.config => 85xx-32bit.fragment} | 1 + > ...{85xx-64bit.config => 85xx-64bit.fragment} | 1 + > .../{85xx-hw.config => 85xx-hw.fragment} | 1 + > .../{85xx-smp.config => 85xx-smp.fragment} | 1 + > .../{86xx-hw.config => 86xx-hw.fragment} | 1 + > .../{86xx-smp.config => 86xx-smp.fragment} | 1 + > arch/powerpc/configs/altivec.config | 1 - > arch/powerpc/configs/altivec.fragment | 2 ++ > arch/powerpc/configs/be.config | 1 - > arch/powerpc/configs/be.fragment | 2 ++ > .../{book3s_32.config => book3s_32.fragment} | 1 + > ...enet_base.config => corenet_base.fragment} | 1 + > arch/powerpc/configs/debug.config | 1 + > arch/powerpc/configs/disable-werror.config | 1 + > .../configs/{dpaa.config => dpaa.fragment} | 1 + > ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 + > .../configs/{guest.config => guest.fragment} | 1 + > arch/powerpc/configs/le.config | 1 - > arch/powerpc/configs/le.fragment | 2 ++ > ...85xx_base.config => mpc85xx_base.fragment} | 1 + > ...86xx_base.config => mpc86xx_base.fragment} | 1 + > .../{ppc64le.config => ppc64le.fragment} | 1 + > arch/powerpc/configs/security.config | 4 ++- > arch/riscv/configs/32-bit.config | 1 + > arch/riscv/configs/64-bit.config | 1 + > arch/s390/configs/btf.config | 1 + > arch/s390/configs/kasan.config | 1 + > arch/x86/Makefile | 4 --- > arch/x86/configs/tiny.config | 2 ++ > {kernel => arch/x86}/configs/x86_debug.config | 1 + > arch/x86/configs/xen.config | 2 ++ > kernel/configs/debug.config | 2 ++ > kernel/configs/kvm_guest.config | 1 + > kernel/configs/nopm.config | 2 ++ > kernel/configs/rust.config | 1 + > kernel/configs/tiny-base.config | 1 - > kernel/configs/tiny-base.fragment | 2 ++ > kernel/configs/tiny.config | 2 ++ > kernel/configs/xen.config | 2 ++ > scripts/Makefile.defconf | 12 ++++++--- > scripts/kconfig/Makefile | 16 +++++++++--- > 51 files changed, 87 insertions(+), 32 deletions(-) > rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%) > delete mode 100644 arch/powerpc/configs/64-bit.config > create mode 100644 arch/powerpc/configs/64-bit.fragment > rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%) > rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%) > rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%) > rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%) > rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%) > rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%) > delete mode 100644 arch/powerpc/configs/altivec.config > create mode 100644 arch/powerpc/configs/altivec.fragment > delete mode 100644 arch/powerpc/configs/be.config > create mode 100644 arch/powerpc/configs/be.fragment > rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%) > rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%) > rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%) > rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%) > rename arch/powerpc/configs/{guest.config => guest.fragment} (85%) > delete mode 100644 arch/powerpc/configs/le.config > create mode 100644 arch/powerpc/configs/le.fragment > rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%) > rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%) > rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%) > rename {kernel => arch/x86}/configs/x86_debug.config (90%) > delete mode 100644 kernel/configs/tiny-base.config > create mode 100644 kernel/configs/tiny-base.fragment > > -- > 2.34.1 > -- Best Regards Masahiro Yamada ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-28 1:03 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-28 1:03 UTC (permalink / raw) To: Kees Cook Cc: Michael Ellerman, Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > Hi, > > This is my series to show *.config targets in the "help" target so these > various topics can be more easily discoverd. > > v2: > - split .fragment from .config to hide "internal" fragments Please do not do this churn. Like Randy, I did not get "why" part quiet well, but if you are eager about this, you can show help message only when the following ("# Help:" prefix for example) is found in the first line. # Help: blah blah # other comment > - fix various typos > - avoid duplicate entries > v1: https://lore.kernel.org/all/20230824223606.never.762-kees@kernel.org > > Thanks! > > -Kees > > Kees Cook (2): > kbuild: Show Kconfig fragments in "help" > kbuild: Split internal config targets from .config into .fragment > > Makefile | 1 - > arch/arm/configs/dram_0x00000000.config | 1 + > arch/arm/configs/dram_0xc0000000.config | 1 + > arch/arm/configs/dram_0xd0000000.config | 1 + > arch/arm/configs/lpae.config | 1 + > arch/arm64/configs/virt.config | 1 + > arch/powerpc/Makefile | 26 +++++++++---------- > .../{32-bit.config => 32-bit.fragment} | 1 + > arch/powerpc/configs/64-bit.config | 1 - > arch/powerpc/configs/64-bit.fragment | 2 ++ > ...{85xx-32bit.config => 85xx-32bit.fragment} | 1 + > ...{85xx-64bit.config => 85xx-64bit.fragment} | 1 + > .../{85xx-hw.config => 85xx-hw.fragment} | 1 + > .../{85xx-smp.config => 85xx-smp.fragment} | 1 + > .../{86xx-hw.config => 86xx-hw.fragment} | 1 + > .../{86xx-smp.config => 86xx-smp.fragment} | 1 + > arch/powerpc/configs/altivec.config | 1 - > arch/powerpc/configs/altivec.fragment | 2 ++ > arch/powerpc/configs/be.config | 1 - > arch/powerpc/configs/be.fragment | 2 ++ > .../{book3s_32.config => book3s_32.fragment} | 1 + > ...enet_base.config => corenet_base.fragment} | 1 + > arch/powerpc/configs/debug.config | 1 + > arch/powerpc/configs/disable-werror.config | 1 + > .../configs/{dpaa.config => dpaa.fragment} | 1 + > ...mb-nonhw.config => fsl-emb-nonhw.fragment} | 1 + > .../configs/{guest.config => guest.fragment} | 1 + > arch/powerpc/configs/le.config | 1 - > arch/powerpc/configs/le.fragment | 2 ++ > ...85xx_base.config => mpc85xx_base.fragment} | 1 + > ...86xx_base.config => mpc86xx_base.fragment} | 1 + > .../{ppc64le.config => ppc64le.fragment} | 1 + > arch/powerpc/configs/security.config | 4 ++- > arch/riscv/configs/32-bit.config | 1 + > arch/riscv/configs/64-bit.config | 1 + > arch/s390/configs/btf.config | 1 + > arch/s390/configs/kasan.config | 1 + > arch/x86/Makefile | 4 --- > arch/x86/configs/tiny.config | 2 ++ > {kernel => arch/x86}/configs/x86_debug.config | 1 + > arch/x86/configs/xen.config | 2 ++ > kernel/configs/debug.config | 2 ++ > kernel/configs/kvm_guest.config | 1 + > kernel/configs/nopm.config | 2 ++ > kernel/configs/rust.config | 1 + > kernel/configs/tiny-base.config | 1 - > kernel/configs/tiny-base.fragment | 2 ++ > kernel/configs/tiny.config | 2 ++ > kernel/configs/xen.config | 2 ++ > scripts/Makefile.defconf | 12 ++++++--- > scripts/kconfig/Makefile | 16 +++++++++--- > 51 files changed, 87 insertions(+), 32 deletions(-) > rename arch/powerpc/configs/{32-bit.config => 32-bit.fragment} (53%) > delete mode 100644 arch/powerpc/configs/64-bit.config > create mode 100644 arch/powerpc/configs/64-bit.fragment > rename arch/powerpc/configs/{85xx-32bit.config => 85xx-32bit.fragment} (76%) > rename arch/powerpc/configs/{85xx-64bit.config => 85xx-64bit.fragment} (78%) > rename arch/powerpc/configs/{85xx-hw.config => 85xx-hw.fragment} (98%) > rename arch/powerpc/configs/{85xx-smp.config => 85xx-smp.fragment} (59%) > rename arch/powerpc/configs/{86xx-hw.config => 86xx-hw.fragment} (98%) > rename arch/powerpc/configs/{86xx-smp.config => 86xx-smp.fragment} (58%) > delete mode 100644 arch/powerpc/configs/altivec.config > create mode 100644 arch/powerpc/configs/altivec.fragment > delete mode 100644 arch/powerpc/configs/be.config > create mode 100644 arch/powerpc/configs/be.fragment > rename arch/powerpc/configs/{book3s_32.config => book3s_32.fragment} (52%) > rename arch/powerpc/configs/{corenet_base.config => corenet_base.fragment} (64%) > rename arch/powerpc/configs/{dpaa.config => dpaa.fragment} (80%) > rename arch/powerpc/configs/{fsl-emb-nonhw.config => fsl-emb-nonhw.fragment} (98%) > rename arch/powerpc/configs/{guest.config => guest.fragment} (85%) > delete mode 100644 arch/powerpc/configs/le.config > create mode 100644 arch/powerpc/configs/le.fragment > rename arch/powerpc/configs/{mpc85xx_base.config => mpc85xx_base.fragment} (94%) > rename arch/powerpc/configs/{mpc86xx_base.config => mpc86xx_base.fragment} (86%) > rename arch/powerpc/configs/{ppc64le.config => ppc64le.fragment} (65%) > rename {kernel => arch/x86}/configs/x86_debug.config (90%) > delete mode 100644 kernel/configs/tiny-base.config > create mode 100644 kernel/configs/tiny-base.fragment > > -- > 2.34.1 > -- Best Regards Masahiro Yamada _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" 2023-08-28 1:03 ` Masahiro Yamada (?) (?) @ 2023-08-28 6:17 ` Michael Ellerman -1 siblings, 0 replies; 40+ messages in thread From: Michael Ellerman @ 2023-08-28 6:17 UTC (permalink / raw) To: Masahiro Yamada, Kees Cook Cc: Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening Masahiro Yamada <masahiroy@kernel.org> writes: > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: >> >> Hi, >> >> This is my series to show *.config targets in the "help" target so these >> various topics can be more easily discoverd. >> >> v2: >> - split .fragment from .config to hide "internal" fragments > > Please do not do this churn. That was my idea :} > Like Randy, I did not get "why" part quiet well, > but if you are eager about this, > you can show help message only when the following > ("# Help:" prefix for example) is found in the first line. > > # Help: blah blah > # other comment I did think of that, but wasn't sure how to do it in make. cheers ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-28 6:17 ` Michael Ellerman 0 siblings, 0 replies; 40+ messages in thread From: Michael Ellerman @ 2023-08-28 6:17 UTC (permalink / raw) To: Masahiro Yamada, Kees Cook Cc: Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening Masahiro Yamada <masahiroy@kernel.org> writes: > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: >> >> Hi, >> >> This is my series to show *.config targets in the "help" target so these >> various topics can be more easily discoverd. >> >> v2: >> - split .fragment from .config to hide "internal" fragments > > Please do not do this churn. That was my idea :} > Like Randy, I did not get "why" part quiet well, > but if you are eager about this, > you can show help message only when the following > ("# Help:" prefix for example) is found in the first line. > > # Help: blah blah > # other comment I did think of that, but wasn't sure how to do it in make. cheers _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-28 6:17 ` Michael Ellerman 0 siblings, 0 replies; 40+ messages in thread From: Michael Ellerman @ 2023-08-28 6:17 UTC (permalink / raw) To: Masahiro Yamada, Kees Cook Cc: linux-s390, Randy Dunlap, Nicolas Schier, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel Masahiro Yamada <masahiroy@kernel.org> writes: > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: >> >> Hi, >> >> This is my series to show *.config targets in the "help" target so these >> various topics can be more easily discoverd. >> >> v2: >> - split .fragment from .config to hide "internal" fragments > > Please do not do this churn. That was my idea :} > Like Randy, I did not get "why" part quiet well, > but if you are eager about this, > you can show help message only when the following > ("# Help:" prefix for example) is found in the first line. > > # Help: blah blah > # other comment I did think of that, but wasn't sure how to do it in make. cheers ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-28 6:17 ` Michael Ellerman 0 siblings, 0 replies; 40+ messages in thread From: Michael Ellerman @ 2023-08-28 6:17 UTC (permalink / raw) To: Masahiro Yamada, Kees Cook Cc: Christophe Leroy, Nicolas Schier, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening Masahiro Yamada <masahiroy@kernel.org> writes: > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: >> >> Hi, >> >> This is my series to show *.config targets in the "help" target so these >> various topics can be more easily discoverd. >> >> v2: >> - split .fragment from .config to hide "internal" fragments > > Please do not do this churn. That was my idea :} > Like Randy, I did not get "why" part quiet well, > but if you are eager about this, > you can show help message only when the following > ("# Help:" prefix for example) is found in the first line. > > # Help: blah blah > # other comment I did think of that, but wasn't sure how to do it in make. cheers _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" 2023-08-28 6:17 ` Michael Ellerman (?) (?) @ 2023-08-29 6:16 ` Nicolas Schier -1 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 6:16 UTC (permalink / raw) To: Michael Ellerman Cc: Masahiro Yamada, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1: Type: text/plain, Size: 1284 bytes --] On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > Masahiro Yamada <masahiroy@kernel.org> writes: > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > >> > >> Hi, > >> > >> This is my series to show *.config targets in the "help" target so these > >> various topics can be more easily discoverd. > >> > >> v2: > >> - split .fragment from .config to hide "internal" fragments > > > > Please do not do this churn. > > That was my idea :} > > > Like Randy, I did not get "why" part quiet well, > > but if you are eager about this, > > you can show help message only when the following > > ("# Help:" prefix for example) is found in the first line. > > > > # Help: blah blah > > # other comment > > I did think of that, but wasn't sure how to do it in make. Something like this should do it: @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ while read loc dummy helptext; do \ tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ [ "$${line}" = "1" ] && \ printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ done but this neither beautiful nor elegant it likes to be improved. Kind regards, Nicolas [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 6:16 ` Nicolas Schier 0 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 6:16 UTC (permalink / raw) To: Michael Ellerman Cc: Masahiro Yamada, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1.1: Type: text/plain, Size: 1284 bytes --] On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > Masahiro Yamada <masahiroy@kernel.org> writes: > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > >> > >> Hi, > >> > >> This is my series to show *.config targets in the "help" target so these > >> various topics can be more easily discoverd. > >> > >> v2: > >> - split .fragment from .config to hide "internal" fragments > > > > Please do not do this churn. > > That was my idea :} > > > Like Randy, I did not get "why" part quiet well, > > but if you are eager about this, > > you can show help message only when the following > > ("# Help:" prefix for example) is found in the first line. > > > > # Help: blah blah > > # other comment > > I did think of that, but wasn't sure how to do it in make. Something like this should do it: @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ while read loc dummy helptext; do \ tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ [ "$${line}" = "1" ] && \ printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ done but this neither beautiful nor elegant it likes to be improved. Kind regards, Nicolas [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 6:16 ` Nicolas Schier 0 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 6:16 UTC (permalink / raw) To: Michael Ellerman Cc: linux-s390, Randy Dunlap, Kees Cook, linux-kbuild, Masahiro Yamada, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel [-- Attachment #1: Type: text/plain, Size: 1284 bytes --] On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > Masahiro Yamada <masahiroy@kernel.org> writes: > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > >> > >> Hi, > >> > >> This is my series to show *.config targets in the "help" target so these > >> various topics can be more easily discoverd. > >> > >> v2: > >> - split .fragment from .config to hide "internal" fragments > > > > Please do not do this churn. > > That was my idea :} > > > Like Randy, I did not get "why" part quiet well, > > but if you are eager about this, > > you can show help message only when the following > > ("# Help:" prefix for example) is found in the first line. > > > > # Help: blah blah > > # other comment > > I did think of that, but wasn't sure how to do it in make. Something like this should do it: @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ while read loc dummy helptext; do \ tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ [ "$${line}" = "1" ] && \ printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ done but this neither beautiful nor elegant it likes to be improved. Kind regards, Nicolas [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 6:16 ` Nicolas Schier 0 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 6:16 UTC (permalink / raw) To: Michael Ellerman Cc: Masahiro Yamada, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1.1: Type: text/plain, Size: 1284 bytes --] On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > Masahiro Yamada <masahiroy@kernel.org> writes: > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > >> > >> Hi, > >> > >> This is my series to show *.config targets in the "help" target so these > >> various topics can be more easily discoverd. > >> > >> v2: > >> - split .fragment from .config to hide "internal" fragments > > > > Please do not do this churn. > > That was my idea :} > > > Like Randy, I did not get "why" part quiet well, > > but if you are eager about this, > > you can show help message only when the following > > ("# Help:" prefix for example) is found in the first line. > > > > # Help: blah blah > > # other comment > > I did think of that, but wasn't sure how to do it in make. Something like this should do it: @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ while read loc dummy helptext; do \ tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ [ "$${line}" = "1" ] && \ printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ done but this neither beautiful nor elegant it likes to be improved. Kind regards, Nicolas [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" 2023-08-29 6:16 ` Nicolas Schier (?) (?) @ 2023-08-29 14:57 ` Masahiro Yamada -1 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-29 14:57 UTC (permalink / raw) To: Nicolas Schier Cc: Michael Ellerman, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1: Type: text/plain, Size: 1702 bytes --] On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > >> > > >> Hi, > > >> > > >> This is my series to show *.config targets in the "help" target so these > > >> various topics can be more easily discoverd. > > >> > > >> v2: > > >> - split .fragment from .config to hide "internal" fragments > > > > > > Please do not do this churn. > > > > That was my idea :} > > > > > Like Randy, I did not get "why" part quiet well, > > > but if you are eager about this, > > > you can show help message only when the following > > > ("# Help:" prefix for example) is found in the first line. > > > > > > # Help: blah blah > > > # other comment > > > > I did think of that, but wasn't sure how to do it in make. > > Something like this should do it: > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > while read loc dummy helptext; do \ > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > [ "$${line}" = "1" ] && \ > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > done > > but this neither beautiful nor elegant it likes to be improved. > > Kind regards, > Nicolas The attached patch will work too. I dropped the "in the first line" restriction because SPDX might be placed in the first line of config fragments. -- Best Regards Masahiro Yamada [-- Attachment #2: config-help.diff --] [-- Type: text/x-patch, Size: 4024 bytes --] diff --git a/Makefile b/Makefile index e21bf66af6fd..23cd62a5ff05 100644 --- a/Makefile +++ b/Makefile @@ -1552,7 +1552,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..d0877063d925 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Help: Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..35f48671b8d5 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Help: Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..6878b9a49be8 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Help: Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..e72c5ee659a9 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,13 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) +all-config-fragments = $(call configfiles,*) +config-fragments = $(call configfiles,$@) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +117,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +144,12 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach f, $(all-config-fragments), \ + if help=$$(grep -m1 '^# Help: ' $(f)); then \ + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ + fi;) # =========================================================================== # object files used by all kconfig flavours ^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 14:57 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-29 14:57 UTC (permalink / raw) To: Nicolas Schier Cc: Michael Ellerman, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1: Type: text/plain, Size: 1702 bytes --] On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > >> > > >> Hi, > > >> > > >> This is my series to show *.config targets in the "help" target so these > > >> various topics can be more easily discoverd. > > >> > > >> v2: > > >> - split .fragment from .config to hide "internal" fragments > > > > > > Please do not do this churn. > > > > That was my idea :} > > > > > Like Randy, I did not get "why" part quiet well, > > > but if you are eager about this, > > > you can show help message only when the following > > > ("# Help:" prefix for example) is found in the first line. > > > > > > # Help: blah blah > > > # other comment > > > > I did think of that, but wasn't sure how to do it in make. > > Something like this should do it: > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > while read loc dummy helptext; do \ > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > [ "$${line}" = "1" ] && \ > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > done > > but this neither beautiful nor elegant it likes to be improved. > > Kind regards, > Nicolas The attached patch will work too. I dropped the "in the first line" restriction because SPDX might be placed in the first line of config fragments. -- Best Regards Masahiro Yamada [-- Attachment #2: config-help.diff --] [-- Type: text/x-patch, Size: 4024 bytes --] diff --git a/Makefile b/Makefile index e21bf66af6fd..23cd62a5ff05 100644 --- a/Makefile +++ b/Makefile @@ -1552,7 +1552,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..d0877063d925 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Help: Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..35f48671b8d5 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Help: Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..6878b9a49be8 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Help: Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..e72c5ee659a9 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,13 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) +all-config-fragments = $(call configfiles,*) +config-fragments = $(call configfiles,$@) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +117,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +144,12 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach f, $(all-config-fragments), \ + if help=$$(grep -m1 '^# Help: ' $(f)); then \ + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ + fi;) # =========================================================================== # object files used by all kconfig flavours [-- Attachment #3: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 14:57 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-29 14:57 UTC (permalink / raw) To: Nicolas Schier Cc: linux-s390, Randy Dunlap, Kees Cook, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel [-- Attachment #1: Type: text/plain, Size: 1702 bytes --] On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > >> > > >> Hi, > > >> > > >> This is my series to show *.config targets in the "help" target so these > > >> various topics can be more easily discoverd. > > >> > > >> v2: > > >> - split .fragment from .config to hide "internal" fragments > > > > > > Please do not do this churn. > > > > That was my idea :} > > > > > Like Randy, I did not get "why" part quiet well, > > > but if you are eager about this, > > > you can show help message only when the following > > > ("# Help:" prefix for example) is found in the first line. > > > > > > # Help: blah blah > > > # other comment > > > > I did think of that, but wasn't sure how to do it in make. > > Something like this should do it: > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > while read loc dummy helptext; do \ > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > [ "$${line}" = "1" ] && \ > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > done > > but this neither beautiful nor elegant it likes to be improved. > > Kind regards, > Nicolas The attached patch will work too. I dropped the "in the first line" restriction because SPDX might be placed in the first line of config fragments. -- Best Regards Masahiro Yamada [-- Attachment #2: config-help.diff --] [-- Type: text/x-patch, Size: 4024 bytes --] diff --git a/Makefile b/Makefile index e21bf66af6fd..23cd62a5ff05 100644 --- a/Makefile +++ b/Makefile @@ -1552,7 +1552,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..d0877063d925 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Help: Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..35f48671b8d5 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Help: Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..6878b9a49be8 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Help: Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..e72c5ee659a9 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,13 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) +all-config-fragments = $(call configfiles,*) +config-fragments = $(call configfiles,$@) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +117,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +144,12 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach f, $(all-config-fragments), \ + if help=$$(grep -m1 '^# Help: ' $(f)); then \ + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ + fi;) # =========================================================================== # object files used by all kconfig flavours ^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 14:57 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-29 14:57 UTC (permalink / raw) To: Nicolas Schier Cc: Michael Ellerman, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1: Type: text/plain, Size: 1702 bytes --] On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > >> > > >> Hi, > > >> > > >> This is my series to show *.config targets in the "help" target so these > > >> various topics can be more easily discoverd. > > >> > > >> v2: > > >> - split .fragment from .config to hide "internal" fragments > > > > > > Please do not do this churn. > > > > That was my idea :} > > > > > Like Randy, I did not get "why" part quiet well, > > > but if you are eager about this, > > > you can show help message only when the following > > > ("# Help:" prefix for example) is found in the first line. > > > > > > # Help: blah blah > > > # other comment > > > > I did think of that, but wasn't sure how to do it in make. > > Something like this should do it: > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > while read loc dummy helptext; do \ > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > [ "$${line}" = "1" ] && \ > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > done > > but this neither beautiful nor elegant it likes to be improved. > > Kind regards, > Nicolas The attached patch will work too. I dropped the "in the first line" restriction because SPDX might be placed in the first line of config fragments. -- Best Regards Masahiro Yamada [-- Attachment #2: config-help.diff --] [-- Type: text/x-patch, Size: 4024 bytes --] diff --git a/Makefile b/Makefile index e21bf66af6fd..23cd62a5ff05 100644 --- a/Makefile +++ b/Makefile @@ -1552,7 +1552,6 @@ help: @echo ' mrproper - Remove all generated files + config + various backup files' @echo ' distclean - mrproper + remove editor backup and patch files' @echo '' - @echo 'Configuration targets:' @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help @echo '' @echo 'Other generic targets:' diff --git a/arch/x86/Makefile b/arch/x86/Makefile index fdc2e3abd615..c4b2a8a19fc8 100644 --- a/arch/x86/Makefile +++ b/arch/x86/Makefile @@ -335,9 +335,5 @@ define archhelp echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' echo ' FDARGS="..." arguments for the booted kernel' echo ' FDINITRD=file initrd for the booted kernel' - echo '' - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' - echo ' x86_debug.config - Enable tip tree debugging options for testing' endef diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config index 208481d91090..d0877063d925 100644 --- a/kernel/configs/kvm_guest.config +++ b/kernel/configs/kvm_guest.config @@ -1,3 +1,4 @@ +# Help: Bootable as a KVM guest CONFIG_NET=y CONFIG_NET_CORE=y CONFIG_NETDEVICES=y diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config index 6fac5b405334..35f48671b8d5 100644 --- a/kernel/configs/x86_debug.config +++ b/kernel/configs/x86_debug.config @@ -1,3 +1,4 @@ +# Help: Debugging options for tip tree testing CONFIG_X86_DEBUG_FPU=y CONFIG_LOCK_STAT=y CONFIG_DEBUG_VM=y diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config index 436f806aa1ed..6878b9a49be8 100644 --- a/kernel/configs/xen.config +++ b/kernel/configs/xen.config @@ -1,3 +1,5 @@ +# Help: Bootable as a Xen guest +# # global stuff - these enable us to allow some # of the not so generic stuff below for xen CONFIG_PARAVIRT=y diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile index af1c96198f49..e72c5ee659a9 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -93,11 +93,13 @@ endif %_defconfig: $(obj)/conf $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) +all-config-fragments = $(call configfiles,*) +config-fragments = $(call configfiles,$@) %.config: $(obj)/conf - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig PHONY += tinyconfig @@ -115,6 +117,7 @@ clean-files += tests/.cache # Help text used by make help help: + @echo 'Configuration targets:' @echo ' config - Update current config utilising a line-oriented program' @echo ' nconfig - Update current config utilising a ncurses menu based program' @echo ' menuconfig - Update current config utilising a menu based program' @@ -141,6 +144,12 @@ help: @echo ' default value without prompting' @echo ' tinyconfig - Configure the tiniest possible kernel' @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' + @echo '' + @echo 'Configuration topic targets:' + @$(foreach f, $(all-config-fragments), \ + if help=$$(grep -m1 '^# Help: ' $(f)); then \ + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ + fi;) # =========================================================================== # object files used by all kconfig flavours [-- Attachment #3: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply related [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" 2023-08-29 14:57 ` Masahiro Yamada (?) (?) @ 2023-08-29 20:07 ` Nicolas Schier -1 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 20:07 UTC (permalink / raw) To: Masahiro Yamada Cc: Michael Ellerman, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1: Type: text/plain, Size: 6145 bytes --] On Tue, Aug 29, 2023 at 11:57:19PM +0900 Masahiro Yamada wrote: > On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > > >> > > > >> Hi, > > > >> > > > >> This is my series to show *.config targets in the "help" target so these > > > >> various topics can be more easily discoverd. > > > >> > > > >> v2: > > > >> - split .fragment from .config to hide "internal" fragments > > > > > > > > Please do not do this churn. > > > > > > That was my idea :} > > > > > > > Like Randy, I did not get "why" part quiet well, > > > > but if you are eager about this, > > > > you can show help message only when the following > > > > ("# Help:" prefix for example) is found in the first line. > > > > > > > > # Help: blah blah > > > > # other comment > > > > > > I did think of that, but wasn't sure how to do it in make. > > > > Something like this should do it: > > > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > > while read loc dummy helptext; do \ > > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > > [ "$${line}" = "1" ] && \ > > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > > done > > > > but this neither beautiful nor elegant it likes to be improved. > > > > Kind regards, > > Nicolas > > > > > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. > > > > -- > Best Regards > Masahiro Yamada > diff --git a/Makefile b/Makefile > index e21bf66af6fd..23cd62a5ff05 100644 > --- a/Makefile > +++ b/Makefile > @@ -1552,7 +1552,6 @@ help: > @echo ' mrproper - Remove all generated files + config + various backup files' > @echo ' distclean - mrproper + remove editor backup and patch files' > @echo '' > - @echo 'Configuration targets:' > @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help > @echo '' > @echo 'Other generic targets:' > diff --git a/arch/x86/Makefile b/arch/x86/Makefile > index fdc2e3abd615..c4b2a8a19fc8 100644 > --- a/arch/x86/Makefile > +++ b/arch/x86/Makefile > @@ -335,9 +335,5 @@ define archhelp > echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' > echo ' FDARGS="..." arguments for the booted kernel' > echo ' FDINITRD=file initrd for the booted kernel' > - echo '' > - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' > - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' > - echo ' x86_debug.config - Enable tip tree debugging options for testing' > > endef > diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config > index 208481d91090..d0877063d925 100644 > --- a/kernel/configs/kvm_guest.config > +++ b/kernel/configs/kvm_guest.config > @@ -1,3 +1,4 @@ > +# Help: Bootable as a KVM guest > CONFIG_NET=y > CONFIG_NET_CORE=y > CONFIG_NETDEVICES=y > diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config > index 6fac5b405334..35f48671b8d5 100644 > --- a/kernel/configs/x86_debug.config > +++ b/kernel/configs/x86_debug.config > @@ -1,3 +1,4 @@ > +# Help: Debugging options for tip tree testing > CONFIG_X86_DEBUG_FPU=y > CONFIG_LOCK_STAT=y > CONFIG_DEBUG_VM=y > diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config > index 436f806aa1ed..6878b9a49be8 100644 > --- a/kernel/configs/xen.config > +++ b/kernel/configs/xen.config > @@ -1,3 +1,5 @@ > +# Help: Bootable as a Xen guest > +# > # global stuff - these enable us to allow some > # of the not so generic stuff below for xen > CONFIG_PARAVIRT=y > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile > index af1c96198f49..e72c5ee659a9 100644 > --- a/scripts/kconfig/Makefile > +++ b/scripts/kconfig/Makefile > @@ -93,11 +93,13 @@ endif > %_defconfig: $(obj)/conf > $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) > > -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) > +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) > +all-config-fragments = $(call configfiles,*) > +config-fragments = $(call configfiles,$@) > > %.config: $(obj)/conf > - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) > - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) > + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) > + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) > $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig > > PHONY += tinyconfig > @@ -115,6 +117,7 @@ clean-files += tests/.cache > > # Help text used by make help > help: > + @echo 'Configuration targets:' > @echo ' config - Update current config utilising a line-oriented program' > @echo ' nconfig - Update current config utilising a ncurses menu based program' > @echo ' menuconfig - Update current config utilising a menu based program' > @@ -141,6 +144,12 @@ help: > @echo ' default value without prompting' > @echo ' tinyconfig - Configure the tiniest possible kernel' > @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' > + @echo '' > + @echo 'Configuration topic targets:' > + @$(foreach f, $(all-config-fragments), \ > + if help=$$(grep -m1 '^# Help: ' $(f)); then \ > + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ > + fi;) thanks, this looks much better, and SPDX is a good point. Kind regards, Nicolas [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 20:07 ` Nicolas Schier 0 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 20:07 UTC (permalink / raw) To: Masahiro Yamada Cc: Michael Ellerman, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1.1: Type: text/plain, Size: 6145 bytes --] On Tue, Aug 29, 2023 at 11:57:19PM +0900 Masahiro Yamada wrote: > On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > > >> > > > >> Hi, > > > >> > > > >> This is my series to show *.config targets in the "help" target so these > > > >> various topics can be more easily discoverd. > > > >> > > > >> v2: > > > >> - split .fragment from .config to hide "internal" fragments > > > > > > > > Please do not do this churn. > > > > > > That was my idea :} > > > > > > > Like Randy, I did not get "why" part quiet well, > > > > but if you are eager about this, > > > > you can show help message only when the following > > > > ("# Help:" prefix for example) is found in the first line. > > > > > > > > # Help: blah blah > > > > # other comment > > > > > > I did think of that, but wasn't sure how to do it in make. > > > > Something like this should do it: > > > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > > while read loc dummy helptext; do \ > > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > > [ "$${line}" = "1" ] && \ > > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > > done > > > > but this neither beautiful nor elegant it likes to be improved. > > > > Kind regards, > > Nicolas > > > > > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. > > > > -- > Best Regards > Masahiro Yamada > diff --git a/Makefile b/Makefile > index e21bf66af6fd..23cd62a5ff05 100644 > --- a/Makefile > +++ b/Makefile > @@ -1552,7 +1552,6 @@ help: > @echo ' mrproper - Remove all generated files + config + various backup files' > @echo ' distclean - mrproper + remove editor backup and patch files' > @echo '' > - @echo 'Configuration targets:' > @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help > @echo '' > @echo 'Other generic targets:' > diff --git a/arch/x86/Makefile b/arch/x86/Makefile > index fdc2e3abd615..c4b2a8a19fc8 100644 > --- a/arch/x86/Makefile > +++ b/arch/x86/Makefile > @@ -335,9 +335,5 @@ define archhelp > echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' > echo ' FDARGS="..." arguments for the booted kernel' > echo ' FDINITRD=file initrd for the booted kernel' > - echo '' > - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' > - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' > - echo ' x86_debug.config - Enable tip tree debugging options for testing' > > endef > diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config > index 208481d91090..d0877063d925 100644 > --- a/kernel/configs/kvm_guest.config > +++ b/kernel/configs/kvm_guest.config > @@ -1,3 +1,4 @@ > +# Help: Bootable as a KVM guest > CONFIG_NET=y > CONFIG_NET_CORE=y > CONFIG_NETDEVICES=y > diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config > index 6fac5b405334..35f48671b8d5 100644 > --- a/kernel/configs/x86_debug.config > +++ b/kernel/configs/x86_debug.config > @@ -1,3 +1,4 @@ > +# Help: Debugging options for tip tree testing > CONFIG_X86_DEBUG_FPU=y > CONFIG_LOCK_STAT=y > CONFIG_DEBUG_VM=y > diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config > index 436f806aa1ed..6878b9a49be8 100644 > --- a/kernel/configs/xen.config > +++ b/kernel/configs/xen.config > @@ -1,3 +1,5 @@ > +# Help: Bootable as a Xen guest > +# > # global stuff - these enable us to allow some > # of the not so generic stuff below for xen > CONFIG_PARAVIRT=y > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile > index af1c96198f49..e72c5ee659a9 100644 > --- a/scripts/kconfig/Makefile > +++ b/scripts/kconfig/Makefile > @@ -93,11 +93,13 @@ endif > %_defconfig: $(obj)/conf > $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) > > -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) > +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) > +all-config-fragments = $(call configfiles,*) > +config-fragments = $(call configfiles,$@) > > %.config: $(obj)/conf > - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) > - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) > + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) > + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) > $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig > > PHONY += tinyconfig > @@ -115,6 +117,7 @@ clean-files += tests/.cache > > # Help text used by make help > help: > + @echo 'Configuration targets:' > @echo ' config - Update current config utilising a line-oriented program' > @echo ' nconfig - Update current config utilising a ncurses menu based program' > @echo ' menuconfig - Update current config utilising a menu based program' > @@ -141,6 +144,12 @@ help: > @echo ' default value without prompting' > @echo ' tinyconfig - Configure the tiniest possible kernel' > @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' > + @echo '' > + @echo 'Configuration topic targets:' > + @$(foreach f, $(all-config-fragments), \ > + if help=$$(grep -m1 '^# Help: ' $(f)); then \ > + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ > + fi;) thanks, this looks much better, and SPDX is a good point. Kind regards, Nicolas [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 20:07 ` Nicolas Schier 0 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 20:07 UTC (permalink / raw) To: Masahiro Yamada Cc: linux-s390, Randy Dunlap, Kees Cook, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel [-- Attachment #1: Type: text/plain, Size: 6145 bytes --] On Tue, Aug 29, 2023 at 11:57:19PM +0900 Masahiro Yamada wrote: > On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > > >> > > > >> Hi, > > > >> > > > >> This is my series to show *.config targets in the "help" target so these > > > >> various topics can be more easily discoverd. > > > >> > > > >> v2: > > > >> - split .fragment from .config to hide "internal" fragments > > > > > > > > Please do not do this churn. > > > > > > That was my idea :} > > > > > > > Like Randy, I did not get "why" part quiet well, > > > > but if you are eager about this, > > > > you can show help message only when the following > > > > ("# Help:" prefix for example) is found in the first line. > > > > > > > > # Help: blah blah > > > > # other comment > > > > > > I did think of that, but wasn't sure how to do it in make. > > > > Something like this should do it: > > > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > > while read loc dummy helptext; do \ > > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > > [ "$${line}" = "1" ] && \ > > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > > done > > > > but this neither beautiful nor elegant it likes to be improved. > > > > Kind regards, > > Nicolas > > > > > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. > > > > -- > Best Regards > Masahiro Yamada > diff --git a/Makefile b/Makefile > index e21bf66af6fd..23cd62a5ff05 100644 > --- a/Makefile > +++ b/Makefile > @@ -1552,7 +1552,6 @@ help: > @echo ' mrproper - Remove all generated files + config + various backup files' > @echo ' distclean - mrproper + remove editor backup and patch files' > @echo '' > - @echo 'Configuration targets:' > @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help > @echo '' > @echo 'Other generic targets:' > diff --git a/arch/x86/Makefile b/arch/x86/Makefile > index fdc2e3abd615..c4b2a8a19fc8 100644 > --- a/arch/x86/Makefile > +++ b/arch/x86/Makefile > @@ -335,9 +335,5 @@ define archhelp > echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' > echo ' FDARGS="..." arguments for the booted kernel' > echo ' FDINITRD=file initrd for the booted kernel' > - echo '' > - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' > - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' > - echo ' x86_debug.config - Enable tip tree debugging options for testing' > > endef > diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config > index 208481d91090..d0877063d925 100644 > --- a/kernel/configs/kvm_guest.config > +++ b/kernel/configs/kvm_guest.config > @@ -1,3 +1,4 @@ > +# Help: Bootable as a KVM guest > CONFIG_NET=y > CONFIG_NET_CORE=y > CONFIG_NETDEVICES=y > diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config > index 6fac5b405334..35f48671b8d5 100644 > --- a/kernel/configs/x86_debug.config > +++ b/kernel/configs/x86_debug.config > @@ -1,3 +1,4 @@ > +# Help: Debugging options for tip tree testing > CONFIG_X86_DEBUG_FPU=y > CONFIG_LOCK_STAT=y > CONFIG_DEBUG_VM=y > diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config > index 436f806aa1ed..6878b9a49be8 100644 > --- a/kernel/configs/xen.config > +++ b/kernel/configs/xen.config > @@ -1,3 +1,5 @@ > +# Help: Bootable as a Xen guest > +# > # global stuff - these enable us to allow some > # of the not so generic stuff below for xen > CONFIG_PARAVIRT=y > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile > index af1c96198f49..e72c5ee659a9 100644 > --- a/scripts/kconfig/Makefile > +++ b/scripts/kconfig/Makefile > @@ -93,11 +93,13 @@ endif > %_defconfig: $(obj)/conf > $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) > > -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) > +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) > +all-config-fragments = $(call configfiles,*) > +config-fragments = $(call configfiles,$@) > > %.config: $(obj)/conf > - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) > - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) > + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) > + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) > $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig > > PHONY += tinyconfig > @@ -115,6 +117,7 @@ clean-files += tests/.cache > > # Help text used by make help > help: > + @echo 'Configuration targets:' > @echo ' config - Update current config utilising a line-oriented program' > @echo ' nconfig - Update current config utilising a ncurses menu based program' > @echo ' menuconfig - Update current config utilising a menu based program' > @@ -141,6 +144,12 @@ help: > @echo ' default value without prompting' > @echo ' tinyconfig - Configure the tiniest possible kernel' > @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' > + @echo '' > + @echo 'Configuration topic targets:' > + @$(foreach f, $(all-config-fragments), \ > + if help=$$(grep -m1 '^# Help: ' $(f)); then \ > + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ > + fi;) thanks, this looks much better, and SPDX is a good point. Kind regards, Nicolas [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-29 20:07 ` Nicolas Schier 0 siblings, 0 replies; 40+ messages in thread From: Nicolas Schier @ 2023-08-29 20:07 UTC (permalink / raw) To: Masahiro Yamada Cc: Michael Ellerman, Kees Cook, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening [-- Attachment #1.1: Type: text/plain, Size: 6145 bytes --] On Tue, Aug 29, 2023 at 11:57:19PM +0900 Masahiro Yamada wrote: > On Tue, Aug 29, 2023 at 3:55 PM Nicolas Schier <nicolas@fjasle.eu> wrote: > > > > On Mon 28 Aug 2023 16:17:07 GMT, Michael Ellerman wrote: > > > Masahiro Yamada <masahiroy@kernel.org> writes: > > > > On Sat, Aug 26, 2023 at 4:55 AM Kees Cook <keescook@chromium.org> wrote: > > > >> > > > >> Hi, > > > >> > > > >> This is my series to show *.config targets in the "help" target so these > > > >> various topics can be more easily discoverd. > > > >> > > > >> v2: > > > >> - split .fragment from .config to hide "internal" fragments > > > > > > > > Please do not do this churn. > > > > > > That was my idea :} > > > > > > > Like Randy, I did not get "why" part quiet well, > > > > but if you are eager about this, > > > > you can show help message only when the following > > > > ("# Help:" prefix for example) is found in the first line. > > > > > > > > # Help: blah blah > > > > # other comment > > > > > > I did think of that, but wasn't sure how to do it in make. > > > > Something like this should do it: > > > > @grep -Hnm1 -e '^# Help:' $(foreach f, $(sort $(notdir $(call configfiles,*.config))), $(firstword $(call configfiles,$(f)))) | \ > > while read loc dummy helptext; do \ > > tmp="$${loc%:#}"; file="$${tmp%:*}"; line="$${tmp##*:}"; \ > > [ "$${line}" = "1" ] && \ > > printf " %-25s - %s\\n" "$${file##*/}" "$${helptext}"; \ > > done > > > > but this neither beautiful nor elegant it likes to be improved. > > > > Kind regards, > > Nicolas > > > > > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. > > > > -- > Best Regards > Masahiro Yamada > diff --git a/Makefile b/Makefile > index e21bf66af6fd..23cd62a5ff05 100644 > --- a/Makefile > +++ b/Makefile > @@ -1552,7 +1552,6 @@ help: > @echo ' mrproper - Remove all generated files + config + various backup files' > @echo ' distclean - mrproper + remove editor backup and patch files' > @echo '' > - @echo 'Configuration targets:' > @$(MAKE) -f $(srctree)/scripts/kconfig/Makefile help > @echo '' > @echo 'Other generic targets:' > diff --git a/arch/x86/Makefile b/arch/x86/Makefile > index fdc2e3abd615..c4b2a8a19fc8 100644 > --- a/arch/x86/Makefile > +++ b/arch/x86/Makefile > @@ -335,9 +335,5 @@ define archhelp > echo ' bzdisk/fdimage*/hdimage/isoimage also accept:' > echo ' FDARGS="..." arguments for the booted kernel' > echo ' FDINITRD=file initrd for the booted kernel' > - echo '' > - echo ' kvm_guest.config - Enable Kconfig items for running this kernel as a KVM guest' > - echo ' xen.config - Enable Kconfig items for running this kernel as a Xen guest' > - echo ' x86_debug.config - Enable tip tree debugging options for testing' > > endef > diff --git a/kernel/configs/kvm_guest.config b/kernel/configs/kvm_guest.config > index 208481d91090..d0877063d925 100644 > --- a/kernel/configs/kvm_guest.config > +++ b/kernel/configs/kvm_guest.config > @@ -1,3 +1,4 @@ > +# Help: Bootable as a KVM guest > CONFIG_NET=y > CONFIG_NET_CORE=y > CONFIG_NETDEVICES=y > diff --git a/kernel/configs/x86_debug.config b/kernel/configs/x86_debug.config > index 6fac5b405334..35f48671b8d5 100644 > --- a/kernel/configs/x86_debug.config > +++ b/kernel/configs/x86_debug.config > @@ -1,3 +1,4 @@ > +# Help: Debugging options for tip tree testing > CONFIG_X86_DEBUG_FPU=y > CONFIG_LOCK_STAT=y > CONFIG_DEBUG_VM=y > diff --git a/kernel/configs/xen.config b/kernel/configs/xen.config > index 436f806aa1ed..6878b9a49be8 100644 > --- a/kernel/configs/xen.config > +++ b/kernel/configs/xen.config > @@ -1,3 +1,5 @@ > +# Help: Bootable as a Xen guest > +# > # global stuff - these enable us to allow some > # of the not so generic stuff below for xen > CONFIG_PARAVIRT=y > diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile > index af1c96198f49..e72c5ee659a9 100644 > --- a/scripts/kconfig/Makefile > +++ b/scripts/kconfig/Makefile > @@ -93,11 +93,13 @@ endif > %_defconfig: $(obj)/conf > $(Q)$< $(silent) --defconfig=arch/$(SRCARCH)/configs/$@ $(Kconfig) > > -configfiles=$(wildcard $(srctree)/kernel/configs/$@ $(srctree)/arch/$(SRCARCH)/configs/$@) > +configfiles = $(wildcard $(srctree)/kernel/configs/$(1) $(srctree)/arch/$(SRCARCH)/configs/$(1)) > +all-config-fragments = $(call configfiles,*) > +config-fragments = $(call configfiles,$@) > > %.config: $(obj)/conf > - $(if $(call configfiles),, $(error No configuration exists for this target on this architecture)) > - $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(configfiles) > + $(if $(config-fragments),, $(error $@ fragment does not exists on this architecture)) > + $(Q)$(CONFIG_SHELL) $(srctree)/scripts/kconfig/merge_config.sh -m .config $(config-fragments) > $(Q)$(MAKE) -f $(srctree)/Makefile olddefconfig > > PHONY += tinyconfig > @@ -115,6 +117,7 @@ clean-files += tests/.cache > > # Help text used by make help > help: > + @echo 'Configuration targets:' > @echo ' config - Update current config utilising a line-oriented program' > @echo ' nconfig - Update current config utilising a ncurses menu based program' > @echo ' menuconfig - Update current config utilising a menu based program' > @@ -141,6 +144,12 @@ help: > @echo ' default value without prompting' > @echo ' tinyconfig - Configure the tiniest possible kernel' > @echo ' testconfig - Run Kconfig unit tests (requires python3 and pytest)' > + @echo '' > + @echo 'Configuration topic targets:' > + @$(foreach f, $(all-config-fragments), \ > + if help=$$(grep -m1 '^# Help: ' $(f)); then \ > + printf ' %-25s - %s\n' '$(notdir $(f))' "$${help#*: }"; \ > + fi;) thanks, this looks much better, and SPDX is a good point. Kind regards, Nicolas [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 161 bytes --] _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" 2023-08-29 14:57 ` Masahiro Yamada (?) (?) @ 2023-08-31 0:03 ` Kees Cook -1 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-31 0:03 UTC (permalink / raw) To: Masahiro Yamada Cc: Nicolas Schier, Michael Ellerman, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. Good call. Yes, this looks excellent; thank you! Do you want to send a formal patch? Please consider it: Reviewed-by: Kees Cook <keescook@chromium.org> -- Kees Cook ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-31 0:03 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-31 0:03 UTC (permalink / raw) To: Masahiro Yamada Cc: Nicolas Schier, Michael Ellerman, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. Good call. Yes, this looks excellent; thank you! Do you want to send a formal patch? Please consider it: Reviewed-by: Kees Cook <keescook@chromium.org> -- Kees Cook _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-31 0:03 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-31 0:03 UTC (permalink / raw) To: Masahiro Yamada Cc: linux-s390, Randy Dunlap, Nicolas Schier, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. Good call. Yes, this looks excellent; thank you! Do you want to send a formal patch? Please consider it: Reviewed-by: Kees Cook <keescook@chromium.org> -- Kees Cook ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-31 0:03 ` Kees Cook 0 siblings, 0 replies; 40+ messages in thread From: Kees Cook @ 2023-08-31 0:03 UTC (permalink / raw) To: Masahiro Yamada Cc: Nicolas Schier, Michael Ellerman, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > The attached patch will work too. > > I dropped the "in the first line" restriction > because SPDX might be placed in the first line > of config fragments. Good call. Yes, this looks excellent; thank you! Do you want to send a formal patch? Please consider it: Reviewed-by: Kees Cook <keescook@chromium.org> -- Kees Cook _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" 2023-08-31 0:03 ` Kees Cook (?) (?) @ 2023-08-31 15:45 ` Masahiro Yamada -1 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-31 15:45 UTC (permalink / raw) To: Kees Cook Cc: Nicolas Schier, Michael Ellerman, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Thu, Aug 31, 2023 at 9:03 AM Kees Cook <keescook@chromium.org> wrote: > > On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > > The attached patch will work too. > > > > I dropped the "in the first line" restriction > > because SPDX might be placed in the first line > > of config fragments. > > Good call. Yes, this looks excellent; thank you! Do you want to send a > formal patch? Please consider it: > > Reviewed-by: Kees Cook <keescook@chromium.org> > > -- > Kees Cook You can send it with Co-developed-by: Masahiro Yamada <masahiroy@kernel.org> You can add help messages to more *.config files if you like, and add SPDX tags while you are here. -- Best Regards Masahiro Yamada ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-31 15:45 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-31 15:45 UTC (permalink / raw) To: Kees Cook Cc: Nicolas Schier, Michael Ellerman, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Thu, Aug 31, 2023 at 9:03 AM Kees Cook <keescook@chromium.org> wrote: > > On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > > The attached patch will work too. > > > > I dropped the "in the first line" restriction > > because SPDX might be placed in the first line > > of config fragments. > > Good call. Yes, this looks excellent; thank you! Do you want to send a > formal patch? Please consider it: > > Reviewed-by: Kees Cook <keescook@chromium.org> > > -- > Kees Cook You can send it with Co-developed-by: Masahiro Yamada <masahiroy@kernel.org> You can add help messages to more *.config files if you like, and add SPDX tags while you are here. -- Best Regards Masahiro Yamada _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-31 15:45 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-31 15:45 UTC (permalink / raw) To: Kees Cook Cc: linux-s390, Randy Dunlap, Nicolas Schier, linux-kbuild, x86, linux-kernel, linux-hardening, linux-riscv, linuxppc-dev, linux-arm-kernel On Thu, Aug 31, 2023 at 9:03 AM Kees Cook <keescook@chromium.org> wrote: > > On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > > The attached patch will work too. > > > > I dropped the "in the first line" restriction > > because SPDX might be placed in the first line > > of config fragments. > > Good call. Yes, this looks excellent; thank you! Do you want to send a > formal patch? Please consider it: > > Reviewed-by: Kees Cook <keescook@chromium.org> > > -- > Kees Cook You can send it with Co-developed-by: Masahiro Yamada <masahiroy@kernel.org> You can add help messages to more *.config files if you like, and add SPDX tags while you are here. -- Best Regards Masahiro Yamada ^ permalink raw reply [flat|nested] 40+ messages in thread
* Re: [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" @ 2023-08-31 15:45 ` Masahiro Yamada 0 siblings, 0 replies; 40+ messages in thread From: Masahiro Yamada @ 2023-08-31 15:45 UTC (permalink / raw) To: Kees Cook Cc: Nicolas Schier, Michael Ellerman, Christophe Leroy, Randy Dunlap, linux-kernel, x86, linux-arm-kernel, linuxppc-dev, linux-riscv, linux-s390, linux-kbuild, linux-hardening On Thu, Aug 31, 2023 at 9:03 AM Kees Cook <keescook@chromium.org> wrote: > > On Tue, Aug 29, 2023 at 11:57:19PM +0900, Masahiro Yamada wrote: > > The attached patch will work too. > > > > I dropped the "in the first line" restriction > > because SPDX might be placed in the first line > > of config fragments. > > Good call. Yes, this looks excellent; thank you! Do you want to send a > formal patch? Please consider it: > > Reviewed-by: Kees Cook <keescook@chromium.org> > > -- > Kees Cook You can send it with Co-developed-by: Masahiro Yamada <masahiroy@kernel.org> You can add help messages to more *.config files if you like, and add SPDX tags while you are here. -- Best Regards Masahiro Yamada _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv ^ permalink raw reply [flat|nested] 40+ messages in thread
end of thread, other threads:[~2023-08-31 15:46 UTC | newest] Thread overview: 40+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-08-25 19:47 [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` [PATCH v2 1/2] " Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` [PATCH v2 2/2] kbuild: Split internal config targets from .config into .fragment Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-25 19:47 ` Kees Cook 2023-08-28 1:03 ` [PATCH v2 0/2] kbuild: Show Kconfig fragments in "help" Masahiro Yamada 2023-08-28 1:03 ` Masahiro Yamada 2023-08-28 1:03 ` Masahiro Yamada 2023-08-28 1:03 ` Masahiro Yamada 2023-08-28 6:17 ` Michael Ellerman 2023-08-28 6:17 ` Michael Ellerman 2023-08-28 6:17 ` Michael Ellerman 2023-08-28 6:17 ` Michael Ellerman 2023-08-29 6:16 ` Nicolas Schier 2023-08-29 6:16 ` Nicolas Schier 2023-08-29 6:16 ` Nicolas Schier 2023-08-29 6:16 ` Nicolas Schier 2023-08-29 14:57 ` Masahiro Yamada 2023-08-29 14:57 ` Masahiro Yamada 2023-08-29 14:57 ` Masahiro Yamada 2023-08-29 14:57 ` Masahiro Yamada 2023-08-29 20:07 ` Nicolas Schier 2023-08-29 20:07 ` Nicolas Schier 2023-08-29 20:07 ` Nicolas Schier 2023-08-29 20:07 ` Nicolas Schier 2023-08-31 0:03 ` Kees Cook 2023-08-31 0:03 ` Kees Cook 2023-08-31 0:03 ` Kees Cook 2023-08-31 0:03 ` Kees Cook 2023-08-31 15:45 ` Masahiro Yamada 2023-08-31 15:45 ` Masahiro Yamada 2023-08-31 15:45 ` Masahiro Yamada 2023-08-31 15:45 ` Masahiro Yamada
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.