summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/map_symbol.h
blob: e370bb32ed471a77a3f13fb4a8bff88520179f6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
// SPDX-License-Identifier: GPL-2.0
#ifndef __PERF_MAP_SYMBOL
#define __PERF_MAP_SYMBOL 1

#include <linux/types.h>

struct maps;
struct map;
struct symbol;

struct map_symbol {
	struct maps   *maps;
	struct map    *map;
	struct symbol *sym;
};

struct addr_map_symbol {
	struct map_symbol ms;
	u64	      addr;
	u64	      al_addr;
	char	      al_level;
	u64	      phys_addr;
	u64	      data_page_size;
};

void map_symbol__exit(struct map_symbol *ms);
void addr_map_symbol__exit(struct addr_map_symbol *ams);

void map_symbol__copy(struct map_symbol *dst, struct map_symbol *src);
void addr_map_symbol__copy(struct addr_map_symbol *dst, struct addr_map_symbol *src);

#endif // __PERF_MAP_SYMBOL