raiden00pl opened a new pull request, #20871:
URL: https://github.com/apache/nuttx/pull/20871
## Summary
d20189bdfa2 made up_exit() and the ARMv6-M arm_sigdeliver() set
g_running_tasks to NULL before SYS_restore_context, so that the ARMv6-M
arm_doirq() skips saving the registers into it. That NULL is passed to
nxsched_switch_context(), which dereferences it; with tickless
round-robin this locked up the STM32F0.
d20189bdfa2 replaced the check of the SVCall number and R0, because on
ARMv6-M the SVC arrives as HardFault when issued with PRIMASK set
(ARMv6-M ARM, DDI 0419E, B1.5.4). Restore that check, accepting SVCall
and HardFault, and remove the NULL from up_exit() and arm_sigdeliver().
## Impact
bug fix
## Testing
NUCLEO-F091RC (Cortex-M0) and NUCLEO-U083RC (Cortex-M0+) with systick and
tickless
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]