Re: [PATCH 0/5] Rewrite Motorola MMU page-table layout

From: Greg Ungerer
Date: Fri Jan 31 2020 - 01:32:07 EST


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