semctl on tilepro
System V semaphore control operations
sys_semctl(int semid, int semnum, int cmd, unsigned long arg)
| number | 191 (0xbf) |
|---|---|
| abi | common |
| kconfig | CONFIG_SYSVIPC |
| family | sysvipc see the whole family on tilepro |
| entry point | sys_semctl |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | semctl(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 191, the syscall number |
r0 | int semid |
r1 | int semnum |
r2 | int cmd |
r3 | unsigned long arg |
r0 | the return value |
Then run swint1 to enter the kernel.
The kernel uses r1 to signal an error for ordinary calls.
Fast atomic calls use negative numbers and have different register behavior.
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
- x64 66
- x86 394
- arm64 191
- arm 300
- riscv64 191
- ia32 394
- x32 1073741890
- loongarch64 191
- ppc64 394
- ppc 394
- s390x 394
- mips64 5064
- mipsn32 6064
- mipso32 4394
- alpha 204
- arc 191
- blackfin 331, removed in 4.17
- csky 191
- hexagon 191
- ia64 1108, removed in 6.7
- m68k 394
- metag 191, removed in 4.17
- microblaze 328
- nds32 191, removed in 5.18
- nios2 191
- openrisc 191
- parisc 187
- score 191, removed in 4.17
- sh 394
- sparc 394
- sparc64 394
- tilegx 191, removed in 4.17
- xtensa 164
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/semctl?kernel=all