mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-11-27 01:11:31 +00:00
The implementation of flush_icache_range() includes instruction sequences which are themselves patched at runtime, so it is not safe to call from the patching framework. This patch reworks the alternatives cache-flushing code so that it rolls its own internal D-cache maintenance using DC CIVAC before invalidating the entire I-cache after all alternatives have been applied at boot. Modules don't cause any issues, since flush_icache_range() is safe to call by the time they are loaded. Acked-by: Mark Rutland <mark.rutland@arm.com> Reported-by: Rohit Khanna <rokhanna@nvidia.com> Cc: Alexander Van Brunt <avanbrunt@nvidia.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> |
||
|---|---|---|
| .. | ||
| probes | ||
| vdso | ||
| .gitignore | ||
| acpi.c | ||
| acpi_numa.c | ||
| acpi_parking_protocol.c | ||
| alternative.c | ||
| arm64ksyms.c | ||
| armv8_deprecated.c | ||
| asm-offsets.c | ||
| cacheinfo.c | ||
| cpu-reset.h | ||
| cpu-reset.S | ||
| cpu_errata.c | ||
| cpu_ops.c | ||
| cpufeature.c | ||
| cpuidle.c | ||
| cpuinfo.c | ||
| crash_dump.c | ||
| debug-monitors.c | ||
| efi-entry.S | ||
| efi-header.S | ||
| efi-rt-wrapper.S | ||
| efi.c | ||
| entry-fpsimd.S | ||
| entry-ftrace.S | ||
| entry.S | ||
| entry32.S | ||
| fpsimd.c | ||
| ftrace.c | ||
| head.S | ||
| hibernate-asm.S | ||
| hibernate.c | ||
| hw_breakpoint.c | ||
| hyp-stub.S | ||
| image.h | ||
| insn.c | ||
| io.c | ||
| irq.c | ||
| jump_label.c | ||
| kaslr.c | ||
| kgdb.c | ||
| kuser32.S | ||
| machine_kexec.c | ||
| Makefile | ||
| module-plts.c | ||
| module.c | ||
| module.lds | ||
| paravirt.c | ||
| pci.c | ||
| perf_callchain.c | ||
| perf_event.c | ||
| perf_regs.c | ||
| process.c | ||
| psci.c | ||
| ptrace.c | ||
| reloc_test_core.c | ||
| reloc_test_syms.S | ||
| relocate_kernel.S | ||
| return_address.c | ||
| sdei.c | ||
| setup.c | ||
| signal.c | ||
| signal32.c | ||
| sleep.S | ||
| smccc-call.S | ||
| smp.c | ||
| smp_spin_table.c | ||
| ssbd.c | ||
| stacktrace.c | ||
| suspend.c | ||
| sys.c | ||
| sys32.c | ||
| sys_compat.c | ||
| time.c | ||
| topology.c | ||
| trace-events-emulation.h | ||
| traps.c | ||
| vdso.c | ||
| vmlinux.lds.S | ||