aboutsummaryrefslogtreecommitdiff
path: root/cortex-m-rt/src
diff options
context:
space:
mode:
authorGravatar bors[bot] <bors[bot]@users.noreply.github.com> 2019-02-16 19:28:12 +0000
committerGravatar bors[bot] <bors[bot]@users.noreply.github.com> 2019-02-16 19:28:12 +0000
commita7b9cb98e3934b195920688139a67e416cb694b5 (patch)
tree954872e56a975ea977bed5a93ba480fbf91aaf44 /cortex-m-rt/src
parent3436a113969a8723d049d384fa1983a5c988d6ff (diff)
parent99409a20474018d2734772f8b365023ec3807081 (diff)
downloadcortex-m-a7b9cb98e3934b195920688139a67e416cb694b5.tar.gz
cortex-m-a7b9cb98e3934b195920688139a67e416cb694b5.tar.zst
cortex-m-a7b9cb98e3934b195920688139a67e416cb694b5.zip
Merge #168
168: On HardFault entry use MSP/PSP depending on stack mode r=thejpster a=bytex64 Noticed this when making my own hardfault handler - none of the registers were correct. The `&ExceptionFrame` argument was wrong because I was using the PSP in Thread mode, but the handler only loads MSP. This PR inspects the EXC_RETURN value in LR and loads either MSP or PSP depending on the stack used (see section B1.5.8 in the ARMv7-M architecture manual for details on the format of EXC_RETURN). I haven't tested this on armv6m or armv8m, but I believe it works the same across the board. Also didn't update the libraries in `bin/` since I wasn't sure if that was expected or not. Co-authored-by: Chip <bytex64@bytex64.net>
Diffstat (limited to 'cortex-m-rt/src')
0 files changed, 0 insertions, 0 deletions