aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/powerpc/pmu/event.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/testing/selftests/powerpc/pmu/event.h')
-rw-r--r--tools/testing/selftests/powerpc/pmu/event.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/tools/testing/selftests/powerpc/pmu/event.h b/tools/testing/selftests/powerpc/pmu/event.h
new file mode 100644
index 000000000000..e6993192ff34
--- /dev/null
+++ b/tools/testing/selftests/powerpc/pmu/event.h
@@ -0,0 +1,39 @@
1/*
2 * Copyright 2013, Michael Ellerman, IBM Corp.
3 * Licensed under GPLv2.
4 */
5
6#ifndef _SELFTESTS_POWERPC_PMU_EVENT_H
7#define _SELFTESTS_POWERPC_PMU_EVENT_H
8
9#include <unistd.h>
10#include <linux/perf_event.h>
11
12#include "utils.h"
13
14
15struct event {
16 struct perf_event_attr attr;
17 char *name;
18 int fd;
19 /* This must match the read_format we use */
20 struct {
21 u64 value;
22 u64 running;
23 u64 enabled;
24 } result;
25};
26
27void event_init(struct event *e, u64 config);
28void event_init_named(struct event *e, u64 config, char *name);
29void event_init_opts(struct event *e, u64 config, int type, char *name);
30int event_open_with_options(struct event *e, pid_t pid, int cpu, int group_fd);
31int event_open_with_group(struct event *e, int group_fd);
32int event_open(struct event *e);
33void event_close(struct event *e);
34int event_reset(struct event *e);
35int event_read(struct event *e);
36void event_report_justified(struct event *e, int name_width, int result_width);
37void event_report(struct event *e);
38
39#endif /* _SELFTESTS_POWERPC_PMU_EVENT_H */