xref: /openbmc/linux/tools/perf/util/env.h (revision a8da474e)
1 #ifndef __PERF_ENV_H
2 #define __PERF_ENV_H
3 
4 struct cpu_topology_map {
5 	int	socket_id;
6 	int	core_id;
7 };
8 
9 struct perf_env {
10 	char			*hostname;
11 	char			*os_release;
12 	char			*version;
13 	char			*arch;
14 	int			nr_cpus_online;
15 	int			nr_cpus_avail;
16 	char			*cpu_desc;
17 	char			*cpuid;
18 	unsigned long long	total_mem;
19 	unsigned int		msr_pmu_type;
20 
21 	int			nr_cmdline;
22 	int			nr_sibling_cores;
23 	int			nr_sibling_threads;
24 	int			nr_numa_nodes;
25 	int			nr_pmu_mappings;
26 	int			nr_groups;
27 	char			*cmdline;
28 	const char		**cmdline_argv;
29 	char			*sibling_cores;
30 	char			*sibling_threads;
31 	char			*numa_nodes;
32 	char			*pmu_mappings;
33 	struct cpu_topology_map	*cpu;
34 };
35 
36 extern struct perf_env perf_env;
37 
38 void perf_env__exit(struct perf_env *env);
39 
40 int perf_env__set_cmdline(struct perf_env *env, int argc, const char *argv[]);
41 
42 int perf_env__read_cpu_topology_map(struct perf_env *env);
43 
44 #endif /* __PERF_ENV_H */
45