• Home
  • Raw
  • Download

Lines Matching refs:kci

1284 	struct kcore_copy_info *kci = arg;  in kcore_copy__process_kallsyms()  local
1290 if (start > kci->last_module_symbol) in kcore_copy__process_kallsyms()
1291 kci->last_module_symbol = start; in kcore_copy__process_kallsyms()
1295 if (!kci->first_symbol || start < kci->first_symbol) in kcore_copy__process_kallsyms()
1296 kci->first_symbol = start; in kcore_copy__process_kallsyms()
1298 if (!kci->last_symbol || start > kci->last_symbol) in kcore_copy__process_kallsyms()
1299 kci->last_symbol = start; in kcore_copy__process_kallsyms()
1302 kci->stext = start; in kcore_copy__process_kallsyms()
1307 kci->etext = start; in kcore_copy__process_kallsyms()
1314 static int kcore_copy__parse_kallsyms(struct kcore_copy_info *kci, in kcore_copy__parse_kallsyms() argument
1324 if (kallsyms__parse(kallsyms_filename, kci, in kcore_copy__parse_kallsyms()
1335 struct kcore_copy_info *kci = arg; in kcore_copy__process_modules() local
1337 if (!kci->first_module || start < kci->first_module) in kcore_copy__process_modules()
1338 kci->first_module = start; in kcore_copy__process_modules()
1343 static int kcore_copy__parse_modules(struct kcore_copy_info *kci, in kcore_copy__parse_modules() argument
1353 if (modules__parse(modules_filename, kci, in kcore_copy__parse_modules()
1373 struct kcore_copy_info *kci = data; in kcore_copy__read_map() local
1376 kcore_copy__map(&kci->kernel_map, start, end, pgoff, kci->stext, in kcore_copy__read_map()
1377 kci->etext); in kcore_copy__read_map()
1379 kcore_copy__map(&kci->modules_map, start, end, pgoff, kci->first_module, in kcore_copy__read_map()
1380 kci->last_module_symbol); in kcore_copy__read_map()
1385 static int kcore_copy__read_maps(struct kcore_copy_info *kci, Elf *elf) in kcore_copy__read_maps() argument
1387 if (elf_read_maps(elf, true, kcore_copy__read_map, kci) < 0) in kcore_copy__read_maps()
1393 static int kcore_copy__calc_maps(struct kcore_copy_info *kci, const char *dir, in kcore_copy__calc_maps() argument
1396 if (kcore_copy__parse_kallsyms(kci, dir)) in kcore_copy__calc_maps()
1399 if (kcore_copy__parse_modules(kci, dir)) in kcore_copy__calc_maps()
1402 if (kci->stext) in kcore_copy__calc_maps()
1403 kci->stext = round_down(kci->stext, page_size); in kcore_copy__calc_maps()
1405 kci->stext = round_down(kci->first_symbol, page_size); in kcore_copy__calc_maps()
1407 if (kci->etext) { in kcore_copy__calc_maps()
1408 kci->etext = round_up(kci->etext, page_size); in kcore_copy__calc_maps()
1409 } else if (kci->last_symbol) { in kcore_copy__calc_maps()
1410 kci->etext = round_up(kci->last_symbol, page_size); in kcore_copy__calc_maps()
1411 kci->etext += page_size; in kcore_copy__calc_maps()
1414 kci->first_module = round_down(kci->first_module, page_size); in kcore_copy__calc_maps()
1416 if (kci->last_module_symbol) { in kcore_copy__calc_maps()
1417 kci->last_module_symbol = round_up(kci->last_module_symbol, in kcore_copy__calc_maps()
1419 kci->last_module_symbol += page_size; in kcore_copy__calc_maps()
1422 if (!kci->stext || !kci->etext) in kcore_copy__calc_maps()
1425 if (kci->first_module && !kci->last_module_symbol) in kcore_copy__calc_maps()
1428 return kcore_copy__read_maps(kci, elf); in kcore_copy__calc_maps()
1554 struct kcore_copy_info kci = { .stext = 0, }; in kcore_copy() local
1570 if (kcore_copy__calc_maps(&kci, from_dir, kcore.elf)) in kcore_copy()
1576 if (!kci.modules_map.addr) in kcore_copy()
1582 if (kcore__add_phdr(&extract, idx++, offset, kci.kernel_map.addr, in kcore_copy()
1583 kci.kernel_map.len)) in kcore_copy()
1586 if (kci.modules_map.addr) { in kcore_copy()
1587 modules_offset = offset + kci.kernel_map.len; in kcore_copy()
1589 kci.modules_map.addr, kci.modules_map.len)) in kcore_copy()
1597 if (copy_bytes(kcore.fd, kci.kernel_map.offset, extract.fd, offset, in kcore_copy()
1598 kci.kernel_map.len)) in kcore_copy()
1601 if (modules_offset && copy_bytes(kcore.fd, kci.modules_map.offset, in kcore_copy()
1603 kci.modules_map.len)) in kcore_copy()