syscall.sh / sh / getcpu
getcpu
determine CPU and NUMA node on which the calling thread is running
sys_getcpu(unsigned *cpup, unsigned *nodep, void *unused)
| number | 318 (0x13e) |
|---|---|
| abi | common |
| entry point | sys_getcpu |
| since | Linux 5.0 |
| man page | getcpu(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r3 | 318, the syscall number |
r4 | unsigned *cpup |
r5 | unsigned *nodep |
r6 | void *unused |
r0 | the return value |
Then run trapa #31 to enter the kernel.
Same syscall on other architectures
- x64 309
- x86 318
- arm64 168
- arm 345
- riscv64 168
- x32 1073742133
- loongarch64 168
- ppc64 302
- ppc 302
- s390x 311
- mips64 5271
- mipsn32 6275
- mipso32 4312
- alpha 473
- arc 168
- csky 168
- hexagon 168
- m68k 314
- microblaze 318
- nios2 168
- openrisc 168
- parisc 296
- sparc 308
- sparc64 308
- xtensa 280
Get this as JSON: https://api.syscall.sh/v2/syscalls/sh/getcpu