Skip to content

Glossary

Syscall BSD

La famille de syscalls façon POSIX dans XNU — open, read, write, fork, kqueue, et ~480 autres. Numéros positifs, sémantique errno.

Un syscall BSD est une entrée de la personnalité BSD de XNU — la moitié du noyau héritée de 4.4BSD. Tous les appels POSIX que vous connaissez vivent ici : open, read, write, fork, execve, mmap, plus les extensions Darwin comme kqueue et csops.

Deux traits distinctifs :

  • Numéro de syscall positif. Stocké dans x16 sur arm64, EAX (avec bits de classe) sur x86_64.
  • Sémantique errno. Un retour noyau non nul positionne le carry ; le stub utilisateur met la valeur dans errno et retourne -1.

La table complète est déclarée dans bsd/kern/syscalls.master. Le dispatch passe par unix_syscall64() dans bsd/dev/arm64/systemcalls.c.

À comparer avec le Mach trap — l'autre famille de syscalls, à numéros négatifs et sémantique kern_return_t.