linux-stable/arch/arm
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 Pin control changes for the v6.7 kernel cycle 2023-11-03 19:15:19 -10:00
common ARM: 9319/1: sa1111: fix sa1111_probe kernel-doc warnings 2023-10-05 16:15:40 +01:00
configs - removed AR7 platform support 2023-11-10 09:19:46 -08:00
crypto crypto: arm/nhpoly1305 - implement ->digest 2023-10-20 13:39:25 +08:00
include mm: Introduce flush_cache_vmap_early() 2023-12-14 00:23:17 -08:00
kernel TTY/Serial changes for 6.7-rc1 2023-11-03 15:44:25 -10:00
lib ARM: 9321/1: memset: cast the constant byte to unsigned char 2023-10-05 16:15:41 +01:00
mach-actions
mach-airoha
mach-alpine ARM: alpine: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-artpec
mach-asm9260
mach-aspeed
mach-at91 ARM: at91: Explicitly include correct DT includes 2023-07-29 16:56:04 +03:00
mach-axxia
mach-bcm ARM: bcm: Drop unused includes 2023-07-21 10:01:47 -07:00
mach-berlin ARM: berlin: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-clps711x
mach-davinci ARM: davinci: Drop unused includes 2023-08-29 16:01:32 -04:00
mach-digicolor
mach-dove ARM: dove: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-ep93xx
mach-exynos ARM: SoC changes for 6.5 2023-06-29 15:28:33 -07:00
mach-footbridge
mach-gemini
mach-highbank
mach-hisi ARM: hisi: Drop unused includes 2023-07-19 06:29:04 +00:00
mach-hpe ARM: hpe: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-imx ARM: imx: Drop unused includes 2023-07-19 15:28:44 +08:00
mach-ixp4xx
mach-keystone ARM: keystone: Merge PM function into main support file 2023-08-01 23:57:28 -05:00
mach-lpc18xx
mach-lpc32xx
mach-mediatek
mach-meson ARM: meson: Drop unused includes 2023-07-31 11:58:18 +02:00
mach-milbeaut
mach-mmp ARM: mmp: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-moxart
mach-mstar
mach-mv78xx0
mach-mvebu ARM: mvebu: Explicitly include correct DT includes 2023-08-12 10:31:00 +02:00
mach-mxs
mach-nomadik ARM: nomadik: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-npcm ARM: npcm: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-nspire ARM: nspire: Remove unused header file mmio.h 2023-08-12 11:49:32 +02:00
mach-omap1 gpio updates for v6.7-rc1 2023-10-31 17:21:54 -10:00
mach-omap2 sound updates for 6.7 2023-11-02 14:34:14 -10:00
mach-orion5x
mach-pxa ARM: SoC cleanups for 6.6 2023-08-30 16:49:40 -07:00
mach-qcom
mach-rda
mach-realtek
mach-rockchip ARM: rockchip: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-rpc
mach-s3c
mach-s5pv210 ARM: s5pv210: Explicitly include correct DT includes 2023-08-14 18:15:48 +02:00
mach-sa1100 ARM: locomo: fix locomolcd_power declaration 2023-09-28 09:15:51 +02:00
mach-shmobile ARM: shmobile: sh73a0: Reserve boot area when SMP is enabled 2023-09-27 11:00:27 +02:00
mach-socfpga ARM: socfpga: Explicitly include correct DT includes 2023-07-20 14:38:38 -05:00
mach-spear ARM: spear: Explicitly include correct DT includes 2023-08-12 10:31:01 +02:00
mach-sti ARM: sti: Drop unused includes 2023-08-12 10:30:59 +02:00
mach-stm32
mach-sunplus
mach-sunxi
mach-tegra
mach-uniphier
mach-ux500 ARM: ux500: Move power-domain driver to the genpd dir 2023-07-14 10:41:59 +02:00
mach-versatile ARM: versatile: Drop unused includes 2023-08-12 10:31:00 +02:00
mach-vt8500
mach-zynq ARM: zynq: Explicitly include correct DT includes 2023-07-20 17:06:50 +02:00
mm ARM: uniphier: fix cache kernel-doc warnings 2023-09-27 11:02:14 +02:00
net arm32, bpf: add support for 64 bit division instruction 2023-09-15 17:16:56 -07:00
nwfpe
plat-orion
probes
tools asm-generic updates for v6.7 2023-11-01 15:28:33 -10:00
vdso kbuild: unify vdso_install rules 2023-10-28 21:09:02 +09:00
vfp Merge branch 'devel-stable' into for-next 2023-08-14 12:18:06 +01:00
xen arm/xen: fix xen_vcpu_info allocation alignment 2023-11-23 09:32:41 +01:00
Kbuild
Kconfig dma-direct: add a CONFIG_ARCH_HAS_DMA_ALLOC symbol 2023-10-22 16:38:54 +02:00
Kconfig-nommu
Kconfig.assembler
Kconfig.debug arm: debug: reuse the config DEBUG_OMAP2UART{1,2} for OMAP{3,4,5} 2023-10-26 17:26:15 +02:00
Makefile kbuild: unify vdso_install rules 2023-10-28 21:09:02 +09:00