You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
picocrt/arm: For non M-class Arm cores set distinct banked SPs
Currently in the Arm crt0.c, we set all the banked SPs to the same address. So
if we would change to a different mode from the default supervisor (SVC) mode,
we would set the SP back to the original value of the SVC SP, and stomp over the
existing values.
This patch sets up different addresses for the different modes at the top of the
stack, with the main SVC stack defined at the bottom of these, which then grows
towards the heap like before.
The stacks are all set to the very small value of 16 bytes. Enough to be able to
debug picolibc test startup code, which currently isn't expected to switch mode
in normal operation.
0 commit comments