perf_event_open on tilepro
set up performance monitoring
sys_perf_event_open(struct perf_event_attr *attr_uptr, pid_t pid, int cpu, int group_fd, unsigned long flags)
| number | 241 (0xf1) |
|---|---|
| abi | common |
| kconfig | CONFIG_PERF_EVENTS |
| entry point | sys_perf_event_open |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for tilepro) |
| man page | perf_event_open(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r10 | 241, the syscall number |
r0 | struct perf_event_attr *attr_uptr |
r1 | pid_t pid |
r2 | int cpu |
r3 | int group_fd |
r4 | unsigned long flags |
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 298
- x86 336
- arm64 241
- arm 364
- riscv64 241
- ia32 336
- x32 1073742122
- loongarch64 241
- ppc64 319
- ppc 319
- s390x 331
- mips64 5292
- mipsn32 6296
- mipso32 4333
- alpha 493
- arc 241
- blackfin 369, removed in 4.17
- cris 339, removed in 4.17
- csky 241
- frv 336, removed in 4.17
- hexagon 241
- ia64 1352, removed in 6.7
- m68k 332
- metag 241, removed in 4.17
- microblaze 366
- mn10300 337, removed in 4.17
- nds32 241, removed in 5.18
- nios2 241
- openrisc 241
- parisc 318
- score 241, removed in 4.17
- sh 336
- sparc 327
- sparc64 327
- tilegx 241, removed in 4.17
- xtensa 327
Get this as JSON: https://api.syscall.sh/v2/syscalls/tilepro/perf_event_open?kernel=all