On May 2, 2016, at 7:50 AM, Mark Cave-Ayland wrote:
This patch series is part of a much larger WIP series designed to remove various hacks from the load/init-program/go words. However in order for the follow-on series to work, all architectures must build an execution context similar to the IEEE1275 specification description of saved-program-state.
PPC is the only architecture which doesn't make use of contexts when entering/leaving the Forth environment, so start by adding this functionality in order that it can be expanded on further with later patches. While no functionality is changed by this patch, there should be no regressions when attempting to boot existing client images.
Signed-off-by: Mark Cave-Ayland mark.cave-ayland@ilande.co.uk
v2:
- Use single asm invocation in switch_to() with clobber register
- Fix unsigned int -> unsigned long
- Fix missing volatile from __context pointer
This patch set does work better than the first one. Debian Linux, Darwin, and Mac OS 10.4 all boot with your patches. The only one to that did not work is Mac OS 9.2. Even when I add the '\r' to '\n' patch, it still doesn't boot. It could be a problem on my end. Or it could be you are on to something...