linux/arch/arm64/kernel
Mark Rutland 68234df4ea arm64: kill flush_cache_all()
The documented semantics of flush_cache_all are not possible to provide
for arm64 (short of flushing the entire physical address space by VA),
and there are currently no users; KVM uses VA maintenance exclusively,
cpu_reset is never called, and the only two users outside of arch code
cannot be built for arm64.

While cpu_soft_reset and related functions (which call flush_cache_all)
were thought to be useful for kexec, their current implementations only
serve to mask bugs. For correctness kexec will need to perform
maintenance by VA anyway to account for system caches, line migration,
and other subtleties of the cache architecture. As the extent of this
cache maintenance will be kexec-specific, it should probably live in the
kexec code.

This patch removes flush_cache_all, and related unused components,
preventing further abuse.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: AKASHI Takahiro <takahiro.akashi@linaro.org>
Cc: Geoff Levand <geoff@infradead.org>
Acked-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
Acked-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
2015-05-19 15:27:42 +01:00
..
vdso arm64: vdso: minor ABI fix for clock_getres 2015-02-26 18:13:51 +00:00
.gitignore arm64: Build infrastructure 2012-09-17 13:42:21 +01:00
acpi.c ARM64 / ACPI: make acpi_map_gic_cpu_interface() as void function 2015-03-31 16:31:00 +01:00
alternative.c Revert "arm64: alternative: Allow immediate branch as alternative instruction" 2015-05-05 12:21:52 +01:00
arm64ksyms.c arm64: Add ftrace support 2014-05-29 09:08:08 +01:00
armv8_deprecated.c arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
asm-offsets.c arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
cacheinfo.c arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cpu_errata.c arm64: fix midr range for Cortex-A57 erratum 832075 2015-04-01 11:12:03 +01:00
cpu_ops.c ARM64 / ACPI: Parse MADT for SMP initialization 2015-03-25 11:52:42 +00:00
cpufeature.c arm64: Extract feature parsing code from cpu_errata.c 2015-03-30 11:03:43 +01:00
cpuidle.c ARM64: cpuidle: Rename cpu_init_idle to a common function name 2015-03-24 10:16:09 +01:00
cpuinfo.c arm64: Extract feature parsing code from cpu_errata.c 2015-03-30 11:03:43 +01:00
debug-monitors.c KVM/ARM New features for 3.17 include: 2014-08-05 09:47:45 +02:00
efi-entry.S arm64 updates for 3.19 2014-12-09 13:12:47 -08:00
efi-stub.c arm64/efi: efistub: Apply __init annotation 2015-01-15 21:28:35 +00:00
efi.c arm64: efi: don't restore TTBR0 if active_mm points at init_mm 2015-03-20 17:05:16 +00:00
entry32.S arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
entry-fpsimd.S arm64: fpsimd: fix a typo in fpsimd_save_partial_state ENDPROC 2014-07-31 11:42:42 +01:00
entry-ftrace.S arm64: ftrace: eliminate literal pool entries 2014-11-07 15:04:49 +00:00
entry.S arm64: errata: add workaround for cortex-a53 erratum #845719 2015-04-01 10:24:31 +01:00
fpsimd.c arm64: fix bug for reloading FPSIMD state after cpu power off 2014-09-01 12:55:21 +01:00
ftrace.c arm64: ftrace: fix ftrace_modify_graph_caller for branch replace 2015-02-23 09:13:45 +00:00
head.S arm64: head.S: ensure idmap_t0sz is visible 2015-03-24 15:13:58 +00:00
hw_breakpoint.c Merge branch 'perf/x86' into perf/core, because it's ready 2015-03-27 09:46:19 +01:00
hyp-stub.S irqchip: gic-v3: Initial support for GICv3 2014-07-08 22:11:47 +00:00
image.h arm64: Update the Image header 2014-07-10 12:36:40 +01:00
insn.c arm64: insn: Add aarch64_insn_decode_immediate 2015-03-30 11:03:42 +01:00
io.c arm64: optimize memcpy_{from,to}io() and memset_io() 2014-11-06 17:25:27 +00:00
irq.c arm64: Treat handle_arch_irq as a function pointer 2014-11-25 15:56:44 +00:00
jump_label.c arm64: jump labels: NOP out NOP -> NOP replacement 2014-11-26 17:19:47 +00:00
kgdb.c arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kuser32.S arm64: Add __NR_* definitions for compat syscalls 2014-07-10 11:02:40 +01:00
Makefile Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
module.c mm: vmalloc: pass additional vm_flags to __vmalloc_node_range() 2015-02-13 21:21:42 -08:00
pci.c ARM64 / ACPI: Introduce PCI stub functions for ACPI 2015-03-25 11:49:31 +00:00
perf_event.c arm64: Mark PMU interrupt IRQF_NO_THREAD 2015-05-19 15:27:42 +01:00
perf_regs.c perf: Move task_pt_regs sampling into arch code 2015-01-09 11:12:28 +01:00
process.c arm64: kill flush_cache_all() 2015-05-19 15:27:42 +01:00
psci-call.S arm64: psci: move psci firmware calls out of line 2015-02-26 18:23:53 +00:00
psci.c ARM64: kernel: psci: let ACPI probe PSCI version 2015-03-26 15:13:10 +00:00
ptrace.c arm64: add seccomp support 2014-11-28 10:24:59 +00:00
return_address.c arm64: LLVMLinux: Use global stack pointer in return_address() 2014-09-08 14:39:19 +01:00
setup.c Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
signal32.c arm64: compat Fix siginfo_t -> compat_siginfo_t conversion on big endian 2015-02-27 18:05:56 +00:00
signal.c arm64: Removed unused variable 2015-04-13 20:40:10 +02:00
sleep.S arm64: Move cpu_resume into the text section 2014-11-25 15:56:44 +00:00
smp_spin_table.c arm64: fix missing asm/io.h include in kernel/smp_spin_table.c 2015-01-07 11:40:59 +00:00
smp.c Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
stacktrace.c arm64: LLVMLinux: Use current_stack_pointer in save_stack_trace_tsk 2014-09-08 14:39:19 +01:00
suspend.c arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c arm64: compat: align cacheflush syscall with arch/arm 2014-12-01 13:31:12 +00:00
sys.c arm64: make sys_call_table const 2015-01-27 09:38:08 +00:00
time.c clocksource / arch_timer: Parse GTDT to initialize arch timer 2015-03-26 15:13:07 +00:00
topology.c arm64: topology: Fix handling of multi-level cluster MPIDR-based detection 2014-11-25 15:56:43 +00:00
trace-events-emulation.h arm64: Trace emulation of AArch32 legacy instructions 2014-11-20 16:35:02 +00:00
traps.c arm64: decode ESR_ELx.EC when reporting exceptions 2015-01-15 12:24:22 +00:00
vdso.c time: Rename timekeeper::tkr to timekeeper::tkr_mono 2015-03-27 09:45:06 +01:00
vmlinux.lds.S ARM, arm64: kvm: get rid of the bounce page 2015-03-19 19:21:56 +00:00