#ifdef HAVE_LIBAIO_H
# include <libaio.h>
#endif
+#ifdef HAVE_LINUX_PERF_EVENT_H
+# include <linux/perf_event.h>
+#endif
#if HAVE_LONG_LONG_OFF_T
/*
{ 0, NULL },
};
+static const struct xlat perf_event_open_flags[] = {
+#ifdef PERF_FLAG_FD_NO_GROUP
+ { PERF_FLAG_FD_NO_GROUP, "PERF_FLAG_FD_NO_GROUP" },
+#endif
+#ifdef PERF_FLAG_FD_OUTPUT
+ { PERF_FLAG_FD_OUTPUT, "PERF_FLAG_FD_OUTPUT" },
+#endif
+#ifdef PERF_FLAG_PID_CGROUP
+ { PERF_FLAG_PID_CGROUP, "PERF_FLAG_PID_CGROUP" },
+#endif
+ { 0, NULL },
+};
+
#ifndef HAVE_LONG_LONG_OFF_T
/* fcntl/lockf */
static void
{
return do_eventfd(tcp, 1);
}
+
+int
+sys_perf_event_open(struct tcb *tcp)
+{
+ if (entering(tcp)) {
+ tprintf("%#lx, %d, %d, %d, ",
+ tcp->u_arg[0],
+ (int) tcp->u_arg[1],
+ (int) tcp->u_arg[2],
+ (int) tcp->u_arg[3]);
+ printflags(perf_event_open_flags, tcp->u_arg[4],
+ "PERF_FLAG_???");
+ }
+ return 0;
+}
#define sys_lookup_dcookie printargs
#define sys_name_to_handle_at printargs
#define sys_open_by_handle_at printargs
-#define sys_perf_event_open printargs
#define sys_request_key printargs
#define sys_sync_file_range printargs
#define sys_sysfs printargs