linux/Documentation/features
Andrea Parri cd9b29014d
membarrier: riscv: Provide core serializing command
RISC-V uses xRET instructions on return from interrupt and to go back
to user-space; the xRET instruction is not core serializing.

Use FENCE.I for providing core serialization as follows:

 - by calling sync_core_before_usermode() on return from interrupt (cf.
   ipi_sync_core()),

 - via switch_mm() and sync_core_before_usermode() (respectively, for
   uthread->uthread and kthread->uthread transitions) before returning
   to user-space.

On RISC-V, the serialization in switch_mm() is activated by resetting
the icache_stale_mask of the mm at prepare_sync_core_cmd().

Suggested-by: Palmer Dabbelt <palmer@dabbelt.com>
Signed-off-by: Andrea Parri <parri.andrea@gmail.com>
Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Link: https://lore.kernel.org/r/20240131144936.29190-5-parri.andrea@gmail.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
2024-02-15 08:04:14 -08:00
..
core Documentation: Drop IA64 from feature descriptions 2023-09-11 08:13:18 +00:00
debug Documentation: Drop IA64 from feature descriptions 2023-09-11 08:13:18 +00:00
io/dma-contiguous Documentation: Drop IA64 from feature descriptions 2023-09-11 08:13:18 +00:00
locking Documentation: Drop IA64 from feature descriptions 2023-09-11 08:13:18 +00:00
perf Documentation: Drop IA64 from feature descriptions 2023-09-11 08:13:18 +00:00
sched membarrier: riscv: Provide core serializing command 2024-02-15 08:04:14 -08:00
scripts Documentation/features-refresh.sh: Only sed the beginning "arch" of ARCH_DIR 2022-12-05 02:50:12 -07:00
seccomp/seccomp-filter Documentation: Drop IA64 from feature descriptions 2023-09-11 08:13:18 +00:00
time Documentation: Drop IA64 from feature descriptions 2023-09-11 08:13:18 +00:00
vm riscv: Add support for BATCHED_UNMAP_TLB_FLUSH 2024-01-11 08:01:53 -08:00
arch-support.txt Documentation/features: mark BATCHED_UNMAP_TLB_FLUSH doesn't apply to ARM64 2021-03-15 13:17:40 -06:00
list-arch.sh scripts: get_feat.pl: use its implementation for list-arch.sh 2020-12-03 15:10:14 -07:00