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)
number241 (0xf1)
abicommon
kconfigCONFIG_PERF_EVENTS
entry pointsys_perf_event_open
sinceLinux 3.9 or earlier (3.9 is the first release scanned for metag)
man pageperf_event_open(2)
sourceelixir.bootlin.com

Registers

registervalue
D1Re0241, the syscall number
D1Ar1struct perf_event_attr *attr_uptr
D0Ar2pid_t pid
D1Ar3int cpu
D0Ar4int group_fd
D1Ar5unsigned long flags
D0Re0the 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

Get this as JSON: https://api.syscall.sh/v2/syscalls/metag/perf_event_open?kernel=all