zephyr/arch
Martin Åberg fd4e66499c SPARC: Update the Flush windows software trap
This commit re-implements the SPARC V8 ABI "Flush windows" software
trap. The trap is generated by C++ compilers for exceptions and also by
the C standard library function longjmp().

There were two issues with the previous implementation:
1. It did reads and writes via the stack pointer of the trap window,
   which is not defined.
2. It executed with traps enabled but without the processor run-time
   state set to safely handle traps. In particular there was no valid
   stack for trap processing. Even though interrupt priority was set to
   highest level, the behavior at other traps was not deterministic. For
   example non-maskable interrupt (15) trap or bus error trap for
   instruction fetch.

This new implementation does not store backup copies of CPU registers to
the stack, and it executes with traps disabled.

Fixes #63901

Signed-off-by: Martin Åberg <martin.aberg@gaisler.com>
2023-10-25 09:54:31 -05:00
..
arc arch: remove wait_q.h include 2023-09-12 12:55:36 -04:00
arm arm: using -EAGAIN directly instead of _k_neg_eagain 2023-10-20 15:14:13 +02:00
arm64 arch: arm64: Use voting lock for multi-core boot race condition 2023-10-20 15:09:34 +02:00
common arch: Add support for dynamically disconnecting shared interrupts 2023-09-14 08:35:12 +02:00
mips COVERAGE: Fix COVERAGE_GCOV dependencies 2023-08-24 15:36:31 +02:00
nios2 arch: nios2: Remove unused absolute symbols 2023-04-18 10:51:28 -04:00
posix include: always use <> for Zephyr includes 2023-09-14 13:49:58 +02:00
riscv riscv: pmp: Fix assertion for PMP misaligned start address and size 2023-10-25 10:05:24 +02:00
sparc SPARC: Update the Flush windows software trap 2023-10-25 09:54:31 -05:00
x86 uart: ns16550: use io-mapped DT property for IO port access 2023-09-26 12:03:04 +02:00
xtensa xtensa: add custom mem range check functions 2023-10-20 15:08:34 +02:00
CMakeLists.txt cmake: enable -Wshadow partially for in-tree code 2023-08-22 11:39:58 +02:00
Kconfig dts: drop HAS_DTS 2023-10-20 12:18:17 -07:00