zephyr/arch/arm64/core
Carlo Caione 18636af6d6 arm64: Add frame-pointer based stack unwinding
Add the frame-pointer based stack unwinding on ARM64.

This is a typical output with the feature enabled:

*** Booting Zephyr OS build zephyr-v3.4.0-1029-gae22ff648c16 ***
E: ELR_ELn: 0x00000000400011c8
E: ESR_ELn: 0x0000000096000046
E:   EC:  0x25 (Data Abort taken without a change in Exception level)
E:   IL:  0x1
E:   ISS: 0x46
E: FAR_ELn: 0x0000000000000000
E: TPIDRRO: 0x0100000040011650
E: x0:  0x0000000000000000  x1:  0x0000000000000003
E: x2:  0x0000000000000003  x3:  0x000000004005c6a0
E: x4:  0x0000000000000000  x5:  0x000000004005c7f0
E: x6:  0x0000000048000000  x7:  0x0000000048000000
E: x8:  0x0000000000000005  x9:  0x0000000000000000
E: x10: 0x0000000000000000  x11: 0x0000000000000000
E: x12: 0x0000000000000000  x13: 0x0000000000000000
E: x14: 0x0000000000000000  x15: 0x0000000000000000
E: x16: 0x0000000040004290  x17: 0x0000000000000000
E: x18: 0x0000000000000000  lr:  0x0000000040001208
E:
E: backtrace  0: fp: 0x000000004005c690 lr: 0x0000000040001270
E: backtrace  1: fp: 0x000000004005c6b0 lr: 0x0000000040001290
E: backtrace  2: fp: 0x000000004005c7d0 lr: 0x0000000040004ac0
E: backtrace  3: fp: 0x000000004005c7f0 lr: 0x00000000400013a4
E: backtrace  4: fp: 0x000000004005c800 lr: 0x0000000000000000
E:
E: >>> ZEPHYR FATAL ERROR 0: CPU exception on CPU 0
E: Current thread: 0x40011310 (unknown)
E: Halting system

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2023-07-13 17:04:05 +02:00
..
cortex_r arch: arm64: mpu: Fix some minor CHECKIF issues 2023-07-11 15:04:54 +02:00
offsets arm64: Add frame-pointer based stack unwinding 2023-07-13 17:04:05 +02:00
xen init: remove the need for a dummy device pointer in SYS_INIT functions 2023-04-12 14:28:07 +00:00
boot.h arm64: decrustify and extend SMP boot code 2021-04-19 11:00:05 -04:00
CMakeLists.txt arch: arm64: add support for coredump 2023-07-03 09:32:26 +02:00
coredump.c arch: arm64: add support for coredump 2023-07-03 09:32:26 +02:00
cpu_idle.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
fatal.c arm64: Add frame-pointer based stack unwinding 2023-07-13 17:04:05 +02:00
fpu.c arch: arm64: Use atomic for fpu_owner pointer 2023-06-08 09:35:11 -04:00
fpu.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
header.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
irq_init.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
irq_manage.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
irq_offload.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
isr_wrapper.S arch: arm64: Update current stack limit on every context switch 2023-03-14 10:49:22 +01:00
Kconfig arm64: Add frame-pointer based stack unwinding 2023-07-13 17:04:05 +02:00
macro_priv.inc arm64: Add comment that arch_curr_cpu and get_cpu must be synced 2022-11-02 16:08:00 -05:00
mmu.c barriers: Move __ISB() to the new API 2023-05-24 13:13:57 -04:00
mmu.h arm64: improve CONFIG_MAX_XLAT_TABLES default value 2021-04-12 22:13:38 -04:00
mmu.S arch/arm64: Implement ASID support in ARM64 MMU 2022-12-13 17:21:11 +09:00
prep_c.c arch: arm64: Add safe exception stack init function 2023-03-14 10:49:22 +01:00
reset.c arch: arm64: SCR_EL3 EEL2 Enablement 2023-05-26 13:51:50 -04:00
reset.S arch: arm64: Fix the STACK_INIT logic during the reset 2023-05-30 10:14:55 +02:00
semihost.c semihosting: fix inline assembly output dependency 2022-04-24 19:46:15 +02:00
smccc-call.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
smp.c arch: arm64: Add cpu_map to map cpu id and mpid 2023-05-30 10:14:55 +02:00
switch.S kernel/sched: Rename/redocument wait_for_switch() -> z_sched_switch_spin() 2023-05-26 17:09:35 -04:00
thread.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
tls.c arch: migrate includes to <zephyr/...> 2022-05-06 19:57:22 +02:00
userspace.S asm: update files with <zephyr/...> include prefix 2022-05-09 12:45:29 -04:00
vector_table.S arm64: Add frame-pointer based stack unwinding 2023-07-13 17:04:05 +02:00