kernel: Major rework of the single process in memory model
- Support 'parent runs first' in fork. We will also need this for flat memory
models like 68000 to work nicely. In our case we write the child to swap but
for flat models we'd duplicate the update and write a short stub stack to
the child
- Introduce a makeproc to replace newproc. Different arguments so deliberately
break all the old code
- Fix some interestingly bad scheduling corner cases where we have a process
running for a long time with nothing else that then causes fork to thrash
- Make tmpfree always a function. Useful for debug and also avoids icky asm
dependencies
- Fix the Z80 single process model to use the new features
- Fix the Z80 banked process model to pass the new arguments
- Also adjust the switching rate on the Plus 3 as our test platform for the
single process in memory tunings
Takes our boot time down about 33% !