On 26.03.20 23:47, James Bottomley wrote: > On Thu, 2020-03-26 at 23:19 +0100, Helge Deller wrote: >> * Guenter Roeck <linux@xxxxxxxxxxxx>: >>> On Mon, Feb 03, 2020 at 10:31:22PM +0100, Helge Deller wrote: >>>> Regenerate the 32- and 64-bit defconfigs and drop the outdated >>>> specific >>>> machine defconfigs for the 712, A500, B160, C3000 and C8000 >>>> workstations. >>>> --- >>>> arch/parisc/configs/712_defconfig | 181 -------------- >>>> - >>>> arch/parisc/configs/a500_defconfig | 177 -------------- >>>> - >>>> arch/parisc/configs/defconfig | 206 -------------- >>>> --- >>> >>> Since the removal of arch/parisc/configs/defconfig, "make >>> ARCH=parisc >>> defconfig" results in an endless recursive make loop. >> >> Can you please test the patch below? >> Helge >> >> ---- >> [PATCH] parisc: Fix defconfig selection >> >> Fix the recursive loop when running "make ARCH=parisc defconfig". >> >> Fixes: 84669923e1ed ("parisc: Regenerate parisc defconfigs") >> Noticed-by: Guenter Roeck <linux@xxxxxxxxxxxx> >> Signed-off-by: Helge Deller <deller@xxxxxx> >> >> diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig >> index 71034b54d74e..3801a2ef9bca 100644 >> --- a/arch/parisc/Kconfig >> +++ b/arch/parisc/Kconfig >> @@ -79,6 +79,11 @@ config MMU >> config STACK_GROWSUP >> def_bool y >> >> +config ARCH_DEFCONFIG >> + string >> + default "arch/parisc/configs/generic-32bit_defconfig" if >> !64BIT >> + default "arch/parisc/configs/generic-64bit_defconfig" if >> 64BIT >> + >> config GENERIC_LOCKBREAK >> bool >> default y >> diff --git a/arch/parisc/Makefile b/arch/parisc/Makefile >> index dca8f2de8cf5..628cd8bb7ad8 100644 >> --- a/arch/parisc/Makefile >> +++ b/arch/parisc/Makefile >> @@ -34,6 +34,13 @@ CC_ARCHES = hppa hppa2.0 hppa1.1 >> LD_BFD := elf32-hppa-linux >> endif >> >> +# select defconfig based on actual architecture >> +ifeq ($(shell uname -m),parisc64) > > This won't work for cross builds. You should be able to use > $(CONFIG_64BIT) here, though. I don't think so... CONFIG_64BIT is set in the config itself. I'm using crossbuilds, and "make ARCH=parisc defconfig" does work in the sense that it auto-selects 32bit then: [deller@ls3530 linux-2.6]$ uname -m x86_64 [deller@ls3530 test]$ make ARCH=parisc defconfig make: Entering directory '/home/cvs/LINUX/git-kernel/linux-2.6' make[1]: Entering directory '/home/cvs/LINUX/git-kernel/test' GEN Makefile .... HOSTLD scripts/kconfig/conf *** Default configuration is based on 'generic-32bit_defconfig' # # configuration written to .config # If you want the 64bit defconfig you can run make ARCH=parisc generic-64bit_defconfig Helge