linux/arch/arm64/include/asm
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
..
xen xen/arm/arm64: merge xen/mm32.c into xen/mm.c 2014-12-04 12:41:53 +00:00
acenv.h ARM64 / ACPI: Get RSDP and ACPI boot-time tables 2015-03-25 11:49:30 +00:00
acpi.h ARM64: kernel: acpi: honour acpi=force command line parameter 2015-03-26 15:13:11 +00:00
alternative-asm.h arm64: add Cortex-A53 cache errata workaround 2014-11-25 15:56:21 +00:00
alternative.h arm64: add module support for alternatives fixups 2014-12-04 10:28:24 +00:00
arch_timer.h arm64: fix missing linux/bug.h include in asm/arch_timer.h 2015-01-07 11:40:59 +00:00
arm-cci.h arm-cci: Get rid of secure transactions for PMU driver 2015-03-27 13:44:35 +00:00
asm-offsets.h
assembler.h arm64: add macros for common adrp usages 2015-03-19 19:46:01 +00:00
atomic.h locking,arch: Use ACCESS_ONCE() instead of cast to volatile in atomic_read() 2014-10-03 06:06:23 +02:00
barrier.h arm64: add missing data types in smp_load_acquire/smp_store_release 2015-04-27 11:39:04 +01:00
bitops.h arch,arm64: Convert smp_mb__*() 2014-04-18 11:40:33 +02:00
bitrev.h ARM: 8189/1: arm64:add bitrev.h file to support rbit instruction 2014-12-22 16:47:32 +00:00
cache.h arm64: Implement support for read-mostly sections 2014-12-03 10:19:35 +00:00
cacheflush.h arm64: kill flush_cache_all() 2015-05-19 15:27:42 +01:00
cachetype.h arm64: kernel: add support for cpu cache information 2015-01-15 11:55:07 +00:00
cmpxchg.h arm64: percpu: Make this_cpu accessors pre-empt safe 2015-03-24 18:02:55 +00:00
compat.h arm64: compat: Remove incorrect comment in compat_siginfo 2015-02-02 16:44:39 +00:00
compiler.h
cpu_ops.h ARM64 / ACPI: Parse MADT for SMP initialization 2015-03-25 11:52:42 +00:00
cpu.h arm64: sanity checks: add missing AArch32 registers 2015-01-07 11:40:58 +00:00
cpufeature.h arm64: errata: add workaround for cortex-a53 erratum #845719 2015-04-01 10:24:31 +01:00
cpuidle.h ARM64: cpuidle: Rename cpu_init_idle to a common function name 2015-03-24 10:16:09 +01:00
cputype.h arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
debug-monitors.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
device.h arm64: introduce is_device_dma_coherent 2014-12-04 12:41:49 +00:00
dma-mapping.h arm64: Use bool function return values of true/false not 1/0 2015-03-31 16:28:44 +01:00
dmi.h arm64: dmi: Add SMBIOS/DMI support 2014-11-05 09:03:25 +01:00
efi.h arm64/efi: move virtmap init to early initcall 2015-01-22 14:59:25 +00:00
elf.h mm: fold arch_randomize_brk into ARCH_HAS_ELF_RANDOMIZE 2015-04-14 16:49:05 -07:00
esr.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
exception.h arm64: Use irqchip_init() for interrupt controller initialisation 2013-03-26 16:02:23 +00:00
exec.h
fb.h
fixmap.h Initial ACPI support for arm64: 2015-04-24 08:23:45 -07:00
fpsimd.h arm64: add support for kernel mode NEON in interrupt context 2014-05-08 11:31:57 +02:00
fpsimdmacros.h arm64: Avoid breakage caused by .altmacro in fpsimd save/restore macros 2015-01-29 17:24:39 +00:00
ftrace.h arm64: ftrace: Add system call tracepoint 2014-05-29 09:08:33 +01:00
futex.h arm64: asm: remove redundant "cc" clobbers 2014-02-07 16:46:07 +00:00
hardirq.h smp, ARM64: Kill SMP single function call interrupt 2015-01-23 18:06:47 +00:00
hugetlb.h ARM64: mm: HugeTLB support. 2013-06-14 09:52:40 +01:00
hw_breakpoint.h arm64: ptrace: fix compat hardware watchpoint reporting 2014-08-28 20:01:36 +01:00
hwcap.h arm64: Add COMPAT_HWCAP_LPAE 2014-11-17 10:43:42 +00:00
hypervisor.h arm64/xen: introduce asm/xen header files on arm64 2013-06-07 10:39:45 +00:00
insn.h arm64: insn: Add aarch64_insn_decode_immediate 2015-03-30 11:03:42 +01:00
io.h arm64: Fix overlapping VA allocations 2015-01-23 14:13:14 +00:00
irq_work.h arm64: Fix compilation error on UP builds 2014-10-21 17:01:07 +01:00
irq.h irqchip: Add GICv2 specific ACPI boot support 2015-03-26 15:13:07 +00:00
irqflags.h arm64: Add macros to manage processor debug state 2014-02-26 11:16:25 +00:00
jump_label.h jump_label: Allow asm/jump_label.h to be included in assembly 2015-04-09 09:40:23 +02:00
Kbuild Merge branch 'irq-irqdomain-arm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-12-15 17:30:09 -08:00
kgdb.h arm64: Fix typos in KGDB macros 2014-09-25 15:35:41 +01:00
kvm_arm.h KVM/ARM changes for v4.1: 2015-04-07 18:09:20 +02:00
kvm_asm.h KVM: arm64: ARMv8 header changes for page logging 2015-01-16 14:42:48 +01:00
kvm_coproc.h arm64: KVM: common infrastructure for handling AArch32 CP14/CP15 2014-07-11 04:57:44 -07:00
kvm_emulate.h Fairly small update, but there are some interesting new features. 2015-02-13 09:55:09 -08:00
kvm_host.h arm/arm64: KVM: Implement Stage-2 page aging 2015-03-12 22:34:43 +01:00
kvm_mmio.h KVM: arm/arm64: rework MMIO abort handling to use KVM MMIO bus 2015-03-30 17:07:19 +01:00
kvm_mmu.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
kvm_psci.h ARM/ARM64: KVM: Make kvm_psci_call() return convention more flexible 2014-04-30 04:18:57 -07:00
linkage.h arm64: fix alignment padding in assembly code 2012-10-20 11:12:01 +01:00
memblock.h
memory.h arm64: Fix overlapping VA allocations 2015-01-23 14:13:14 +00:00
mmu_context.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
mmu.h arm64/efi: remove idmap manipulations from UEFI code 2015-01-12 16:29:32 +00:00
module.h
neon.h arm64: add support for kernel mode NEON in interrupt context 2014-05-08 11:31:57 +02:00
opcodes.h arm64: Add AArch32 instruction set condition code checks 2014-11-20 16:33:45 +00:00
page.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
pci.h ARM64 / ACPI: Introduce PCI stub functions for ACPI 2015-03-25 11:49:31 +00:00
percpu.h arm64: percpu: Make this_cpu accessors pre-empt safe 2015-03-24 18:02:55 +00:00
perf_event.h arm64: perf: add guest vs host discrimination 2013-01-29 16:56:17 +00:00
pgalloc.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
pgtable-hwdef.h arm64 updates for 4.1: 2015-04-16 13:58:29 -05:00
pgtable-types.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
pgtable.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
pmu.h arm64: pmu: add support for interrupt-affinity property 2015-03-24 15:09:47 +00:00
proc-fns.h arm64: kill flush_cache_all() 2015-05-19 15:27:42 +01:00
processor.h arm64: Implement cpu_relax as yield 2015-03-17 10:17:29 +00:00
psci.h ARM64 / ACPI: Get PSCI flags in FADT for PSCI init 2015-03-25 11:49:31 +00:00
ptrace.h arm64: Emulate SETEND for AArch32 tasks 2015-01-23 17:11:44 +00:00
seccomp.h arm64: add seccomp support 2014-11-28 10:24:59 +00:00
shmparam.h
signal32.h arm64: Use get_signal() signal_setup_done() 2014-08-06 12:56:16 +02:00
smp_plat.h arm64: apply alternatives for !SMP kernels 2015-03-17 16:58:24 +00:00
smp.h ARM64 / ACPI: Parse MADT for SMP initialization 2015-03-25 11:52:42 +00:00
sparsemem.h arm64: mm: update max pa bits to 48 2014-08-19 20:23:02 +01:00
spinlock_types.h arm64: Fix the endianness of arch_spinlock_t 2013-10-25 16:10:22 +01:00
spinlock.h arm64/spinlock: Replace ACCESS_ONCE READ_ONCE 2014-12-18 09:54:40 +01:00
stackprotector.h arm64: Add CONFIG_CC_STACKPROTECTOR 2014-07-09 12:23:48 +01:00
stacktrace.h
stat.h UAPI: (Scripted) Disintegrate arch/arm64/include/asm 2012-10-11 11:05:13 +01:00
string.h arm64: lib: Implement optimized string length routines 2014-05-23 15:17:12 +01:00
suspend.h arm64: kernel: remove ARM64_CPU_SUSPEND config option 2015-01-27 11:35:33 +00:00
sync_bitops.h arm64/xen: introduce asm/xen header files on arm64 2013-06-07 10:39:45 +00:00
syscall.h arm64: Add audit support 2014-07-10 11:06:00 +01:00
sysreg.h arm64: gicv3: Allow GICv3 compilation with older binutils 2014-07-25 13:12:15 +01:00
system_misc.h arm64: kill flush_cache_all() 2015-05-19 15:27:42 +01:00
thread_info.h arm64: Remove signal translation and exec_domain 2015-04-12 20:58:24 +02:00
timex.h arm64: kernel: compiling issue, need delete read_current_timer() 2013-06-10 17:58:20 +01:00
tlb.h arm64: expose number of page table levels on Kconfig level 2015-04-14 16:49:01 -07:00
tlbflush.h arm64: Invalidate the TLB corresponding to intermediate page table levels 2015-03-14 10:48:30 +00:00
topology.h arm64: sched: Remove unused mc_capable() and smt_capable() 2014-05-16 17:12:04 +01:00
traps.h arm64: Add support for hooks to handle undefined instructions 2014-11-20 16:33:43 +00:00
uaccess.h arm64: macro whitespace fixes 2015-01-13 15:23:53 +02:00
unistd32.h arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
unistd.h arm64 updates for 3.20: 2015-02-11 18:03:54 -08:00
vdso_datapage.h
vdso.h
virt.h arm64: KVM: remove __kvm_hyp_code_{start,end} from hyp.S 2014-07-11 04:57:35 -07:00
word-at-a-time.h arm64: dcache: select DCACHE_WORD_ACCESS for little-endian CPUs 2013-12-19 17:43:08 +00:00