Generated by scripts/dev/corpus-report.py from the syscalls each corpus
workload made on Linux (tests/corpus/needs/, measured by
scripts/dev/corpus-measure.sh under strace) and the state of each syscall in
syscalls.md. Phase A0 of phases.md. The workloads are
listed in tests/corpus/workloads.txt.
A workload is ready when nothing it asks for is missing or deferred here - the
two answers the boot gate fails on. A refused call is an answer by decision. A partial
syscall does not count against it - it is served, with a named gap that may or
may not be the case this workload reaches. Ready is necessary, not sufficient:
running the workload on VibeOS, and LTP, are what say it works. The musl test
programs the boot gate already runs are the check on this report: they must
come out ready.
The Linux Test Project's syscall tests that build against musl
(scripts/dev/corpus-build.sh; the list is tests/corpus/ltp-built.txt): 1331
tests covering 320 syscalls. Each is matched to the syscall its name starts
with, longest name first. What they are for is the phase column: a syscall
with tests here has a conformance oracle waiting for it; one without has to
be proved by the corpus programs alone. Another 199 built tests have a name
that starts with no syscall's (for example abort01, cacheflush01, confstr01, endian_switch01, epoll-ltp) and are not counted.
Not syscalls, and just as necessary: ps needs nothing VibeOS lacks at the
syscall level and still fails without /proc. Process ids are folded to
<pid>. These are the requirements of L2's minimal /proc, and of the /etc
files the credential model will need.