Skip to content

Commit 5a5de77

Browse files
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

File tree

0 commit comments

Comments
 (0)