Lines Matching refs:map
29 struct map { struct
48 u64 (*map_ip)(struct map *, u64); argument
50 u64 (*unmap_ip)(struct map *, u64); argument
86 struct kmap *map__kmap(struct map *map);
87 struct map_groups *map__kmaps(struct map *map);
89 static inline u64 map__map_ip(struct map *map, u64 ip) in map__map_ip() argument
91 return ip - map->start + map->pgoff; in map__map_ip()
94 static inline u64 map__unmap_ip(struct map *map, u64 ip) in map__unmap_ip() argument
96 return ip + map->start - map->pgoff; in map__unmap_ip()
99 static inline u64 identity__map_ip(struct map *map __maybe_unused, u64 ip) in identity__map_ip()
106 u64 map__rip_2objdump(struct map *map, u64 rip);
109 u64 map__objdump_2mem(struct map *map, u64 ip);
121 #define map__for_each_symbol(map, pos, n) \ argument
122 dso__for_each_symbol(map->dso, pos, n, map->type)
132 #define __map__for_each_symbol_by_name(map, sym_name, pos, filter) \ argument
133 for (pos = map__find_symbol_by_name(map, sym_name, filter); \
137 #define map__for_each_symbol_by_name(map, sym_name, pos) \ argument
138 __map__for_each_symbol_by_name(map, sym_name, (pos), NULL)
140 typedef int (*symbol_filter_t)(struct map *map, struct symbol *sym);
143 void map__init(struct map *map, enum map_type type,
145 struct map *map__new(struct machine *machine, u64 start, u64 len,
149 struct map *map__new2(u64 start, struct dso *dso, enum map_type type);
150 void map__delete(struct map *map);
151 struct map *map__clone(struct map *map);
153 static inline struct map *map__get(struct map *map) in map__get() argument
155 if (map) in map__get()
156 atomic_inc(&map->refcnt); in map__get()
157 return map; in map__get()
160 void map__put(struct map *map);
162 static inline void __map__zput(struct map **map) in __map__zput() argument
164 map__put(*map); in __map__zput()
165 *map = NULL; in __map__zput()
168 #define map__zput(map) __map__zput(&map) argument
170 int map__overlap(struct map *l, struct map *r);
171 size_t map__fprintf(struct map *map, FILE *fp);
172 size_t map__fprintf_dsoname(struct map *map, FILE *fp);
173 int map__fprintf_srcline(struct map *map, u64 addr, const char *prefix,
176 int map__load(struct map *map, symbol_filter_t filter);
177 struct symbol *map__find_symbol(struct map *map,
179 struct symbol *map__find_symbol_by_name(struct map *map, const char *name,
181 void map__fixup_start(struct map *map);
182 void map__fixup_end(struct map *map);
184 void map__reloc_vmlinux(struct map *map);
188 void maps__insert(struct maps *maps, struct map *map);
189 void maps__remove(struct maps *maps, struct map *map);
190 struct map *maps__find(struct maps *maps, u64 addr);
191 struct map *maps__first(struct maps *maps);
192 struct map *map__next(struct map *map);
194 struct map **mapp, symbol_filter_t filter);
201 int maps__set_kallsyms_ref_reloc_sym(struct map **maps, const char *symbol_name,
204 static inline void map_groups__insert(struct map_groups *mg, struct map *map) in map_groups__insert() argument
206 maps__insert(&mg->maps[map->type], map); in map_groups__insert()
207 map->groups = mg; in map_groups__insert()
210 static inline void map_groups__remove(struct map_groups *mg, struct map *map) in map_groups__remove() argument
212 maps__remove(&mg->maps[map->type], map); in map_groups__remove()
215 static inline struct map *map_groups__find(struct map_groups *mg, in map_groups__find()
221 static inline struct map *map_groups__first(struct map_groups *mg, in map_groups__first()
227 static inline struct map *map_groups__next(struct map *map) in map_groups__next() argument
229 return map__next(map); in map_groups__next()
234 struct map **mapp,
240 struct map **mapp,
249 const char *name, struct map **mapp, in map_groups__find_function_by_name()
255 int map_groups__fixup_overlappings(struct map_groups *mg, struct map *map,
258 struct map *map_groups__find_by_name(struct map_groups *mg,
261 bool __map__is_kernel(const struct map *map);
263 static inline bool __map__is_kmodule(const struct map *map) in __map__is_kmodule() argument
265 return !__map__is_kernel(map); in __map__is_kmodule()