Repository navigation
Commit 5a5de77
committed
freebsd-mach-kmod-syscall-slots-spike: 10-slot lkmnosys cap audit plan
freebsd-launchd-mach has wired 10 Mach syscalls into FreeBSD's
reserved lkmnosys slot range (210-219). An 11th fails with ENFILE.
Forward-demand estimate puts total Mach syscalls at 30-40 by the
time launchd+configd+notifyd+asl are ported.
This is an audit plan, not a design decision. Outlines:
- The 10-syscall inventory currently shipped.
- Why the FreeBSD limit exists (compile-time-sized sysent table,
convention not technical constraint).
- What Apple does differently (separate mach_trap_table with
negative syscall numbers, ~80 entries today).
- Risk profile per expansion path: RESERVED-slot claiming
(low-risk on low-numbered RESERVED slots, ~48 available),
multiplexer dispatcher (one slot, internal table), base-kernel
patch (disqualified by project rules).
- Forward-demand estimate broken down by phase.
- Four sub-agent audits to run before picking a path:
A) FreeBSD syscall-extension mechanisms
B) Survey existing Mach-syscall users
C) XNU's own Mach-trap dispatch
D) Impact on existing wired syscalls
- Decision rubric with weighted criteria.
Phase G2b's routing workaround stays in place while we audit;
migration commit lands before Phase G2c.1 parent c10a9d7 commit 5a5de77
2 files changed
Lines changed: 321 additions & 0 deletions
0 commit comments