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 <m...@ellerman.id.au>
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 000000000000..8721eb7b1294 > --- /dev/null > +++ b/arch/powerpc/configs/book3s_32.config > @@ -0,0 +1,2 @@ > +CONFIG_PPC64=n > +CONFIG_PPC_BOOK3S_32=y > -- ~Randy