xref: /linux/tools/perf/util/map_symbol.h (revision bf4afc53b77aeaa48b5409da5c8da6bb4eff7f43)
1 // SPDX-License-Identifier: GPL-2.0
2 #ifndef __PERF_MAP_SYMBOL
3 #define __PERF_MAP_SYMBOL 1
4 
5 #include <linux/types.h>
6 
7 struct thread;
8 struct maps;
9 struct map;
10 struct symbol;
11 
12 struct map_symbol {
13 	struct thread *thread;
14 	struct map    *map;
15 	struct symbol *sym;
16 };
17 
18 struct addr_map_symbol {
19 	struct map_symbol ms;
20 	u64	      addr;
21 	u64	      al_addr;
22 	char	      al_level;
23 	u64	      phys_addr;
24 	u64	      data_page_size;
25 };
26 
27 void map_symbol__exit(struct map_symbol *ms);
28 void addr_map_symbol__exit(struct addr_map_symbol *ams);
29 
30 void map_symbol__copy(struct map_symbol *dst, struct map_symbol *src);
31 void addr_map_symbol__copy(struct addr_map_symbol *dst, struct addr_map_symbol *src);
32 
33 #endif // __PERF_MAP_SYMBOL
34