syscall.sh is a reference for Linux system calls across 27 processor architectures, covering kernel releases from 3.3 through 7.3. It lists each architecture’s syscall numbers, names, arguments, and register assignments, alongside the instruction used to enter the kernel and the register that returns results. The tables cover familiar targets such as x86-64, x86, ARM, and RISC-V as well as less common architectures. Pages let users select kernel releases, and a complete JSON file is available for each architecture.
The resource also tracks syscall history: entries show when they first appeared and, when applicable, which release removed them; dropped calls remain available in an “all, with removed” view. Its API supports queries for individual calls, kernel releases, and release-to-release differences. The data is generated by scanning Linux source code, including architecture syscall tables and syscall-definition macros, so numbers reflect the calls the kernel dispatches. Brief descriptions draw on the Linux man pages project, with io_uring descriptions from liburing. A caveat: a “since” value matching an architecture’s earliest scanned release means the call existed by then, not that it originated in that release.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.