Re: [1/2] powerpc: Add ppc32_allmodconfig defconfig target
On Mon, 2018-07-09 at 14:24:25 UTC, Michael Ellerman wrote: > Because the allmodconfig logic just sets every symbol to M or Y, it > has the effect of always generating a 64-bit config, because > CONFIG_PPC64 becomes Y. > > So to make it easier for folks to test 32-bit code, provide a phony > defconfig target that generates a 32-bit allmodconfig. > > The 32-bit port has several mutually exclusive CPU types, we choose > the Book3S variants as that's what the help text in Kconfig says is > most common. > > Signed-off-by: Michael Ellerman Series applied to powerpc next. https://git.kernel.org/powerpc/c/8db0c9d416f26018cb7cabfb0b144f cheers
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
Randy Dunlap writes: > On 07/09/2018 07:24 AM, Michael Ellerman wrote: >> Because the allmodconfig logic just sets every symbol to M or Y, it >> has the effect of always generating a 64-bit config, because >> CONFIG_PPC64 becomes Y. >> >> So to make it easier for folks to test 32-bit code, provide a phony >> defconfig target that generates a 32-bit allmodconfig. >> >> The 32-bit port has several mutually exclusive CPU types, we choose >> the Book3S variants as that's what the help text in Kconfig says is >> most common. >> >> Signed-off-by: Michael Ellerman > > Hi Michael, > > ppc32_allmodconfig sets CONFIG_ISA=y (and other related symbols) and > CONFIG_PPC_CHRP=y. But my builds are failing because they are missing > the functions isa_bus_to_virt() and isa_virt_to_bus(). > > Any ideas? It's old legacy cruft that we've never implemented :) I don't know if it's possible to implement it for CHRP, Ben implied it might be, back in 2009: https://lists.ozlabs.org/pipermail/linuxppc-dev/2009-June/073232.html But of course nothing came of it. It looks like there's only a handful of drivers left using them, we should probably just mark them as not buildable on PPC. Arnd did something similar for ARM in: e9b106b8fbdb ("net: lance,ni64: don't build for ARM") cheers
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
Randy Dunlap writes: > On 07/09/2018 07:24 AM, Michael Ellerman wrote: >> Because the allmodconfig logic just sets every symbol to M or Y, it >> has the effect of always generating a 64-bit config, because >> CONFIG_PPC64 becomes Y. >> >> So to make it easier for folks to test 32-bit code, provide a phony >> defconfig target that generates a 32-bit allmodconfig. >> >> The 32-bit port has several mutually exclusive CPU types, we choose >> the Book3S variants as that's what the help text in Kconfig says is >> most com >> Signed-off-by: Michael Ellerman > > Hi Michael, > > Sorry for the delay. I was traveling (out in the boonies). > > I'm trying to use 'make ppc32_allmodconfig'. Cross-building on x86_64 > with crosstools from kernel.org. (gcc 8.1.0) > > I'm getting build errors. Looks like it's missing a header file or 3. > I looked into that but it's a long and twisty maze of passages. > Any ideas? Urk. That code was really written for 64-bit and we haven't ever quite made it fully generic, as you can see. Christophe got it working for 8xx (a different 32-bit variant), but clearly it doesn't work for this config. This might be the solution for now: diff --git a/arch/powerpc/Kconfig.debug b/arch/powerpc/Kconfig.debug index c45424c64e19..cb406d00702c 100644 --- a/arch/powerpc/Kconfig.debug +++ b/arch/powerpc/Kconfig.debug @@ -362,6 +362,7 @@ config FAIL_IOMMU config PPC_PTDUMP bool "Export kernel pagetable layout to userspace via debugfs" depends on DEBUG_KERNEL && DEBUG_FS +depends on PPC64 || PPC_8xx help This option exports the state of the kernel pagetables to a debugfs file. This is only useful for kernel developers who are cheers > CC arch/powerpc/mm/dump_linuxpagetables.o > In file included from ../arch/powerpc/include/asm/book3s/pgtable.h:8, > from ../arch/powerpc/include/asm/pgtable.h:18, > from ../include/linux/hugetlb.h:12, > from ../arch/powerpc/mm/dump_linuxpagetables.c:19: > ../arch/powerpc/mm/dump_linuxpagetables.c: In function 'populate_markers': > ../arch/powerpc/include/asm/book3s/32/pgtable.h:53:19: error: 'PKMAP_BASE' > undeclared (first use in this function); did you mean 'AT_BASE'? > #define KVIRT_TOP PKMAP_BASE >^~ > ../arch/powerpc/include/asm/book3s/32/pgtable.h:64:23: note: in expansion of > macro 'KVIRT_TOP' > #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) >^ > ../arch/powerpc/mm/dump_linuxpagetables.c:456:39: note: in expansion of macro > 'IOREMAP_TOP' > address_markers[i++].start_address = IOREMAP_TOP; >^~~ > ../arch/powerpc/include/asm/book3s/32/pgtable.h:53:19: note: each undeclared > identifier is reported only once for each function it appears in > #define KVIRT_TOP PKMAP_BASE >^~ > ../arch/powerpc/include/asm/book3s/32/pgtable.h:64:23: note: in expansion of > macro 'KVIRT_TOP' > #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) >^ > ../arch/powerpc/mm/dump_linuxpagetables.c:456:39: note: in expansion of macro > 'IOREMAP_TOP' > address_markers[i++].start_address = IOREMAP_TOP; >^~~ > ../arch/powerpc/mm/dump_linuxpagetables.c:464:39: error: implicit declaration > of function 'PKMAP_ADDR'; did you mean 'PCI_IO_ADDR'? > [-Werror=implicit-function-declaration] > address_markers[i++].start_address = PKMAP_ADDR(LAST_PKMAP); >^~ >PCI_IO_ADDR > ../arch/powerpc/mm/dump_linuxpagetables.c:464:50: error: 'LAST_PKMAP' > undeclared (first use in this function); did you mean 'LIST_HEAD'? > address_markers[i++].start_address = PKMAP_ADDR(LAST_PKMAP); > ^~ > LIST_HEAD > > > > Thanks. > >> --- >> arch/powerpc/Makefile | 5 + >> arch/powerpc/configs/book3s_32.config | 2 ++ >> 2 files changed, 7 insertions(+) >> create mode 100644 arch/powerpc/configs/book3s_32.config >> >> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile >> index 2ea575cb3401..2556c2182789 100644 >> --- a/arch/powerpc/Makefile >> +++ b/arch/powerpc/Makefile >> @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: >> $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ >> 86xx-smp 86xx-hw fsl-emb-nonhw) >> >> +PHONY += ppc32_allmodconfig >> +ppc32_allmodconfig: >> +$(Q)$(MAKE) >> KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ >> +-f $(srctree)/Makefile allmodconfig >> + >> define archhelp >>@echo '* zImage - Build default images selected by kernel config' >>@echo ' zImage.*- Compressed kernel image >> (arch/$(ARCH)/boot/zIm
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
On 07/09/2018 07:24 AM, Michael Ellerman wrote: > Because the allmodconfig logic just sets every symbol to M or Y, it > has the effect of always generating a 64-bit config, because > CONFIG_PPC64 becomes Y. > > So to make it easier for folks to test 32-bit code, provide a phony > defconfig target that generates a 32-bit allmodconfig. > > The 32-bit port has several mutually exclusive CPU types, we choose > the Book3S variants as that's what the help text in Kconfig says is > most common. > > Signed-off-by: Michael Ellerman Hi Michael, ppc32_allmodconfig sets CONFIG_ISA=y (and other related symbols) and CONFIG_PPC_CHRP=y. But my builds are failing because they are missing the functions isa_bus_to_virt() and isa_virt_to_bus(). Any ideas? Thanks. > --- > arch/powerpc/Makefile | 5 + > arch/powerpc/configs/book3s_32.config | 2 ++ > 2 files changed, 7 insertions(+) > create mode 100644 arch/powerpc/configs/book3s_32.config > > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 2ea575cb3401..2556c2182789 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: > $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ > 86xx-smp 86xx-hw fsl-emb-nonhw) > > +PHONY += ppc32_allmodconfig > +ppc32_allmodconfig: > + $(Q)$(MAKE) > KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ > + -f $(srctree)/Makefile allmodconfig > + > define archhelp >@echo '* zImage - Build default images selected by kernel config' >@echo ' zImage.*- Compressed kernel image > (arch/$(ARCH)/boot/zImage.*)' > diff --git a/arch/powerpc/configs/book3s_32.config > b/arch/powerpc/configs/book3s_32.config > new file mode 100644 > index ..8721eb7b1294 > --- /dev/null > +++ b/arch/powerpc/configs/book3s_32.config > @@ -0,0 +1,2 @@ > +CONFIG_PPC64=n > +CONFIG_PPC_BOOK3S_32=y > -- ~Randy
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
On 07/09/2018 07:24 AM, Michael Ellerman wrote: > Because the allmodconfig logic just sets every symbol to M or Y, it > has the effect of always generating a 64-bit config, because > CONFIG_PPC64 becomes Y. > > So to make it easier for folks to test 32-bit code, provide a phony > defconfig target that generates a 32-bit allmodconfig. > > The 32-bit port has several mutually exclusive CPU types, we choose > the Book3S variants as that's what the help text in Kconfig says is > most com > Signed-off-by: Michael Ellerman Hi Michael, Sorry for the delay. I was traveling (out in the boonies). I'm trying to use 'make ppc32_allmodconfig'. Cross-building on x86_64 with crosstools from kernel.org. (gcc 8.1.0) I'm getting build errors. Looks like it's missing a header file or 3. I looked into that but it's a long and twisty maze of passages. Any ideas? CC arch/powerpc/mm/dump_linuxpagetables.o In file included from ../arch/powerpc/include/asm/book3s/pgtable.h:8, from ../arch/powerpc/include/asm/pgtable.h:18, from ../include/linux/hugetlb.h:12, from ../arch/powerpc/mm/dump_linuxpagetables.c:19: ../arch/powerpc/mm/dump_linuxpagetables.c: In function 'populate_markers': ../arch/powerpc/include/asm/book3s/32/pgtable.h:53:19: error: 'PKMAP_BASE' undeclared (first use in this function); did you mean 'AT_BASE'? #define KVIRT_TOP PKMAP_BASE ^~ ../arch/powerpc/include/asm/book3s/32/pgtable.h:64:23: note: in expansion of macro 'KVIRT_TOP' #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) ^ ../arch/powerpc/mm/dump_linuxpagetables.c:456:39: note: in expansion of macro 'IOREMAP_TOP' address_markers[i++].start_address = IOREMAP_TOP; ^~~ ../arch/powerpc/include/asm/book3s/32/pgtable.h:53:19: note: each undeclared identifier is reported only once for each function it appears in #define KVIRT_TOP PKMAP_BASE ^~ ../arch/powerpc/include/asm/book3s/32/pgtable.h:64:23: note: in expansion of macro 'KVIRT_TOP' #define IOREMAP_TOP ((KVIRT_TOP - CONFIG_CONSISTENT_SIZE) & PAGE_MASK) ^ ../arch/powerpc/mm/dump_linuxpagetables.c:456:39: note: in expansion of macro 'IOREMAP_TOP' address_markers[i++].start_address = IOREMAP_TOP; ^~~ ../arch/powerpc/mm/dump_linuxpagetables.c:464:39: error: implicit declaration of function 'PKMAP_ADDR'; did you mean 'PCI_IO_ADDR'? [-Werror=implicit-function-declaration] address_markers[i++].start_address = PKMAP_ADDR(LAST_PKMAP); ^~ PCI_IO_ADDR ../arch/powerpc/mm/dump_linuxpagetables.c:464:50: error: 'LAST_PKMAP' undeclared (first use in this function); did you mean 'LIST_HEAD'? address_markers[i++].start_address = PKMAP_ADDR(LAST_PKMAP); ^~ LIST_HEAD Thanks. > --- > arch/powerpc/Makefile | 5 + > arch/powerpc/configs/book3s_32.config | 2 ++ > 2 files changed, 7 insertions(+) > create mode 100644 arch/powerpc/configs/book3s_32.config > > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 2ea575cb3401..2556c2182789 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: > $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ > 86xx-smp 86xx-hw fsl-emb-nonhw) > > +PHONY += ppc32_allmodconfig > +ppc32_allmodconfig: > + $(Q)$(MAKE) > KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ > + -f $(srctree)/Makefile allmodconfig > + > define archhelp >@echo '* zImage - Build default images selected by kernel config' >@echo ' zImage.*- Compressed kernel image > (arch/$(ARCH)/boot/zImage.*)' > diff --git a/arch/powerpc/configs/book3s_32.config > b/arch/powerpc/configs/book3s_32.config > new file mode 100644 > index ..8721eb7b1294 > --- /dev/null > +++ b/arch/powerpc/configs/book3s_32.config > @@ -0,0 +1,2 @@ > +CONFIG_PPC64=n > +CONFIG_PPC_BOOK3S_32=y > -- ~Randy
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
Mathieu Malaterre writes: > On Tue, Jul 10, 2018 at 3:47 PM Michael Ellerman wrote: >> Mathieu Malaterre writes: >> > On Mon, Jul 9, 2018 at 4:24 PM Michael Ellerman >> > wrote: >> >> Because the allmodconfig logic just sets every symbol to M or Y, it >> >> has the effect of always generating a 64-bit config, because >> >> CONFIG_PPC64 becomes Y. >> >> >> >> So to make it easier for folks to test 32-bit code, provide a phony >> >> defconfig target that generates a 32-bit allmodconfig. >> >> >> >> The 32-bit port has several mutually exclusive CPU types, we choose >> >> the Book3S variants as that's what the help text in Kconfig says is >> >> most common. >> > >> > Ok then. >> >> That was just me taking a stab in the dark. You suggested we should >> mimic the Debian config, what does that use? > > Sorry got confused for a minute. This is the correct value (at least > the one used in Debian). OK cool. >> >> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile >> >> index 2ea575cb3401..2556c2182789 100644 >> >> --- a/arch/powerpc/Makefile >> >> +++ b/arch/powerpc/Makefile >> >> @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: >> >> $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ >> >> 86xx-smp 86xx-hw fsl-emb-nonhw) >> >> >> >> +PHONY += ppc32_allmodconfig >> >> +ppc32_allmodconfig: >> >> + $(Q)$(MAKE) >> >> KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ >> >> + -f $(srctree)/Makefile allmodconfig >> >> + >> > >> > I this a good time to update line 34 at the same time: >> > >> > KBUILD_DEFCONFIG := $(shell uname -m)_defconfig >> > >> > ? >> >> 34 or 36? >> >> ifeq ($(CROSS_COMPILE),) >> KBUILD_DEFCONFIG := $(shell uname -m)_defconfig >> else >> KBUILD_DEFCONFIG := ppc64_defconfig >> endif >> >> Do you mean the else case? > > As far as I know uname -m on powerpc returns 'ppc' so the following > has always failed from a ppc32be machine: Oh yep it does. I've never built a kernel *on* a 32-bit machine ;) > $ make ARCH=powerpc defconfig > > I was simply suggesting to mimic what was done for ppc64: > > ifeq ($(CROSS_COMPILE),) > KBUILD_DEFCONFIG := ppc32_defconfig > else > KBUILD_DEFCONFIG := ppc64_defconfig > endif That wouldn't work, CROSS_COMPILE isn't a ppc/ppc64 thing. In fact setting CROSS_COMPILE doesn't actually mean you're cross compiling, it just means you're using a different toolchain. I do that all the time, because I want to use a specific version of GCC, not the distro one. What about: diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 2ea575c..e70d223 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -30,10 +30,13 @@ endif endif endif -ifeq ($(CROSS_COMPILE),) -KBUILD_DEFCONFIG := $(shell uname -m)_defconfig +host_arch := $(shell uname -m) +ifeq ($(host_arch),ppc) + KBUILD_DEFCONFIG := ppc32_defconfig +else ifeq ($(host_arch),ppc64) + KBUILD_DEFCONFIG := ppc64_defconfig else -KBUILD_DEFCONFIG := ppc64_defconfig + KBUILD_DEFCONFIG := ppc64le_defconfig endif ifeq ($(CONFIG_PPC64),y) We obviously need a ppc32_defconfig to make that work. > If I followed the discussion one would want the file `ppc32_defconfig` > to contains pretty much the same thing as the .config generated from > `book3s_32.config`, right ? Can you boot the resulting kernel if you build ppc32_allmodconfig ? Maybe we should just make that be ppc32_defconfig. cheers
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
On Tue, Jul 10, 2018 at 3:47 PM Michael Ellerman wrote: > > Mathieu Malaterre writes: > > On Mon, Jul 9, 2018 at 4:24 PM Michael Ellerman wrote: > >> > >> Because the allmodconfig logic just sets every symbol to M or Y, it > >> has the effect of always generating a 64-bit config, because > >> CONFIG_PPC64 becomes Y. > >> > >> So to make it easier for folks to test 32-bit code, provide a phony > >> defconfig target that generates a 32-bit allmodconfig. > >> > >> The 32-bit port has several mutually exclusive CPU types, we choose > >> the Book3S variants as that's what the help text in Kconfig says is > >> most common. > > > > Ok then. > > That was just me taking a stab in the dark. You suggested we should > mimic the Debian config, what does that use? Sorry got confused for a minute. This is the correct value (at least the one used in Debian). > >> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > >> index 2ea575cb3401..2556c2182789 100644 > >> --- a/arch/powerpc/Makefile > >> +++ b/arch/powerpc/Makefile > >> @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: > >> $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ > >> 86xx-smp 86xx-hw fsl-emb-nonhw) > >> > >> +PHONY += ppc32_allmodconfig > >> +ppc32_allmodconfig: > >> + $(Q)$(MAKE) > >> KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ > >> + -f $(srctree)/Makefile allmodconfig > >> + > > > > I this a good time to update line 34 at the same time: > > > > KBUILD_DEFCONFIG := $(shell uname -m)_defconfig > > > > ? > > 34 or 36? > > ifeq ($(CROSS_COMPILE),) > KBUILD_DEFCONFIG := $(shell uname -m)_defconfig > else > KBUILD_DEFCONFIG := ppc64_defconfig > endif > > Do you mean the else case? As far as I know uname -m on powerpc returns 'ppc' so the following has always failed from a ppc32be machine: $ make ARCH=powerpc defconfig I was simply suggesting to mimic what was done for ppc64: ifeq ($(CROSS_COMPILE),) KBUILD_DEFCONFIG := ppc32_defconfig else KBUILD_DEFCONFIG := ppc64_defconfig endif If I followed the discussion one would want the file `ppc32_defconfig` to contains pretty much the same thing as the .config generated from `book3s_32.config`, right ? > cheers
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
Mathieu Malaterre writes: > On Mon, Jul 9, 2018 at 4:24 PM Michael Ellerman wrote: >> >> Because the allmodconfig logic just sets every symbol to M or Y, it >> has the effect of always generating a 64-bit config, because >> CONFIG_PPC64 becomes Y. >> >> So to make it easier for folks to test 32-bit code, provide a phony >> defconfig target that generates a 32-bit allmodconfig. >> >> The 32-bit port has several mutually exclusive CPU types, we choose >> the Book3S variants as that's what the help text in Kconfig says is >> most common. > > Ok then. That was just me taking a stab in the dark. You suggested we should mimic the Debian config, what does that use? >> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile >> index 2ea575cb3401..2556c2182789 100644 >> --- a/arch/powerpc/Makefile >> +++ b/arch/powerpc/Makefile >> @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: >> $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ >> 86xx-smp 86xx-hw fsl-emb-nonhw) >> >> +PHONY += ppc32_allmodconfig >> +ppc32_allmodconfig: >> + $(Q)$(MAKE) >> KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ >> + -f $(srctree)/Makefile allmodconfig >> + > > I this a good time to update line 34 at the same time: > > KBUILD_DEFCONFIG := $(shell uname -m)_defconfig > > ? 34 or 36? ifeq ($(CROSS_COMPILE),) KBUILD_DEFCONFIG := $(shell uname -m)_defconfig else KBUILD_DEFCONFIG := ppc64_defconfig endif Do you mean the else case? cheers
Re: [PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
On Mon, Jul 9, 2018 at 4:24 PM Michael Ellerman wrote: > > Because the allmodconfig logic just sets every symbol to M or Y, it > has the effect of always generating a 64-bit config, because > CONFIG_PPC64 becomes Y. > > So to make it easier for folks to test 32-bit code, provide a phony > defconfig target that generates a 32-bit allmodconfig. > > The 32-bit port has several mutually exclusive CPU types, we choose > the Book3S variants as that's what the help text in Kconfig says is > most common. Ok then. > Signed-off-by: Michael Ellerman > --- > arch/powerpc/Makefile | 5 + > arch/powerpc/configs/book3s_32.config | 2 ++ > 2 files changed, 7 insertions(+) > create mode 100644 arch/powerpc/configs/book3s_32.config > > diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile > index 2ea575cb3401..2556c2182789 100644 > --- a/arch/powerpc/Makefile > +++ b/arch/powerpc/Makefile > @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: > $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ > 86xx-smp 86xx-hw fsl-emb-nonhw) > > +PHONY += ppc32_allmodconfig > +ppc32_allmodconfig: > + $(Q)$(MAKE) > KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ > + -f $(srctree)/Makefile allmodconfig > + I this a good time to update line 34 at the same time: KBUILD_DEFCONFIG := $(shell uname -m)_defconfig ? > define archhelp >@echo '* zImage - Build default images selected by kernel config' >@echo ' zImage.*- Compressed kernel image > (arch/$(ARCH)/boot/zImage.*)' > diff --git a/arch/powerpc/configs/book3s_32.config > b/arch/powerpc/configs/book3s_32.config > new file mode 100644 > index ..8721eb7b1294 > --- /dev/null > +++ b/arch/powerpc/configs/book3s_32.config > @@ -0,0 +1,2 @@ > +CONFIG_PPC64=n > +CONFIG_PPC_BOOK3S_32=y > -- > 2.14.1 >
[PATCH 1/2] powerpc: Add ppc32_allmodconfig defconfig target
Because the allmodconfig logic just sets every symbol to M or Y, it has the effect of always generating a 64-bit config, because CONFIG_PPC64 becomes Y. So to make it easier for folks to test 32-bit code, provide a phony defconfig target that generates a 32-bit allmodconfig. The 32-bit port has several mutually exclusive CPU types, we choose the Book3S variants as that's what the help text in Kconfig says is most common. Signed-off-by: Michael Ellerman --- arch/powerpc/Makefile | 5 + arch/powerpc/configs/book3s_32.config | 2 ++ 2 files changed, 7 insertions(+) create mode 100644 arch/powerpc/configs/book3s_32.config diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile index 2ea575cb3401..2556c2182789 100644 --- a/arch/powerpc/Makefile +++ b/arch/powerpc/Makefile @@ -354,6 +354,11 @@ mpc86xx_smp_defconfig: $(call merge_into_defconfig,mpc86xx_basic_defconfig,\ 86xx-smp 86xx-hw fsl-emb-nonhw) +PHONY += ppc32_allmodconfig +ppc32_allmodconfig: + $(Q)$(MAKE) KCONFIG_ALLCONFIG=$(srctree)/arch/powerpc/configs/book3s_32.config \ + -f $(srctree)/Makefile allmodconfig + define archhelp @echo '* zImage - Build default images selected by kernel config' @echo ' zImage.*- Compressed kernel image (arch/$(ARCH)/boot/zImage.*)' diff --git a/arch/powerpc/configs/book3s_32.config b/arch/powerpc/configs/book3s_32.config new file mode 100644 index ..8721eb7b1294 --- /dev/null +++ b/arch/powerpc/configs/book3s_32.config @@ -0,0 +1,2 @@ +CONFIG_PPC64=n +CONFIG_PPC_BOOK3S_32=y -- 2.14.1