]>
Commit | Line | Data |
---|---|---|
43599d1f JO |
1 | #ifndef _PERF_SYS_H |
2 | #define _PERF_SYS_H | |
3 | ||
82baa0eb JO |
4 | #include <unistd.h> |
5 | #include <sys/types.h> | |
6 | #include <sys/syscall.h> | |
7 | #include <linux/types.h> | |
14f0652b | 8 | #include <linux/compiler.h> |
82baa0eb | 9 | #include <linux/perf_event.h> |
361c564e | 10 | #include <asm/barrier.h> |
43599d1f JO |
11 | |
12 | #if defined(__i386__) | |
493c3031 | 13 | #define CPUINFO_PROC {"model name"} |
43599d1f JO |
14 | #endif |
15 | ||
16 | #if defined(__x86_64__) | |
493c3031 | 17 | #define CPUINFO_PROC {"model name"} |
43599d1f JO |
18 | #endif |
19 | ||
20 | #ifdef __powerpc__ | |
493c3031 | 21 | #define CPUINFO_PROC {"cpu"} |
43599d1f JO |
22 | #endif |
23 | ||
24 | #ifdef __s390__ | |
493c3031 | 25 | #define CPUINFO_PROC {"vendor_id"} |
43599d1f JO |
26 | #endif |
27 | ||
28 | #ifdef __sh__ | |
493c3031 | 29 | #define CPUINFO_PROC {"cpu type"} |
43599d1f JO |
30 | #endif |
31 | ||
32 | #ifdef __hppa__ | |
493c3031 | 33 | #define CPUINFO_PROC {"cpu"} |
43599d1f JO |
34 | #endif |
35 | ||
36 | #ifdef __sparc__ | |
493c3031 | 37 | #define CPUINFO_PROC {"cpu"} |
43599d1f JO |
38 | #endif |
39 | ||
40 | #ifdef __alpha__ | |
493c3031 | 41 | #define CPUINFO_PROC {"cpu model"} |
43599d1f JO |
42 | #endif |
43 | ||
44 | #ifdef __ia64__ | |
493c3031 | 45 | #define CPUINFO_PROC {"model name"} |
43599d1f JO |
46 | #endif |
47 | ||
48 | #ifdef __arm__ | |
493c3031 | 49 | #define CPUINFO_PROC {"model name", "Processor"} |
43599d1f JO |
50 | #endif |
51 | ||
52 | #ifdef __aarch64__ | |
43599d1f JO |
53 | #endif |
54 | ||
55 | #ifdef __mips__ | |
493c3031 | 56 | #define CPUINFO_PROC {"cpu model"} |
43599d1f JO |
57 | #endif |
58 | ||
59 | #ifdef __arc__ | |
493c3031 | 60 | #define CPUINFO_PROC {"Processor"} |
43599d1f JO |
61 | #endif |
62 | ||
63 | #ifdef __metag__ | |
493c3031 | 64 | #define CPUINFO_PROC {"CPU"} |
43599d1f JO |
65 | #endif |
66 | ||
67 | #ifdef __xtensa__ | |
493c3031 | 68 | #define CPUINFO_PROC {"core ID"} |
43599d1f JO |
69 | #endif |
70 | ||
71 | #ifdef __tile__ | |
493c3031 | 72 | #define CPUINFO_PROC {"model name"} |
43599d1f JO |
73 | #endif |
74 | ||
82baa0eb JO |
75 | static inline int |
76 | sys_perf_event_open(struct perf_event_attr *attr, | |
77 | pid_t pid, int cpu, int group_fd, | |
78 | unsigned long flags) | |
79 | { | |
80 | int fd; | |
81 | ||
82 | fd = syscall(__NR_perf_event_open, attr, pid, cpu, | |
83 | group_fd, flags); | |
84 | ||
85 | #ifdef HAVE_ATTR_TEST | |
86 | if (unlikely(test_attr__enabled)) | |
87 | test_attr__open(attr, pid, cpu, fd, group_fd, flags); | |
88 | #endif | |
89 | return fd; | |
90 | } | |
91 | ||
43599d1f | 92 | #endif /* _PERF_SYS_H */ |