syscall.sh / arm64 / futex
futex
fast user-space locking
sys_futex(u32 *uaddr, int op, u32 val, const struct __kernel_timespec *utime, u32 *uaddr2, u32 val3)
| number | 98 (0x62) |
|---|---|
| abi | 64 |
| entry point | sys_futex |
| since | Linux 3.7 |
| man page | futex(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
x8 | 98, the syscall number |
x0 | u32 *uaddr |
x1 | int op |
x2 | u32 val |
x3 | const struct __kernel_timespec *utime |
x4 | u32 *uaddr2 |
x5 | u32 val3 |
x0 | the return value |
Then run svc #0 to enter the kernel.
Same syscall on other architectures
- x64 202
- x86 240
- arm 240
- riscv64 98
- x32 1073742026
- loongarch64 98
- ppc64 221
- ppc 221
- s390x 238
- mips64 5194
- mipsn32 6194
- mipso32 4238
- alpha 394
- arc 98
- csky 98
- hexagon 98
- m68k 235
- microblaze 240
- nios2 98
- openrisc 98
- parisc 210
- sh 240
- sparc 142
- sparc64 142
- xtensa 191
Get this as JSON: https://api.syscall.sh/v2/syscalls/arm64/futex