sched_getaffinity on metag
set and get a thread's CPU affinity mask
sys_sched_getaffinity(pid_t pid, unsigned int len, unsigned long *user_mask_ptr)
| number | 123 (0x7b) |
|---|---|
| abi | common |
| entry point | sys_sched_getaffinity |
| since | Linux 3.9 or earlier (3.9 is the first release scanned for metag) |
| man page | sched_getaffinity(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 123, the syscall number |
D1Ar1 | pid_t pid |
D0Ar2 | unsigned int len |
D1Ar3 | unsigned long *user_mask_ptr |
D0Re0 | the 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
- x64 204
- x86 242
- arm64 123
- arm 242
- riscv64 123
- ia32 242
- x32 1073742028
- loongarch64 123
- ppc64 223
- ppc 223
- s390x 240
- mips64 5196
- mipsn32 6196
- mipso32 4240
- alpha 396
- arc 123
- blackfin 242, removed in 4.17
- cris 242, removed in 4.17
- csky 123
- frv 242, removed in 4.17
- hexagon 123
- ia64 1232, removed in 6.7
- m32r 242, removed in 4.17
- m68k 312
- microblaze 242
- mn10300 242, removed in 4.17
- nds32 123, removed in 5.18
- nios2 123
- openrisc 123
- parisc 212
- score 123, removed in 4.17
- sh 242
- sparc 260
- sparc64 260
- tilegx 123, removed in 4.17
- tilepro 123, removed in 4.17
- xtensa 157
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/sched_getaffinity?kernel=all