zephyr/soc/gd/gd32
Jimmy Zheng f216c434d0 soc: gd32: gd32vf103: keep the mcause.interrupt by SOC-specific context
For Nuclei ECLIC, the interrupt level (mintstatus.MIL) is restored from
the previous interrupt level (mcause.MPIL) only if mcause.interrupt is set.
This behavior is not defined in the RISC-V CLIC spec.
If an ISR causes a context switch and mcause.interrupt is not set in the
next context (e.g. the next context is yielded from ecall), interrupts will
be masked after MRET because the interrupt level is not restored.

Use SOC-specific context to set mcause.interrupt to ensure the interrupt
level is restored correctly.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2025-02-05 17:48:45 +01:00
..
common
gd32a50x soc: gd: gd32: Remove setting Kconfig in wrong place 2024-11-16 14:06:37 -05:00
gd32e10x soc: gd: gd32: Remove setting Kconfig in wrong place 2024-11-16 14:06:37 -05:00
gd32e50x soc: gd: gd32: Remove setting Kconfig in wrong place 2024-11-16 14:06:37 -05:00
gd32f3x0 soc: gd: gd32: Remove setting Kconfig in wrong place 2024-11-16 14:06:37 -05:00
gd32f4xx soc: gd: gd32: Remove setting Kconfig in wrong place 2024-11-16 14:06:37 -05:00
gd32f403 soc: gd: move init code from SYS_INIT to hooks 2024-09-20 13:15:31 +02:00
gd32l23x soc: gd: gd32: Remove setting Kconfig in wrong place 2024-11-16 14:06:37 -05:00
gd32vf103 soc: gd32: gd32vf103: keep the mcause.interrupt by SOC-specific context 2025-02-05 17:48:45 +01:00
CMakeLists.txt
Kconfig
Kconfig.defconfig soc: gd32: Drop PINCTRL from Kconfig.defconfig 2024-11-04 13:40:42 -06:00
Kconfig.soc
soc.yml