1
linux/arch/arm/kernel
Thomas Gleixner ae360a78f4 arm: Disable outer (L2) cache in kexec
kexec does not disable the outer cache before disabling the inner
caches in cpu_proc_fin(). So L2 is enabled across the kexec jump. When
the new kernel enables chaches again, it randomly crashes.

Disabling L2 before calling cpu_proc_fin() cures the problem.

Disabling L2 requires the following new functions: flush_all(),
inv_all() and disable(). Add them to outer_cache_fns and call them
from the kexec code.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Linus Walleij <linus.walleij@stericsson.com>
2010-10-26 11:39:56 +05:30
..
.gitignore
armksyms.c
arthur.c
asm-offsets.c ARM: stack protector: change the canary value per task 2010-06-14 21:31:01 -04:00
atags.c
atags.h
bios32.c ARM: 6058/1: Add support for PCI domains 2010-04-22 21:38:11 +01:00
calls.S ARM: 6343/1: wire up fanotify and prlimit64 syscalls on ARM 2010-09-01 10:06:08 +01:00
compat.c ARM: deprecate support for old way to pass kernel parameters 2010-07-07 16:38:36 +02:00
compat.h ARM: deprecate support for old way to pass kernel parameters 2010-07-07 16:38:36 +02:00
crash_dump.c ARM: 6120/1: kdump: implement copy_oldmem_page() 2010-07-09 15:00:53 +01:00
crunch-bits.S
crunch.c
debug.S
dma-isa.c
dma.c ARM: dma: add /proc/dma support to arch/arm/kernel/dma.c 2010-04-14 13:13:30 +01:00
early_printk.c
ecard.c
ecard.h
elf.c
entry-armv.S Merge branch 'devel-stable' into devel 2010-07-31 14:20:16 +01:00
entry-common.S Merge master.kernel.org:/home/rmk/linux-2.6-arm 2010-09-27 12:32:36 -07:00
entry-header.S ARM: 5991/1: Fix regression in restore_user_regs macro 2010-03-15 17:20:08 +00:00
etm.c Input: sysrq - drop tty argument from sysrq ops handlers 2010-08-19 22:07:06 -07:00
fiq.c
ftrace.c ARM: fix build error in arch/arm/kernel/process.c 2010-04-21 08:45:21 +01:00
head-common.S
head-nommu.S
head.S
init_task.c
io.c
irq.c ARM: 6197/2: preliminary support for sparse IRQ 2010-07-09 14:41:33 +01:00
isa.c
iwmmxt.S
kgdb.c ARM: 6326/1: kgdb: fix GDB_MAX_REGS no longer used 2010-08-14 09:28:35 +01:00
kprobes-decode.c ARM: 6226/1: fix kprobe bug in ldr instruction emulation 2010-07-14 23:28:06 +01:00
kprobes.c Merge branch 'master' into export-slabh 2010-04-05 11:37:28 +09:00
leds.c
machine_kexec.c arm: Disable outer (L2) cache in kexec 2010-10-26 11:39:56 +05:30
Makefile Merge branch 'devel-stable' into devel 2010-07-31 14:20:16 +01:00
module.c ARM: 6191/1: Do not compile the Thumb-2 module relocations on an ARM kernel 2010-08-05 10:35:48 +01:00
perf_event.c ARM: 6352/1: perf: fix event validation 2010-09-02 16:36:42 +01:00
pmu.c ARM: 6064/1: pmu: register IRQs at runtime 2010-05-17 11:53:57 +01:00
process.c Merge branch 'devel-stable' into devel 2010-07-31 14:20:16 +01:00
ptrace.c ARM: 6199/1: Add kprobe-based event tracer 2010-07-09 14:41:34 +01:00
ptrace.h arm: use generic ptrace_resume code 2010-03-12 15:52:38 -08:00
relocate_kernel.S ARM: 6119/1: kdump: skip indirection page when crashing 2010-07-09 15:00:52 +01:00
return_address.c
setup.c Merge branch 'devel-stable' into devel 2010-07-31 14:20:16 +01:00
signal.c ARM: 6051/1: VFP: preserve the HW context when calling signal handlers 2010-04-14 11:11:30 +01:00
signal.h
smp_scu.c
smp_twd.c ARM: SMP: Always enable clock event broadcast support 2010-07-27 10:48:42 +01:00
smp.c ARM: call machine_shutdown() from machine_halt(), etc 2010-07-27 10:48:43 +01:00
stacktrace.c
sys_arm.c Make do_execve() take a const filename pointer 2010-08-17 18:07:43 -07:00
sys_oabi-compat.c Mark arguments to certain syscalls as being const 2010-08-13 16:53:13 -07:00
tcm.c ARM: 6225/1: make TCM allocation static and common for all archs 2010-07-27 10:42:38 +01:00
tcm.h
thumbee.c
time.c ARM: convert arm to arch_gettimeoffset() 2010-03-24 08:08:58 +00:00
traps.c ARM: 6207/1: Replace CONFIG_HAS_TLS_REG with HWCAP_TLS and check for it on V6 2010-07-09 14:41:35 +01:00
unwind.c ARM: 6140/1: silence a bogus sparse warning in unwind.c 2010-05-24 20:42:03 +01:00
vmlinux.lds.S
xscale-cp0.c