Hi Michael, On Sun, Mar 5, 2023 at 9:44 PM Michael Schmitz <schmitzmic@xxxxxxxxx> wrote: > On 6/03/23 04:28, Matthew Wilcox wrote: > > On Sun, Mar 05, 2023 at 11:16:13AM +0100, Geert Uytterhoeven wrote: > >>> + while (nr--) { > >>> + __asm__ __volatile__("nop\n\t" > >>> + ".chip 68040\n\t" > >>> + "cpushp %%bc,(%0)\n\t" > >>> + ".chip 68k" > >>> + : : "a" (paddr + nr * PAGE_SIZE)); > >> As gcc (9.5.0) keeps on calculating "paddr + nr * PAGE_SIZE" > >> inside the loop (albeit using a shift instead of a multiplication), > >> please use "paddr" here, followed by "paddr += PAGE_SIZE;". > > Are we certain that contiguous vaddr always maps to contiguous paddr? For a general __flush_pages_to_ram() function, that would not be guaranteed. But as this is meant for folios, it must be true: https://elixir.bootlin.com/linux/latest/source/include/linux/mm_types.h#L320 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds