It seems like a good time to consolidate the work done on the ARM Cortex-M4 and M7 ports of Inferno. As a result, I've started to write some sort of guide to how they work, which is currently in a repository hosted on GitHub. The plan is to expand this as a collection of Markdown documents until it needs more structure and/or some level of automation.
One side effect of this is that I've revisited the context switching code, hopefully making it do what it is supposed to do. Only the Apollo3 and STM32F405 ports have the updated code so far. I'll dig out the Teensy at some point and test it there as well. Since the SAMD51 board is presumably still broken, I'll probably just import the changes and commit them. If anyone cares enough to try it, find that it's broken and report the issue then I'll put more effort into that port.