Lines Matching defs:map
15 #include "map.h"
162 * to create a map per module.
442 pr_err("Failed to join map groups for %d:%d\n", th->pid_, th->tid);
744 struct map *map = maps__find(&machine->kmaps, event->ksymbol.addr);
746 if (!map) {
751 map = map__new2(0, dso);
754 if (!dso || !map) {
760 map->dso->binary_type = DSO_BINARY_TYPE__OOL;
761 map->dso->data.file_size = event->ksymbol.len;
762 dso__set_loaded(map->dso);
765 map->start = event->ksymbol.addr;
766 map->end = map->start + event->ksymbol.len;
767 maps__insert(&machine->kmaps, map);
776 sym = symbol__new(map->map_ip(map, map->start),
781 dso__insert_symbol(map->dso, sym);
790 struct map *map;
792 map = maps__find(&machine->kmaps, event->ksymbol.addr);
793 if (!map)
796 if (map != machine->vmlinux_map)
797 maps__remove(&machine->kmaps, map);
799 sym = dso__find_symbol(map->dso, map->map_ip(map, map->start));
801 dso__delete_symbol(map->dso, sym);
823 struct map *map = maps__find(&machine->kmaps, event->text_poke.addr);
837 if (map && map->dso) {
845 map__load(map);
846 ret = dso__data_write_cache_addr(map->dso, map, machine,
854 pr_debug("Failed to find kernel text poke address map for %#" PRI_lx64 "\n",
861 static struct map *machine__addnew_module_map(struct machine *machine, u64 start,
864 struct map *map = NULL;
875 map = map__new2(start, dso);
876 if (map == NULL)
879 maps__insert(&machine->kmaps, map);
881 /* Put the map here because maps__insert alread got it */
882 map__put(map);
887 return map;
1008 /* Figure out the start address of kernel map from /proc/kallsyms.
1052 struct map *map;
1054 map = map__new2(xm->start, kernel);
1055 if (!map)
1058 map->end = xm->end;
1059 map->pgoff = xm->pgoff;
1061 kmap = map__kmap(map);
1065 maps__insert(&machine->kmaps, map);
1067 pr_debug2("Added extra kernel map %s %" PRIx64 "-%" PRIx64 "\n",
1068 kmap->name, map->start, map->end);
1070 map__put(map);
1113 struct map *map;
1120 maps__for_each_entry(kmaps, map) {
1121 struct kmap *kmap = __map__kmap(map);
1122 struct map *dest_map;
1127 dest_map = maps__find(kmaps, map->pgoff);
1128 if (dest_map != map)
1129 map->pgoff = dest_map->map_ip(dest_map, map->pgoff);
1141 /* Add a 1 page map for each CPU's entry trampoline */
1172 /* In case of renewal the kernel map, destroy previous one */
1187 struct map *map = machine__kernel_map(machine);
1189 if (map == NULL)
1192 kmap = map__kmap(map);
1193 maps__remove(&machine->kmaps, map);
1278 struct map *map = machine__kernel_map(machine);
1279 int ret = __dso__load_kallsyms(map->dso, filename, map, true);
1282 dso__set_loaded(map->dso);
1296 struct map *map = machine__kernel_map(machine);
1297 int ret = dso__load_vmlinux_path(map->dso, map);
1300 dso__set_loaded(map->dso);
1342 struct map *map = maps__find_by_name(maps, m->name);
1344 if (map == NULL)
1351 dso__set_long_name(map->dso, long_name, true);
1352 dso__kernel_module_get_build_id(map->dso, "");
1358 if (m->comp && is_kmod_dso(map->dso)) {
1359 map->dso->symtab_type++;
1360 map->dso->comp = m->comp;
1449 struct map *map;
1454 map = machine__addnew_module_map(machine, start, name);
1455 if (map == NULL)
1457 map->end = start + size;
1459 dso__kernel_module_get_build_id(map->dso, machine->root_dir);
1506 struct map *map = machine__kernel_map(machine);
1508 map__get(map);
1509 maps__remove(&machine->kmaps, map);
1513 maps__insert(&machine->kmaps, map);
1514 map__put(map);
1521 struct map *map;
1560 /* update end address of the kernel map using adjacent module address */
1561 map = map__next(machine__kernel_map(machine));
1562 if (map)
1563 machine__set_kernel_mmap(machine, start, map->start);
1611 struct map *map;
1629 map = machine__addnew_module_map(machine, event->mmap.start,
1631 if (map == NULL)
1634 map->end = map->start + event->mmap.len;
1724 struct map *map;
1749 map = map__new(machine, event->mmap2.start,
1755 if (map == NULL)
1758 ret = thread__insert_map(thread, map);
1763 map__put(map);
1767 map__put(map);
1779 struct map *map;
1802 map = map__new(machine, event->mmap.start,
1806 if (map == NULL)
1809 ret = thread__insert_map(thread, map);
1814 map__put(map);
1818 map__put(map);
1914 * situation, so we can elide the map clone when appropriate.
2020 ams->ms.map = al.map;
2038 ams->ms.map = al.map;
2060 struct map *map = ms->map;
2063 if (!map || callchain_param.key == CCKEY_FUNCTION)
2066 srcline = srcline__tree_find(&map->dso->srclines, ip);
2071 srcline = get_srcline(map->dso, map__rip_2objdump(map, ip),
2073 srcline__tree_insert(&map->dso->srclines, ip, srcline);
2155 ms.map = al.map;
2810 struct map *map = ms->map;
2816 if (!symbol_conf.inline_name || !map || !sym)
2819 addr = map__map_ip(map, ip);
2820 addr = map__rip_2objdump(map, addr);
2822 inline_node = inlines__tree_find(&map->dso->inlined_nodes, addr);
2824 inline_node = dso__parse_addr_inlines(map->dso, addr, sym);
2827 inlines__tree_insert(&map->dso->inlined_nodes, inline_node);
2833 .map = map,
2862 if (entry->ms.map)
2863 addr = map__map_ip(entry->ms.map, entry->ip);
3040 struct map *map = machine__kernel_map(machine);
3052 if (map) {
3053 err = map__load(map);
3060 machine->kernel_start = map->start;
3105 struct map *map;
3106 struct symbol *sym = machine__find_kernel_symbol(machine, *addrp, &map);
3111 *modp = __map__is_kmodule(map) ? (char *)map->dso->short_name : NULL;
3112 *addrp = map->unmap_ip(map, sym->start);