linux-stable/arch/parisc
Alexandre Ghiti 7a92fc8b4d mm: Introduce flush_cache_vmap_early()
The pcpu setup when using the page allocator sets up a new vmalloc
mapping very early in the boot process, so early that it cannot use the
flush_cache_vmap() function which may depend on structures not yet
initialized (for example in riscv, we currently send an IPI to flush
other cpus TLB).

But on some architectures, we must call flush_cache_vmap(): for example,
in riscv, some uarchs can cache invalid TLB entries so we need to flush
the new established mapping to avoid taking an exception.

So fix this by introducing a new function flush_cache_vmap_early() which
is called right after setting the new page table entry and before
accessing this new mapping. This new function implements a local flush
tlb on riscv and is no-op for other architectures (same as today).

Signed-off-by: Alexandre Ghiti <alexghiti@rivosinc.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Dennis Zhou <dennis@kernel.org>
2023-12-14 00:23:17 -08:00
..
boot parisc: Allow building uncompressed Linux kernel 2023-10-30 14:54:40 +01:00
configs staging: qlge: Retire the driver 2023-10-21 11:52:54 +02:00
include mm: Introduce flush_cache_vmap_early() 2023-12-14 00:23:17 -08:00
kernel parisc: Ensure 32-bit alignment on parisc unwind section 2023-11-25 09:43:17 +01:00
lib parisc: ucmpdi2: Fix no previous prototype for '__ucmpdi2' warning 2023-08-10 18:34:05 +02:00
math-emu parisc: math-emu: Avoid compiler warnings with W=1 2023-07-03 18:56:03 +02:00
mm mm: hugetlb: add huge page size param to set_huge_pte_at() 2023-09-29 17:20:47 -07:00
net parisc: Add eBPF JIT compiler glue code and Makefile 2023-08-22 10:24:47 +02:00
video fbdev: Include <linux/fb.h> instead of <asm/fb.h> 2023-05-18 11:06:21 +02:00
Kbuild parisc: Wire up eBPF JIT compiler 2023-08-22 10:24:47 +02:00
Kconfig parisc: Reduce size of the bug_table on 64-bit kernel by half 2023-11-25 09:43:18 +01:00
Kconfig.debug parisc: Use page table locks only if DEBUG_KERNEL is enabled 2023-08-20 20:23:46 +02:00
Makefile kbuild: unify vdso_install rules 2023-10-28 21:09:02 +09:00
defpalo.conf
install.sh kbuild: factor out the common installation code into scripts/install.sh 2022-05-11 21:45:53 +09:00