Lines Matching refs:kci

1389 	struct kcore_copy_info *kci = arg;  in kcore_copy__process_kallsyms()  local
1395 if (start > kci->last_module_symbol) in kcore_copy__process_kallsyms()
1396 kci->last_module_symbol = start; in kcore_copy__process_kallsyms()
1400 if (!kci->first_symbol || start < kci->first_symbol) in kcore_copy__process_kallsyms()
1401 kci->first_symbol = start; in kcore_copy__process_kallsyms()
1403 if (!kci->last_symbol || start > kci->last_symbol) in kcore_copy__process_kallsyms()
1404 kci->last_symbol = start; in kcore_copy__process_kallsyms()
1407 kci->stext = start; in kcore_copy__process_kallsyms()
1412 kci->etext = start; in kcore_copy__process_kallsyms()
1419 static int kcore_copy__parse_kallsyms(struct kcore_copy_info *kci, in kcore_copy__parse_kallsyms() argument
1429 if (kallsyms__parse(kallsyms_filename, kci, in kcore_copy__parse_kallsyms()
1440 struct kcore_copy_info *kci = arg; in kcore_copy__process_modules() local
1442 if (!kci->first_module || start < kci->first_module) in kcore_copy__process_modules()
1443 kci->first_module = start; in kcore_copy__process_modules()
1448 static int kcore_copy__parse_modules(struct kcore_copy_info *kci, in kcore_copy__parse_modules() argument
1458 if (modules__parse(modules_filename, kci, in kcore_copy__parse_modules()
1478 struct kcore_copy_info *kci = data; in kcore_copy__read_map() local
1481 kcore_copy__map(&kci->kernel_map, start, end, pgoff, kci->stext, in kcore_copy__read_map()
1482 kci->etext); in kcore_copy__read_map()
1484 kcore_copy__map(&kci->modules_map, start, end, pgoff, kci->first_module, in kcore_copy__read_map()
1485 kci->last_module_symbol); in kcore_copy__read_map()
1490 static int kcore_copy__read_maps(struct kcore_copy_info *kci, Elf *elf) in kcore_copy__read_maps() argument
1492 if (elf_read_maps(elf, true, kcore_copy__read_map, kci) < 0) in kcore_copy__read_maps()
1498 static int kcore_copy__calc_maps(struct kcore_copy_info *kci, const char *dir, in kcore_copy__calc_maps() argument
1501 if (kcore_copy__parse_kallsyms(kci, dir)) in kcore_copy__calc_maps()
1504 if (kcore_copy__parse_modules(kci, dir)) in kcore_copy__calc_maps()
1507 if (kci->stext) in kcore_copy__calc_maps()
1508 kci->stext = round_down(kci->stext, page_size); in kcore_copy__calc_maps()
1510 kci->stext = round_down(kci->first_symbol, page_size); in kcore_copy__calc_maps()
1512 if (kci->etext) { in kcore_copy__calc_maps()
1513 kci->etext = round_up(kci->etext, page_size); in kcore_copy__calc_maps()
1514 } else if (kci->last_symbol) { in kcore_copy__calc_maps()
1515 kci->etext = round_up(kci->last_symbol, page_size); in kcore_copy__calc_maps()
1516 kci->etext += page_size; in kcore_copy__calc_maps()
1519 kci->first_module = round_down(kci->first_module, page_size); in kcore_copy__calc_maps()
1521 if (kci->last_module_symbol) { in kcore_copy__calc_maps()
1522 kci->last_module_symbol = round_up(kci->last_module_symbol, in kcore_copy__calc_maps()
1524 kci->last_module_symbol += page_size; in kcore_copy__calc_maps()
1527 if (!kci->stext || !kci->etext) in kcore_copy__calc_maps()
1530 if (kci->first_module && !kci->last_module_symbol) in kcore_copy__calc_maps()
1533 return kcore_copy__read_maps(kci, elf); in kcore_copy__calc_maps()
1659 struct kcore_copy_info kci = { .stext = 0, }; in kcore_copy() local
1675 if (kcore_copy__calc_maps(&kci, from_dir, kcore.elf)) in kcore_copy()
1681 if (!kci.modules_map.addr) in kcore_copy()
1687 if (kcore__add_phdr(&extract, idx++, offset, kci.kernel_map.addr, in kcore_copy()
1688 kci.kernel_map.len)) in kcore_copy()
1691 if (kci.modules_map.addr) { in kcore_copy()
1692 modules_offset = offset + kci.kernel_map.len; in kcore_copy()
1694 kci.modules_map.addr, kci.modules_map.len)) in kcore_copy()
1702 if (copy_bytes(kcore.fd, kci.kernel_map.offset, extract.fd, offset, in kcore_copy()
1703 kci.kernel_map.len)) in kcore_copy()
1706 if (modules_offset && copy_bytes(kcore.fd, kci.modules_map.offset, in kcore_copy()
1708 kci.modules_map.len)) in kcore_copy()