zephyr/arch
Greter Raffael 08a2ca5b9b riscv: irq: Correct interrupt handling in clic non-vectored mode
According to the clic specification
(https://github.com/riscv/riscv-fast-interrupt), the mnxti register has
be written, in order to clear the pending bit for non-vectored
interrupts. For vectored interrupts, this is automatically done.

From the spec:
"If the pending interrupt is edge-triggered, hardware will automatically
clear the corresponding pending bit when the CSR instruction that
accesses xnxti includes a write."

I added a kconfig `RISCV_SOC_HAS_CUSTOM_IRQ_HANDLING` to allow custom
irq handling. If enabled, `__soc_handle_all_irqs` has to be implemented.

For clic, non-vectored mode, I added a `__soc_handle_all_irqs`, that
handles the pending interrupts according to the pseudo code in the spec.

Signed-off-by: Greter Raffael <rgreter@baumer.com>
2024-01-18 10:53:27 +01:00
..
arc arch: arc: use sys_cache instead of arch-function for enabling the cache 2024-01-10 09:59:58 +01:00
arm arch: arm: core: cortex_m: fix cache disabling in init_arch_hw_at_boot 2024-01-10 09:59:58 +01:00
arm64 arch: smp: make flush_fpu_ipi a common, optional interfaces 2024-01-09 10:00:17 +01:00
common arch: common: multilevel irq: verify interrupt level bits configuration 2023-12-08 08:40:41 -05:00
mips arch: mips: use LOG_ERR to print exceptions 2023-12-14 09:32:27 +01:00
nios2 arch: guard more code with CONFIG_EXCEPTION_DEBUG 2023-12-14 09:32:27 +01:00
posix posix: sched: Implement get APIs for scheduling parameters 2024-01-15 09:57:44 +01:00
riscv riscv: irq: Correct interrupt handling in clic non-vectored mode 2024-01-18 10:53:27 +01:00
sparc arch: guard more code with CONFIG_EXCEPTION_DEBUG 2023-12-14 09:32:27 +01:00
x86 x86: add CODE_UNREACHABLE to z_x86_cpu_init 2024-01-17 11:57:20 -05:00
xtensa arch: xtensa: Use wsr.lowercase over wsr.UPPERCASE 2024-01-17 09:55:57 +01:00
CMakeLists.txt cmake: enable -Wshadow partially for in-tree code 2023-08-22 11:39:58 +02:00
Kconfig arch: make CONFIG_EXCEPTION_DEBUG cross arch config 2023-12-14 09:32:27 +01:00