Syscalls in Ironclad have an architecture-dependent ABI, but the table and its indexes are always the same, this is done to simplify development. and here is a list of the supported architectures and the ABI for each of them. Here is the table:
Syscalls are invoked in Ironclad by using ecall.
The index of the syscall is passed over x17, while the return value is
returned in x10, errno is returned in x11, arguments are passed
over x10, x11, x12, x13, x14, x15,
and x16.
Syscalls are invoked in Ironclad by using syscall.
The index of the syscall is passed over %rax, while the return value is
returned in %rax, errno is returned on %rdx, arguments are passed
over %rdi, %rsi, %rdx, %r12, %r8,
%r9, and %r10, following the SysV ABI.