Lines Matching refs:mi

23 static int add_extra_kernel_map(struct extra_kernel_map_info *mi, u64 start,  in add_extra_kernel_map()  argument
26 if (mi->cnt >= mi->max_cnt) { in add_extra_kernel_map()
30 mi->max_cnt = mi->max_cnt ? mi->max_cnt * 2 : 32; in add_extra_kernel_map()
31 sz = sizeof(struct extra_kernel_map) * mi->max_cnt; in add_extra_kernel_map()
32 buf = realloc(mi->maps, sz); in add_extra_kernel_map()
35 mi->maps = buf; in add_extra_kernel_map()
38 mi->maps[mi->cnt].start = start; in add_extra_kernel_map()
39 mi->maps[mi->cnt].end = end; in add_extra_kernel_map()
40 mi->maps[mi->cnt].pgoff = pgoff; in add_extra_kernel_map()
41 strlcpy(mi->maps[mi->cnt].name, name, KMAP_NAME_LEN); in add_extra_kernel_map()
43 mi->cnt += 1; in add_extra_kernel_map()
51 struct extra_kernel_map_info *mi = arg; in find_extra_kernel_maps() local
53 if (!mi->entry_trampoline && kallsyms2elf_binding(type) == STB_GLOBAL && in find_extra_kernel_maps()
55 mi->entry_trampoline = start; in find_extra_kernel_maps()
62 return add_extra_kernel_map(mi, start, end, 0, name); in find_extra_kernel_maps()
71 struct extra_kernel_map_info mi = { .cnt = 0, }; in machine__create_extra_kernel_maps() local
81 ret = kallsyms__parse(filename, &mi, find_extra_kernel_maps); in machine__create_extra_kernel_maps()
85 if (!mi.entry_trampoline) in machine__create_extra_kernel_maps()
88 for (i = 0; i < mi.cnt; i++) { in machine__create_extra_kernel_maps()
89 struct extra_kernel_map *xm = &mi.maps[i]; in machine__create_extra_kernel_maps()
91 xm->pgoff = mi.entry_trampoline; in machine__create_extra_kernel_maps()
97 machine->trampolines_mapped = mi.cnt; in machine__create_extra_kernel_maps()
99 free(mi.maps); in machine__create_extra_kernel_maps()