futex on metag

fast user-space locking

sys_futex(u32 *uaddr, int op, u32 val, struct timespec *utime, u32 *uaddr2, u32 val3)
number98 (0x62)
abicommon
entry pointsys_futex
sinceLinux 3.9 or earlier (3.9 is the first release scanned for metag)
man pagefutex(2)
sourceelixir.bootlin.com

Registers

registervalue
D1Re098, the syscall number
D1Ar1u32 *uaddr
D0Ar2int op
D1Ar3u32 val
D0Ar4struct timespec *utime
D1Ar5u32 *uaddr2
D0Ar6u32 val3
D0Re0the return value

Then run SWITCH #0x440001 to enter the kernel.

Values wider than one register are packed into consecutive arguments.

This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.

Same syscall on other architectures

Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/futex?kernel=all