xref: /openbmc/linux/tools/perf/util/mem-events.h (revision 4f205687)
1 #ifndef __PERF_MEM_EVENTS_H
2 #define __PERF_MEM_EVENTS_H
3 
4 #include <stdbool.h>
5 
6 struct perf_mem_event {
7 	bool		record;
8 	bool		supported;
9 	const char	*tag;
10 	const char	*name;
11 	const char	*sysfs_name;
12 };
13 
14 enum {
15 	PERF_MEM_EVENTS__LOAD,
16 	PERF_MEM_EVENTS__STORE,
17 	PERF_MEM_EVENTS__MAX,
18 };
19 
20 extern struct perf_mem_event perf_mem_events[PERF_MEM_EVENTS__MAX];
21 
22 int perf_mem_events__parse(const char *str);
23 int perf_mem_events__init(void);
24 
25 char *perf_mem_events__name(int i);
26 
27 struct mem_info;
28 int perf_mem__tlb_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
29 int perf_mem__lvl_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
30 int perf_mem__snp_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
31 int perf_mem__lck_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
32 
33 int perf_script__meminfo_scnprintf(char *bf, size_t size, struct mem_info *mem_info);
34 
35 #endif /* __PERF_MEM_EVENTS_H */
36