micropython/shared/runtime
Chris Webb 81985d20c9 shared/runtime/mpirq: Check separate hard IRQ stack correctly.
On the zephyr port, hard IRQ handlers run with a separate stack on a
different thread, so each call to mp_irq_dispatch() and mp_irq_handler()
has to be wrapped with adjustments to the stack-limit checker.

Move these adjustments into the shared mp_irq_dispatch(), introducing
MICROPY_STACK_SIZE_HARD_IRQ which a port can define to non-zero if it
uses a separate stack for hard IRQ handlers. We only need wrap the hard
dispatch case. This should reduce binary size on zephyr without affecting
other ports.

Signed-off-by: Chris Webb <chris@arachsys.com>
2025-09-25 23:59:24 +10:00
..
gchelper_generic.c shared/runtime/gchelper_generic: Fix AArch32 build on Clang. 2024-12-10 12:03:34 +11:00
gchelper_native.c shared/runtime/gchelper_native: Fix pointer cast on x86_64. 2022-11-08 19:15:37 +11:00
gchelper_rv32i.s shared/runtime/gchelper: Add RISC-V RV32I native gchelper. 2024-06-06 12:01:00 +10:00
gchelper_rv64i.s shared/runtime/gchelper_rv64i: Fix opcode sw/sd typo. 2024-10-03 11:40:10 +10:00
gchelper_thumb1.s shared/runtime/gchelper: Drop cpu directive from ARM asm helpers. 2023-01-28 15:51:38 +11:00
gchelper_thumb2.s shared/runtime/gchelper: Drop cpu directive from ARM asm helpers. 2023-01-28 15:51:38 +11:00
gchelper.h shared/runtime/gchelper: Add RISC-V RV64I native gchelper. 2024-08-07 16:23:21 +10:00
interrupt_char.c shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
interrupt_char.h shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
mpirq.c shared/runtime/mpirq: Check separate hard IRQ stack correctly. 2025-09-25 23:59:24 +10:00
mpirq.h shared/runtime/mpirq: Factor out mp_irq_dispatch() and use it. 2025-09-25 23:59:24 +10:00
pyexec.c shared/runtime/pyexec: Unconditionally reset lock depth. 2025-09-02 13:41:20 +10:00
pyexec.h shared/runtime/pyexec: Add helper function to execute a vstr. 2025-03-14 17:10:35 +11:00
semihosting_arm.c shared/runtime/semihosting_arm: Add mp_semihosting_exit. 2024-08-28 11:52:08 +10:00
semihosting_arm.h shared/runtime/semihosting_arm: Add mp_semihosting_exit. 2024-08-28 11:52:08 +10:00
semihosting_rv32.c shared/runtime/semihosting: Add RISC-V semihosting support. 2024-06-06 12:55:21 +10:00
semihosting_rv32.h shared/runtime/semihosting: Add RISC-V semihosting support. 2024-06-06 12:55:21 +10:00
softtimer.c shared/runtime/softtimer: Add support for hard callbacks. 2025-09-25 23:59:24 +10:00
softtimer.h shared/runtime/softtimer: Add support for hard callbacks. 2025-09-25 23:59:24 +10:00
stdout_helpers.c shared: Introduce new top-level dir and move 1st party lib code there. 2021-07-12 17:07:36 +10:00
sys_stdio_mphal.c shared/runtime/sys_stdio_mphal: Fix printed type for stdio streams. 2024-09-06 17:00:35 +10:00