futex on ia64
fast user-space locking
sys_futex(u32 *uaddr, int op, u32 val, const struct __kernel_timespec *utime, u32 *uaddr2, u32 val3)
| number | 1230 (0x4ce) |
|---|---|
| abi | common |
| entry point | sys_futex |
| since | Linux 5.0 or earlier (5.0 is the first release scanned for ia64) |
| man page | futex(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r15 | 1230, the syscall number |
out0 | u32 *uaddr |
out1 | int op |
out2 | u32 val |
out3 | const struct __kernel_timespec *utime |
out4 | u32 *uaddr2 |
out5 | u32 val3 |
r8 | the return value |
Then run break 0x100000 to enter the kernel.
The kernel uses r10 to signal an error.
The pipe call returns file descriptors in r8 and r9.
This architecture was removed from the Linux kernel in Linux 6.7. The newest release with a syscall table here is Linux 6.6. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 202
- x86 240
- arm64 98
- arm 240
- riscv64 98
- ia32 240
- x32 1073742026
- loongarch64 98
- ppc64 221
- ppc 221
- s390x 238
- mips64 5194
- mipsn32 6194
- mipso32 4238
- alpha 394
- arc 98
- blackfin 240, removed in 4.17
- cris 240, removed in 4.17
- csky 98
- frv 240, removed in 4.17
- hexagon 98
- m32r 240, removed in 4.17
- m68k 235
- metag 98, removed in 4.17
- microblaze 240
- mn10300 240, removed in 4.17
- nds32 98, removed in 5.18
- nios2 98
- openrisc 98
- parisc 210
- score 98, removed in 4.17
- sh 240
- sparc 142
- sparc64 142
- tilegx 98, removed in 4.17
- tilepro 98, removed in 4.17
- xtensa 191
Get this as JSON: https://api.syscall.sh/v2/syscalls/ia64/futex?kernel=all