zephyr/arch/riscv/core
Alexander Razinkov 176713abfe arch: riscv: Trap handler alignment configuration
RISC-V Spec requires minimum alignment of trap handling code to be
dependent from MTVEC.BASE field size. Minimum alignment for RISC-V
platforms is 4 bytes, but maximum is platform or application-specific.

Currently there is no common approach to align the trap handling
code for RISC-V and some platforms use custom wrappers to align
_isr_wrapper properly.

This change introduces a generic solution,
CONFIG_RISCV_TRAP_HANDLER_ALIGNMENT configuration option which sets
the alignment of a RISC-V trap handling code.

The existing custom solutions for some platforms remain operational,
since the default alignment is set to minimal possible (4 bytes)
and will be overloaded by potentially larger alignment of custom solutions.

Signed-off-by: Alexander Razinkov <alexander.razinkov@syntacore.com>
2023-09-05 16:16:46 +02:00
..
offsets
CMakeLists.txt
asm_macros.inc
coredump.c
cpu_idle.c
fatal.c arch: move exc_handle.h under zephyr/arch/common 2023-08-31 09:19:19 -04:00
fpu.S
fpu.c
irq_manage.c
irq_offload.c
isr.S arch: riscv: Trap handler alignment configuration 2023-09-05 16:16:46 +02:00
pmp.S
pmp.c riscv: renames shadow variables 2023-08-10 08:14:12 +00:00
prep_c.c
reboot.c
reset.S
semihost.c
smp.c riscv: prevent possible deadlock on SMP with FPU sharing 2023-05-25 08:25:11 +00:00
switch.S
thread.c Revert "arch: riscv: Enable builds without the multithreading" 2023-05-26 09:04:30 -04:00
tls.c
userspace.S
vector_table.ld