perf_event_open on metag
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.9 or earlier (3.9 is the first release scanned for metag) |
| man page | perf_event_open(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
D1Re0 | 241, the syscall number |
D1Ar1 | struct perf_event_attr *attr_uptr |
D0Ar2 | pid_t pid |
D1Ar3 | int cpu |
D0Ar4 | int group_fd |
D1Ar5 | unsigned long flags |
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 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
- 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
- tilepro 241, removed in 4.17
- xtensa 327
Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/perf_event_open?kernel=all