Function report |
Source Code:kernel\kexec_file.c |
Create Date:2022-07-28 11:04:38 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:crash_prepare_elf64_headers
Proto:int crash_prepare_elf64_headers(struct crash_mem *mem, int kernel_map, void **addr, unsigned long *sz)
Type:int
Parameter:
Type | Parameter | Name |
---|---|---|
struct crash_mem * | mem | |
int | kernel_map | |
void ** | addr | |
unsigned long * | sz |
1245 | nr_cpus = num_possible_cpus() |
1263 | nr_phdr++ |
1264 | elf_sz = sizeof(Elf64_Ehdr) + nr_phdr * sizeof(Elf64_Phdr) |
1273 | No 3D Now!(e_ident, ELFMAG, SELFMAG) |
1274 | ELF "magic number" [EI_CLASS] = ELFCLASS64 |
1275 | ELF "magic number" [EI_DATA] = ELFDATA2LSB |
1276 | ELF "magic number" [EI_VERSION] = EV_CURRENT |
1277 | ELF "magic number" [EI_OSABI] = ELF_OSABI |
1278 | memset( ELF "magic number" + EI_PAD, 0, EI_NIDENT - EI_PAD) |
1281 | e_version = EV_CURRENT |
1283 | e_ehsize = sizeof(Elf64_Ehdr) |
1284 | e_phentsize = sizeof(Elf64_Phdr) |
1287 | for_each_present_cpu(cpu) |
1289 | notes_addr = per_cpu_ptr_to_phys(per_cpu_ptr(Per cpu memory for storing cpu states in case of system crash. , cpu)) |
1292 | e_phnum++ |
1293 | phdr++ |
1300 | e_phnum++ |
1301 | phdr++ |
1304 | If kernel_map Then |
1306 | p_flags = These constants define the permissions on sections in the programheader, p_flags. | PF_W | PF_X |
1310 | e_phnum++ |
1311 | phdr++ |
1320 | p_flags = These constants define the permissions on sections in the programheader, p_flags. | PF_W | PF_X |
1321 | Segment file offset = mstart |
1323 | Segment physical address = mstart |
1324 | Segment virtual address = __va(mstart) |
1325 | Segment size in file = Segment size in memory = mend - mstart + 1 |
1326 | Segment alignment, file & memory = 0 |
1327 | e_phnum++ |
1328 | phdr++ |
1329 | pr_debug("Crash PT_LOAD elf header. phdr=%p vaddr=0x%llx, paddr=0x%llx, sz=0x%llx e_phnum=%d p_offset=0x%llx\n", phdr, Segment virtual address , Segment physical address , Segment size in file , e_phnum, Segment file offset ) |
1336 | Return 0 |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |