zephyr/arch
Sudan Landge b3fe647eaf arch: arm: cortex_a_r: Fix restore of registers while exiting exception
This commit fixes potential unpredictable behavior, caused by using
the ^ form of ldmia instruction, while exiting an exception in SMP
mode on Cortex-A/R.

Change:
Use "pop" instead of "ldmia" to restore user mode registers while
exiting from an exception via `z_arm_cortex_ar_exit_exc`.

Reason for change:
Processor mode is always set to system (MODE_SYS) before calling
`z_arm_cortex_ar_exit_exc` and hence, the user mode register can be
accessed directly without the ^ form of the instruction. Also, LDMIA
instruction is UNPREDICTABLE in SYStem mode.

Signed-off-by: Sudan Landge <sudan.landge@arm.com>
2024-08-15 12:10:42 -04:00
..
arc arch: use same syntax for custom arch calls 2024-08-12 12:43:36 +02:00
arm arch: arm: cortex_a_r: Fix restore of registers while exiting exception 2024-08-15 12:10:42 -04:00
arm64 arch: use same syntax for custom arch calls 2024-08-12 12:43:36 +02:00
common arch: common: isr_tables: add shell command 2024-08-12 10:10:57 +02:00
mips arch: use same syntax for custom arch calls 2024-08-12 12:43:36 +02:00
nios2 arch: use same syntax for custom arch calls 2024-08-12 12:43:36 +02:00
posix arch posix: Cleanup old code 2024-08-13 18:18:25 -04:00
riscv arch: riscv: Implement perf stack thrace func 2024-08-13 18:28:44 -04:00
sparc arch: remove the use of `z_arch_esf_t` completely from internal 2024-06-04 14:02:51 -05:00
x86 arch: x86: ia32: Implement perf stack thrace func 2024-08-13 18:28:44 -04:00
xtensa xtensa: mmu: fix page table initialization 2024-08-14 09:36:19 +02:00
CMakeLists.txt
Kconfig arch: move custom arch call Kconfigs 2024-08-12 12:43:36 +02:00
Kconfig.v1
Kconfig.v2
archs.yml