xref: /openbmc/linux/tools/perf/util/mem-events.h (revision 80483c3a)
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 extern unsigned int perf_mem_events__loads_ldlat;
22 
23 int perf_mem_events__parse(const char *str);
24 int perf_mem_events__init(void);
25 
26 char *perf_mem_events__name(int i);
27 
28 struct mem_info;
29 int perf_mem__tlb_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
30 int perf_mem__lvl_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
31 int perf_mem__snp_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
32 int perf_mem__lck_scnprintf(char *out, size_t sz, struct mem_info *mem_info);
33 
34 int perf_script__meminfo_scnprintf(char *bf, size_t size, struct mem_info *mem_info);
35 
36 #endif /* __PERF_MEM_EVENTS_H */
37