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)
number336 (0x150)
abii386
kconfigCONFIG_PERF_EVENTS
entry pointsys_perf_event_open
sinceLinux 3.3 or earlier (3.3 is the first release scanned for ia32)
man pageperf_event_open(2)
sourceelixir.bootlin.com

Registers

registervalue
eax336, the syscall number
ebxstruct perf_event_attr *attr_uptr
ecxpid_t pid
edxint cpu
esiint group_fd
ediunsigned long flags
eaxthe 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

Get this as JSON: https://api.syscall.sh/v2/syscalls/ia32/perf_event_open