| /arch/x86/kernel/ |
| A D | machine_kexec_32.c | 46 image->arch.pgd = NULL; in machine_kexec_free_page_tables() 49 image->arch.pmd0 = NULL; in machine_kexec_free_page_tables() 51 image->arch.pmd1 = NULL; in machine_kexec_free_page_tables() 54 image->arch.pte0 = NULL; in machine_kexec_free_page_tables() 69 if (!image->arch.pgd || in machine_kexec_alloc_page_tables() 71 !image->arch.pmd0 || !image->arch.pmd1 || in machine_kexec_alloc_page_tables() 73 !image->arch.pte0 || !image->arch.pte1) { in machine_kexec_alloc_page_tables() 110 image->arch.pgd, pmd, image->arch.pte0, in machine_kexec_prepare_page_tables() 116 image->arch.pgd, pmd, image->arch.pte1, in machine_kexec_prepare_page_tables() 223 image->start = relocate_kernel_ptr((unsigned long)image->head, in machine_kexec() [all …]
|
| A D | machine_kexec_64.c | 153 image->arch.p4d = NULL; in free_transition_pgtable() 155 image->arch.pud = NULL; in free_transition_pgtable() 157 image->arch.pmd = NULL; in free_transition_pgtable() 159 image->arch.pte = NULL; in free_transition_pgtable() 185 image->arch.p4d = p4d; in init_transition_pgtable() 242 .context = image, in init_pgtable() 250 image->arch.pgd = alloc_pgt_page(image); in init_pgtable() 251 if (!image->arch.pgd) in init_pgtable() 309 return init_transition_pgtable(image, image->arch.pgd, control_page); in init_pgtable() 443 image->start = relocate_kernel_ptr((unsigned long)image->head, in machine_kexec() [all …]
|
| A D | crash.c | 298 start = image->elf_load_addr; in memmap_exclude_ranges() 306 if (image->dm_crypt_keys_addr) { in memmap_exclude_ranges() 404 struct kexec_buf kbuf = { .image = image, .buf_min = 0, in crash_load_segments() 412 image->elf_headers = kbuf.buffer; in crash_load_segments() 430 image->elfcorehdr_index = image->nr_segments; in crash_load_segments() 444 image->elf_load_addr = kbuf.mem; in crash_load_segments() 461 if (image->file_mode) in arch_crash_hotplug_support() 510 if ((image->file_mode || image->elfcorehdr_updated) && in arch_crash_handle_hotplug_event() 528 mem = image->segment[image->elfcorehdr_index].mem; in arch_crash_handle_hotplug_event() 529 memsz = image->segment[image->elfcorehdr_index].memsz; in arch_crash_handle_hotplug_event() [all …]
|
| A D | kexec-bzimage64.c | 82 if (image->dm_crypt_keys_addr != 0) in setup_cmdline() 225 if (!image->ima_buffer_size) in setup_ima_state() 232 ima->addr = image->ima_buffer_addr; in setup_ima_state() 233 ima->size = image->ima_buffer_size; in setup_ima_state() 256 if (!image->kho.fdt || !image->kho.scratch) in setup_kho() 260 kho->fdt_addr = image->kho.fdt; in setup_kho() 447 struct kexec_buf kbuf = { .image = image, .buf_max = ULONG_MAX, in bzImage64_load() 449 struct kexec_buf pbuf = { .image = image, .buf_min = MIN_PURGATORY_ADDR, in bzImage64_load() 480 ret = crash_load_segments(image); in bzImage64_load() 490 if (image->dm_crypt_keys_addr && in bzImage64_load() [all …]
|
| /arch/riscv/kernel/ |
| A D | machine_kexec.c | 31 machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 33 struct kimage_arch *internal = &image->arch; in machine_kexec_prepare() 40 for (i = 0; i < image->nr_segments; i++) { in machine_kexec_prepare() 41 if (image->segment[i].memsz <= sizeof(fdt)) in machine_kexec_prepare() 44 if (image->file_mode) in machine_kexec_prepare() 45 memcpy(&fdt, image->segment[i].buf, sizeof(fdt)); in machine_kexec_prepare() 62 if (image->type != KEXEC_TYPE_CRASH) { in machine_kexec_prepare() 92 machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument 149 machine_kexec(struct kimage *image) in machine_kexec() argument 151 struct kimage_arch *internal = &image->arch; in machine_kexec() [all …]
|
| A D | kexec_elf.c | 24 static int riscv_kexec_elf_load(struct kimage *image, struct elfhdr *ehdr, in riscv_kexec_elf_load() argument 34 kbuf.image = image; in riscv_kexec_elf_load() 63 static int elf_find_pbase(struct kimage *image, unsigned long kernel_len, in elf_find_pbase() argument 86 kbuf.image = image; in elf_find_pbase() 104 image->start = ehdr->e_entry - lowest_vaddr + kbuf.mem; in elf_find_pbase() 109 static void *elf_kexec_load(struct kimage *image, char *kernel_buf, in elf_kexec_load() argument 124 ret = elf_find_pbase(image, kernel_len, &ehdr, &elf_info, in elf_kexec_load() 130 ret = riscv_kexec_elf_load(image, &ehdr, &elf_info, in elf_kexec_load() 135 ret = load_extra_segments(image, image->start, kernel_len, in elf_kexec_load()
|
| A D | machine_kexec_file.c | 27 kvfree(image->arch.fdt); in arch_kimage_file_post_load_cleanup() 28 image->arch.fdt = NULL; in arch_kimage_file_post_load_cleanup() 30 vfree(image->elf_headers); in arch_kimage_file_post_load_cleanup() 31 image->elf_headers = NULL; in arch_kimage_file_post_load_cleanup() 32 image->elf_headers_sz = 0; in arch_kimage_file_post_load_cleanup() 97 image->elf_load_addr); in setup_kdump_cmdline() 267 kbuf.image = image; in load_extra_segments() 294 image->elf_headers = headers; in load_extra_segments() 295 image->elf_load_addr = kbuf.mem; in load_extra_segments() 296 image->elf_headers_sz = headers_sz; in load_extra_segments() [all …]
|
| /arch/x86/entry/vdso/ |
| A D | vma.c | 41 BUG_ON(image->size % PAGE_SIZE != 0); in init_vdso_image() 43 apply_alternatives((struct alt_instr *)(image->data + image->alt), in init_vdso_image() 44 (struct alt_instr *)(image->data + image->alt + in init_vdso_image() 45 image->alt_len)); in init_vdso_image() 57 if (!image || (vmf->pgoff << PAGE_SHIFT) >= image->size) in vdso_fault() 85 vdso_fix_landing(image, new_vma); in vdso_mremap() 161 image->size, in map_vdso() 175 do_munmap(mm, text_start, image->size, NULL); in map_vdso() 189 do_munmap(mm, addr, image->size, NULL); in map_vdso() 194 current->mm->context.vdso_image = image; in map_vdso() [all …]
|
| /arch/s390/kernel/ |
| A D | machine_kexec_file.c | 135 buf.image = image; in kexec_file_add_purgatory() 158 buf.image = image; in kexec_file_add_initrd() 160 buf.buffer = image->initrd_buf; in kexec_file_add_initrd() 192 buf.image = image; in kexec_file_add_ipl_report() 255 ret = add_kernel(image, &data); in kexec_file_add_components() 277 image->cmdline_buf_len); in kexec_file_add_components() 286 if (image->initrd_buf) { in kexec_file_add_components() 298 restart_psw += image->start; in kexec_file_add_components() 300 image->start = 0; in kexec_file_add_components() 385 vfree(image->arch.ipl_buf); in arch_kimage_file_post_load_cleanup() [all …]
|
| A D | machine_kexec.c | 50 struct kimage *image = data; in __do_machine_kdump() local 54 purgatory = (purgatory_t)image->start; in __do_machine_kdump() 116 store_status(__do_machine_kdump, image); in __machine_kdump() 196 if (image->type == KEXEC_TYPE_CRASH) in machine_kexec_prepare() 200 if (image->type != KEXEC_TYPE_DEFAULT) in machine_kexec_prepare() 230 struct kimage *image = data; in __do_machine_kexec() local 233 entry = virt_to_phys(&image->head); in __do_machine_kexec() 241 unsigned long, image->start, in __do_machine_kexec() 267 void machine_kexec(struct kimage *image) in machine_kexec() argument 269 if (image->type == KEXEC_TYPE_CRASH && !kdump_csum_valid(image)) in machine_kexec() [all …]
|
| A D | kexec_image.c | 16 static int kexec_file_add_kernel_image(struct kimage *image, in kexec_file_add_kernel_image() argument 21 buf.image = image; in kexec_file_add_kernel_image() 23 buf.buffer = image->kernel_buf; in kexec_file_add_kernel_image() 24 buf.bufsz = image->kernel_buf_len; in kexec_file_add_kernel_image() 28 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_kernel_image() 33 data->kernel_buf = image->kernel_buf; in kexec_file_add_kernel_image() 35 data->parm = image->kernel_buf + PARMAREA; in kexec_file_add_kernel_image() 45 static void *s390_image_load(struct kimage *image, in s390_image_load() argument 50 return kexec_file_add_components(image, kexec_file_add_kernel_image); in s390_image_load()
|
| /arch/sh/kernel/ |
| A D | machine_kexec.c | 41 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 50 static void kexec_info(struct kimage *image) in kexec_info() argument 54 for (i = 0; i < image->nr_segments; i++) { in kexec_info() 57 (unsigned int)image->segment[i].mem, in kexec_info() 58 (unsigned int)image->segment[i].mem + in kexec_info() 59 image->segment[i].memsz, in kexec_info() 69 void machine_kexec(struct kimage *image) in machine_kexec() argument 92 if (image->preserve_context) in machine_kexec() 101 page_list = image->head; in machine_kexec() 111 kexec_info(image); in machine_kexec() [all …]
|
| /arch/arm64/kernel/ |
| A D | machine_kexec_file.c | 32 kvfree(image->arch.dtb); in arch_kimage_file_post_load_cleanup() 33 image->arch.dtb = NULL; in arch_kimage_file_post_load_cleanup() 35 vfree(image->elf_headers); in arch_kimage_file_post_load_cleanup() 36 image->elf_headers = NULL; in arch_kimage_file_post_load_cleanup() 37 image->elf_headers_sz = 0; in arch_kimage_file_post_load_cleanup() 103 kbuf.image = image; in load_other_segments() 131 image->elf_headers = headers; in load_other_segments() 132 image->elf_load_addr = kbuf.mem; in load_other_segments() 185 image->arch.dtb = dtb; in load_other_segments() 186 image->arch.dtb_mem = kbuf.mem; in load_other_segments() [all …]
|
| A D | kexec_image.c | 36 static void *image_load(struct kimage *image, in image_load() argument 75 kbuf.image = image; in image_load() 90 kernel_segment_number = image->nr_segments; in image_load() 99 kernel_segment = &image->segment[kernel_segment_number]; in image_load() 100 ret = load_other_segments(image, kernel_segment->mem, in image_load() 110 image->nr_segments -= 1; in image_load() 120 kernel_segment = &image->segment[kernel_segment_number]; in image_load() 123 image->start = kernel_segment->mem; in image_load()
|
| /arch/powerpc/kexec/ |
| A D | elf_64.c | 28 static void *elf64_load(struct kimage *image, char *kernel_buf, in elf64_load() argument 42 struct kexec_buf kbuf = { .image = image, .buf_min = 0, in elf64_load() 44 struct kexec_buf pbuf = { .image = image, .buf_min = 0, in elf64_load() 52 if (IS_ENABLED(CONFIG_CRASH_DUMP) && image->type == KEXEC_TYPE_CRASH) { in elf64_load() 66 ret = kexec_load_purgatory(image, &pbuf); in elf64_load() 76 ret = load_crashdump_segments_ppc64(image, &kbuf); in elf64_load() 83 modified_cmdline = setup_kdump_cmdline(image, cmdline, in elf64_load() 111 fdt = of_kexec_alloc_and_setup_fdt(image, initrd_load_addr, in elf64_load() 113 kexec_extra_fdt_size_ppc64(image, rmem)); in elf64_load() 120 ret = setup_new_fdt_ppc64(image, fdt, rmem); in elf64_load() [all …]
|
| A D | file_load_64.c | 58 emem = image->arch.exclude_ranges; in arch_check_excluded_range() 372 image->arch.backup_buf = buf; in load_backup_segment() 462 image->elf_load_addr = kbuf->mem; in load_elfcorehdr_segment() 464 image->elf_headers = headers; in load_elfcorehdr_segment() 860 vfree(image->arch.backup_buf); in arch_kimage_file_post_load_cleanup() 861 image->arch.backup_buf = NULL; in arch_kimage_file_post_load_cleanup() 863 vfree(image->elf_headers); in arch_kimage_file_post_load_cleanup() 864 image->elf_headers = NULL; in arch_kimage_file_post_load_cleanup() 865 image->elf_headers_sz = 0; in arch_kimage_file_post_load_cleanup() 867 kvfree(image->arch.fdt); in arch_kimage_file_post_load_cleanup() [all …]
|
| A D | crash.c | 436 ksegment = &image->segment[image->elfcorehdr_index]; in update_crash_elfcorehdr() 486 xchg(&kexec_crash_image, image); in update_crash_elfcorehdr() 501 static int get_fdt_index(struct kimage *image) in get_fdt_index() argument 508 for (i = 0; i < image->nr_segments; i++) { in get_fdt_index() 509 mem = image->segment[i].mem; in get_fdt_index() 531 fdt_index = get_fdt_index(image); in update_crash_fdt() 547 xchg(&kexec_crash_image, image); in update_crash_fdt() 553 if (image->file_mode) in arch_crash_hotplug_support() 575 switch (image->hp_action) { in arch_crash_handle_hotplug_event() 580 update_crash_fdt(image); in arch_crash_handle_hotplug_event() [all …]
|
| A D | file_load.c | 36 char *setup_kdump_cmdline(struct kimage *image, char *cmdline, in setup_kdump_cmdline() argument 47 image->elf_load_addr); in setup_kdump_cmdline() 71 int setup_purgatory(struct kimage *image, const void *slave_code, in setup_purgatory() argument 83 ret = kexec_purgatory_get_set_symbol(image, "purgatory_start", in setup_purgatory() 94 ret = kexec_purgatory_get_set_symbol(image, "purgatory_start", in setup_purgatory() 99 ret = kexec_purgatory_get_set_symbol(image, "kernel", &kernel_load_addr, in setup_purgatory() 103 ret = kexec_purgatory_get_set_symbol(image, "dt_offset", &fdt_load_addr, in setup_purgatory()
|
| A D | core_32.c | 30 void default_machine_kexec(struct kimage *image) in default_machine_kexec() argument 44 page_list = image->head; in default_machine_kexec() 48 (unsigned long)page_address(image->control_code_page); in default_machine_kexec() 60 relocate_new_kernel(page_list, reboot_code_buffer_phys, image->start); in default_machine_kexec() 64 (*rnk)(page_list, reboot_code_buffer_phys, image->start); in default_machine_kexec() 67 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument
|
| /arch/parisc/kernel/ |
| A D | kexec_file.c | 16 static void *elf_load(struct kimage *image, char *kernel_buf, in elf_load() argument 25 struct kexec_buf kbuf = { .image = image, .buf_min = 0, in elf_load() 32 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); in elf_load() 36 image->start = __pa(elf_info.ehdr->e_entry); in elf_load() 38 for (i = 0; i < image->nr_segments; i++) in elf_load() 39 image->segment[i].mem = __pa(image->segment[i].mem); in elf_load() 42 kernel_load_addr, image->start); in elf_load() 55 image->arch.initrd_start = kbuf.mem; in elf_load() 56 image->arch.initrd_end = kbuf.mem + initrd_len; in elf_load() 72 image->arch.cmdline = kbuf.mem; in elf_load()
|
| /arch/powerpc/boot/ |
| A D | Makefile | 279 image-$(CONFIG_PPC_PS3) += dtbImage.ps3 280 image-$(CONFIG_PPC_CHRP) += zImage.chrp 281 image-$(CONFIG_PPC_EFIKA) += zImage.chrp 282 image-$(CONFIG_PPC_PMAC) += zImage.pmac 284 image-$(CONFIG_DEFAULT_UIMAGE) += uImage 303 image-$(CONFIG_WARP) += cuImage.warp 348 image-$(CONFIG_WII) += dtbImage.wii 363 image-y += $(CONFIG_EXTRA_TARGETS) 371 targets += $(image-y) $(initrd-y) 432 ifeq (,$(image-y)) [all …]
|
| /arch/arm/kernel/ |
| A D | machine_kexec.c | 33 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 39 image->arch.kernel_r2 = image->start - KEXEC_ARM_ZIMAGE_OFFSET in machine_kexec_prepare() 55 for (i = 0; i < image->nr_segments; i++) { in machine_kexec_prepare() 56 current_segment = &image->segment[i]; in machine_kexec_prepare() 67 image->arch.kernel_r2 = current_segment->mem; in machine_kexec_prepare() 72 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument 141 void machine_kexec(struct kimage *image) in machine_kexec() argument 156 page_list = image->head & PAGE_MASK; in machine_kexec() 158 reboot_code_buffer = page_address(image->control_code_page); in machine_kexec() 166 data->kexec_start_address = image->start; in machine_kexec() [all …]
|
| /arch/powerpc/include/asm/ |
| A D | kexec.h | 63 extern void default_machine_kexec(struct kimage *image); 67 void kexec_copy_flush(struct kimage *image); 82 char *setup_kdump_cmdline(struct kimage *image, char *cmdline, 84 int setup_purgatory(struct kimage *image, const void *slave_code, 94 int arch_kimage_file_post_load_cleanup(struct kimage *image); 97 int arch_check_excluded_range(struct kimage *image, unsigned long start, 102 int load_crashdump_segments_ppc64(struct kimage *image, 104 int setup_purgatory_ppc64(struct kimage *image, const void *slave_code, 107 unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct crash_mem *rmem); 138 void arch_crash_handle_hotplug_event(struct kimage *image, void *arg); [all …]
|
| /arch/sparc/boot/ |
| A D | Makefile | 11 targets := tftpboot.img image zImage vmlinux.aout 15 cmd_elftoaout = $(ELFTOAOUT) $(obj)/image -o $@ 25 $(obj)/zImage: $(obj)/image FORCE 34 $(obj)/zImage: $(obj)/image FORCE 44 $(obj)/image.bin: $(obj)/image FORCE 47 $(obj)/image.gz: $(obj)/image.bin FORCE 59 $(obj)/uImage: $(obj)/image.gz FORCE 66 $(obj)/image: vmlinux FORCE 70 $(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback System.map $(ROOT_IMG) FORCE
|
| /arch/sparc/vdso/ |
| A D | vma.c | 91 e->hdr = image->data; in find_sections64() 159 e->hdr = image->data; in find_sections32() 208 return find_sections64(image, e); in find_sections() 210 return find_sections32(image, e); in find_sections() 226 err = find_sections(image, e, elf64); in stick_patch() 250 int cnpages = (image->size) / PAGE_SIZE; in init_vdso_image() 378 image->size - image->sym_vvar_start, in map_vdso() 384 addr = vdso_addr(addr, image->size - image->sym_vvar_start); in map_vdso() 387 image->size - image->sym_vvar_start, 0, 0); in map_vdso() 401 image->size, in map_vdso() [all …]
|