linux/arch/arm64/kernel
AKASHI Takahiro 132cd887b5 arm64: Modify stack trace and dump for use with irq_stack
This patch allows unwind_frame() to traverse from interrupt stack to task
stack correctly. It requires data from a dummy stack frame, created
during irq_stack_entry(), added by a later patch.

A similar approach is taken to modify dump_backtrace(), which expects to
find struct pt_regs underneath any call to functions marked __exception.
When on an irq_stack, the struct pt_regs is stored on the old task stack,
the location of which is stored in the dummy stack frame.

Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
[james.morse: merged two patches, reworked for per_cpu irq_stacks, and
 no alignment guarantees, added irq_stack definitions]
Signed-off-by: James Morse <james.morse@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
2015-12-08 11:41:51 +00:00
..
vdso arm64: build vdso without libgcov 2015-11-12 15:18:07 +00:00
.gitignore
acpi.c Power management and ACPI updates for v4.4-rc1 2015-11-04 18:10:13 -08:00
alternative.c arm64: alternatives: ensure secondary CPUs execute ISB after patching 2015-08-04 18:52:09 +01:00
arm64ksyms.c arm64: add KASAN support 2015-10-12 17:46:36 +01:00
armv8_deprecated.c arm64: add __init/__initdata section marker to some functions/variables 2015-12-02 12:17:11 +00:00
asm-offsets.c arm64: mm: rewrite ASID allocator and MM context-switching code 2015-10-07 11:55:41 +01:00
cacheinfo.c
cpu_errata.c arm64: KVM: Add workaround for Cortex-A57 erratum 834220 2015-11-24 17:58:14 +01:00
cpu_ops.c arm64: force CONFIG_SMP=y and remove redundant #ifdefs 2015-07-27 11:08:40 +01:00
cpufeature.c arm64: add __init/__initdata section marker to some functions/variables 2015-12-02 12:17:11 +00:00
cpuidle.c arm64: cpuidle: add __init section marker to arm_cpuidle_init 2015-07-02 17:44:27 +01:00
cpuinfo.c arm64: restore bogomips information in /proc/cpuinfo 2015-11-19 17:57:18 +00:00
debug-monitors.c driver core update for 4.4-rc1 2015-11-04 21:50:37 -08:00
efi-entry.S arm64/efi: isolate EFI stub from the kernel proper 2015-10-12 16:20:12 +01:00
efi.c arm64: efi: fix initcall return values 2015-11-26 18:15:54 +00:00
entry32.S arm64: entry32: remove pointless register assignment 2015-07-10 16:47:13 +01:00
entry-fpsimd.S
entry-ftrace.S arm64: ftrace: fix function_graph tracer panic 2015-10-02 11:12:56 +01:00
entry.S arm64: Store struct thread_info in sp_el0 2015-12-08 11:40:48 +00:00
fpsimd.c arm64: add __init/__initdata section marker to some functions/variables 2015-12-02 12:17:11 +00:00
ftrace.c arm64: ftrace: fix the comments for ftrace_modify_code 2015-12-04 12:03:25 +00:00
head.S arm64: Store struct thread_info in sp_el0 2015-12-08 11:40:48 +00:00
hw_breakpoint.c arm64: Fix missing #include in hw_breakpoint.c 2015-10-12 12:10:53 +01:00
hyp-stub.S
image.h arm64: Add page size to the kernel image header 2015-10-19 17:54:41 +01:00
insn.c arm64: convert patch_lock to raw lock 2015-10-05 18:30:29 +01:00
io.c
irq.c arm64: Modify stack trace and dump for use with irq_stack 2015-12-08 11:41:51 +00:00
jump_label.c jump_label: Rename JUMP_LABEL_{EN,DIS}ABLE to JUMP_LABEL_{JMP,NOP} 2015-08-03 11:34:12 +02:00
kgdb.c arm64/debug: Simplify BRK insn opcode declarations 2015-07-27 11:08:42 +01:00
kuser32.S
Makefile arm64/efi: move arm64 specific stub C code to libstub 2015-10-30 16:02:52 +00:00
module.c arm64: add KASAN support 2015-10-12 17:46:36 +01:00
pci.c ARM64: PCI: do not enable resources on PROBE_ONLY systems 2015-07-30 20:17:07 +01:00
perf_callchain.c arm64: perf: factor out callchain code 2015-07-27 11:08:39 +01:00
perf_event.c arm64: perf: add Cortex-A57 support 2015-10-07 14:25:24 +01:00
perf_regs.c
process.c arm64: add cpu_idle tracepoints to arch_cpu_idle 2015-10-19 18:43:41 +01:00
psci-call.S
psci.c drivers: firmware: psci: move power_state handling to generic code 2015-10-02 14:35:16 +01:00
ptrace.c arm64: Clear out any singlestep state on a ptrace detach operation 2015-12-07 17:48:21 +00:00
return_address.c
setup.c arm64 updates for 4.4: 2015-11-04 14:47:13 -08:00
signal32.c arm64: compat: fix vfp save/restore across signal handlers in big-endian 2015-09-17 11:57:03 +01:00
signal.c arm64: Removed unused variable 2015-04-13 20:40:10 +02:00
sleep.S arm64: Store struct thread_info in sp_el0 2015-12-08 11:40:48 +00:00
smp_spin_table.c ARM64: kernel: make cpu_ops hooks DT agnostic 2015-05-19 16:09:29 +01:00
smp.c arm64: smp: make of_parse_and_init_cpus static 2015-11-12 15:18:14 +00:00
stacktrace.c arm64: Modify stack trace and dump for use with irq_stack 2015-12-08 11:41:51 +00:00
suspend.c arm64: kernel: pause/unpause function graph tracer in cpu_suspend() 2015-11-17 17:11:45 +00:00
sys32.c arm64: fix implementation of mmap2 compat syscall 2015-03-19 10:43:51 +00:00
sys_compat.c
sys.c
time.c clocksource: cosmetic: Drop OF 'dependency' from symbols 2015-10-01 02:18:39 +02:00
topology.c arm64: kernel: remove non-legit DT warnings when booting using ACPI 2015-07-27 11:08:41 +01:00
trace-events-emulation.h
traps.c arm64: Modify stack trace and dump for use with irq_stack 2015-12-08 11:41:51 +00:00
vdso.c arm64: VDSO: fix coarse clock monotonicity regression 2015-08-10 15:37:45 +01:00
vmlinux.lds.S arm64: page-align sections for DEBUG_RODATA 2015-10-29 17:23:39 +00:00