perf_event_open on ia32
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 | 336 (0x150) |
|---|---|
| abi | i386 |
| kconfig | CONFIG_PERF_EVENTS |
| entry point | sys_perf_event_open |
| since | Linux 3.3 or earlier (3.3 is the first release scanned for ia32) |
| man page | perf_event_open(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
eax | 336, the syscall number |
ebx | struct perf_event_attr *attr_uptr |
ecx | pid_t pid |
edx | int cpu |
esi | int group_fd |
edi | unsigned long flags |
eax | the return value |
Then run int 0x80 to enter the kernel.
This compat ABI is only available when the kernel is built with CONFIG_IA32_EMULATION.
Same syscall on other architectures
- x64 298
- x86 336
- arm64 241
- arm 364
- riscv64 241
- x32 1073742122
- loongarch64 241
- ppc64 319
- ppc 319
- s390x 331
- mips64 5292
- mipsn32 6296
- mipso32 4333
- alpha 493
- arc 241
- csky 241
- hexagon 241
- m68k 332
- microblaze 366
- nios2 241
- openrisc 241
- parisc 318
- sh 336
- sparc 327
- sparc64 327
- xtensa 327
Get this as JSON: https://api.syscall.sh/v2/syscalls/ia32/perf_event_open