Hi Peter, On 29/1/20 8:39 pm, Peter Zijlstra wrote:
Hi! In order to faciliate Will's READ_ONCE() patches: https://lkml.kernel.org/r/20200123153341.19947-1-will@xxxxxxxxxx we need to fix m68k/motorola to not have a giant pmd_t. These patches do so and are tested using ARAnyM/68040. It would be very good if someone can either test or tell us what emulator to use for 020/030.
This series breaks compilation for the ColdFire (with MMU) variant of the m68k family: CC arch/m68k/kernel/sys_m68k.o In file included from ./arch/m68k/include/asm/pgalloc.h:12, from ./include/asm-generic/tlb.h:16, from ./arch/m68k/include/asm/tlb.h:5, from arch/m68k/kernel/sys_m68k.c:35: ./arch/m68k/include/asm/mcf_pgalloc.h: In function ‘__pte_free_tlb’: ./arch/m68k/include/asm/mcf_pgalloc.h:41:24: error: passing argument 1 of ‘pgtable_pte_page_dtor’ from incompatible pointer type [-Werror=incompatible-pointer-types] pgtable_pte_page_dtor(page); ^~~~ In file included from arch/m68k/kernel/sys_m68k.c:13: ./include/linux/mm.h:1949:55: note: expected ‘struct page *’ but argument is of type ‘pgtable_t’ {aka ‘struct <anonymous> *’} static inline void pgtable_pte_page_dtor(struct page *page) ~~~~~~~~~~~~~^~~~ In file included from ./include/linux/mm.h:10, from arch/m68k/kernel/sys_m68k.c:13: ./include/linux/gfp.h:577:40: error: passing argument 1 of ‘__free_pages’ from incompatible pointer type [-Werror=incompatible-pointer-types] #define __free_page(page) __free_pages((page), 0) ^~~~~~ ./arch/m68k/include/asm/mcf_pgalloc.h:42:2: note: in expansion of macro ‘__free_page’ __free_page(page); ^~~~~~~~~~~ ./include/linux/gfp.h:566:39: note: expected ‘struct page *’ but argument is of type ‘pgtable_t’ {aka ‘struct <anonymous> *’} extern void __free_pages(struct page *page, unsigned int order); ~~~~~~~~~~~~~^~~~ cc1: some warnings being treated as errors scripts/Makefile.build:265: recipe for target 'arch/m68k/kernel/sys_m68k.o' failed Easy to reproduce. Build for the m5475evb_defconfig. Regards Greg