One reference for architecture-specific interfaces

Syscall.sh has released an expanded reference for Linux system calls, bringing tables for 27 processor architectures into a single searchable website. The updated service documents the numerical identifiers, arguments and register conventions used by each architecture, while adding release history and machine-readable access for developers who need to compare kernel interfaces.

System calls form the boundary through which programs request services from the Linux kernel, but their numbers and calling conventions are not identical across architectures. A call available under one number on x86-64 may have a different identifier elsewhere, and the registers used to pass arguments can also change. Syscall.sh presents those details in a consistent table, listing the call number, as many as six arguments, the instruction used to enter the kernel and the location of the return value.

The site says its coverage spans mainline Linux releases from version 3.3 through 7.3, although the earliest recorded release varies by architecture. Each architecture page includes a kernel selector, allowing users to view the table for a particular version. Entries record the first scanned release in which a call appears and, where applicable, the version in which it was removed. Calls that disappeared remain available through an option that includes removed entries, making the reference useful for compatibility research rather than only current development.

The same information is offered as JSON at an architecture-specific path. That gives tooling authors a way to consume the tables without scraping the web interface. The service also provides an API for selecting releases and comparing changes, positioning the project as both a human reference and a data source for debuggers, security tools, compatibility layers and low-level educational material.

According to the project, the tables are generated from kernel source rather than assembled manually. Its generator reads architecture syscall tables and the kernel's system-call definition macros across the mainline releases it scans. Short descriptions are drawn from the Linux man-pages project, with io_uring descriptions coming from liburing. The site is rebuilt when the underlying syscall data changes.

That generation method reduces transcription work, but users still need to interpret the version fields carefully. If a call is marked as present in the first release scanned for an architecture, that does not establish that it originated in that release; it may be considerably older. The project's history is therefore bounded by its source scan, not a claim to document the complete origin of every Linux interface.

The update gives developers a compact way to answer questions that otherwise require moving among kernel source files and architecture documentation. Its practical value will depend on keeping the generator aligned with new mainline releases and clearly exposing any parsing limitations, but the combination of browsable tables, version diffs and downloadable data offers a useful new entry point into a complex part of Linux.