Phase 5 - Threading and synchronisation (begun)
orbistoun-kernel. Real host threads, correct per-thread
TLS, and the mutex and semaphore primitives. FreeBSD is the reference
here - cite it per function.
Observable result: a multi-threaded guest gets past initialisation, and the trace shows interleaved call sites across thread ids.
Where it is. Mutexes, mutex attributes and
semaphores are implemented and exercised - one title constructs eleven
mutexes during static initialisation, and implementing
sceKernelCreateSema took two titles from 45 calls to 222.
scePthreadCreate is written and has never been
called by a guest, so nothing above has been tested against a
second thread, and the observable result is not close.
The trace side of it is not built either: the current recorder is a fixed-size ring with no per-thread sequence numbers and no way to write one out. See the call-recorder entry in BACKLOG.md.