/arch/x86/kernel/ |
D | machine_kexec_32.c | 43 static void machine_kexec_free_page_tables(struct kimage *image) in machine_kexec_free_page_tables() argument 45 free_pages((unsigned long)image->arch.pgd, PGD_ALLOCATION_ORDER); in machine_kexec_free_page_tables() 46 image->arch.pgd = NULL; in machine_kexec_free_page_tables() 48 free_page((unsigned long)image->arch.pmd0); in machine_kexec_free_page_tables() 49 image->arch.pmd0 = NULL; in machine_kexec_free_page_tables() 50 free_page((unsigned long)image->arch.pmd1); in machine_kexec_free_page_tables() 51 image->arch.pmd1 = NULL; in machine_kexec_free_page_tables() 53 free_page((unsigned long)image->arch.pte0); in machine_kexec_free_page_tables() 54 image->arch.pte0 = NULL; in machine_kexec_free_page_tables() 55 free_page((unsigned long)image->arch.pte1); in machine_kexec_free_page_tables() [all …]
|
D | machine_kexec_64.c | 111 static void free_transition_pgtable(struct kimage *image) in free_transition_pgtable() argument 113 free_page((unsigned long)image->arch.p4d); in free_transition_pgtable() 114 image->arch.p4d = NULL; in free_transition_pgtable() 115 free_page((unsigned long)image->arch.pud); in free_transition_pgtable() 116 image->arch.pud = NULL; in free_transition_pgtable() 117 free_page((unsigned long)image->arch.pmd); in free_transition_pgtable() 118 image->arch.pmd = NULL; in free_transition_pgtable() 119 free_page((unsigned long)image->arch.pte); in free_transition_pgtable() 120 image->arch.pte = NULL; in free_transition_pgtable() 123 static int init_transition_pgtable(struct kimage *image, pgd_t *pgd) in init_transition_pgtable() argument [all …]
|
/arch/riscv/kernel/ |
D | machine_kexec.c | 25 kexec_image_info(const struct kimage *image) in kexec_image_info() argument 30 pr_debug("\ttype: %d\n", image->type); in kexec_image_info() 31 pr_debug("\tstart: %lx\n", image->start); in kexec_image_info() 32 pr_debug("\thead: %lx\n", image->head); in kexec_image_info() 33 pr_debug("\tnr_segments: %lu\n", image->nr_segments); in kexec_image_info() 35 for (i = 0; i < image->nr_segments; i++) { in kexec_image_info() 37 image->segment[i].mem, in kexec_image_info() 38 image->segment[i].mem + image->segment[i].memsz); in kexec_image_info() 40 (unsigned long) image->segment[i].memsz, in kexec_image_info() 41 (unsigned long) image->segment[i].memsz / PAGE_SIZE); in kexec_image_info() [all …]
|
/arch/s390/kernel/ |
D | machine_kexec_file.c | 82 static int kexec_file_update_purgatory(struct kimage *image, in kexec_file_update_purgatory() argument 88 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_update_purgatory() 96 ret = kexec_purgatory_get_set_symbol(image, "kernel_entry", &entry, in kexec_file_update_purgatory() 101 ret = kexec_purgatory_get_set_symbol(image, "kernel_type", &type, in kexec_file_update_purgatory() 106 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_update_purgatory() 109 ret = kexec_purgatory_get_set_symbol(image, "crash_start", in kexec_file_update_purgatory() 117 ret = kexec_purgatory_get_set_symbol(image, "crash_size", in kexec_file_update_purgatory() 125 static int kexec_file_add_purgatory(struct kimage *image, in kexec_file_add_purgatory() argument 131 buf.image = image; in kexec_file_add_purgatory() 135 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_purgatory() [all …]
|
D | machine_kexec.c | 42 static void __do_machine_kdump(void *image) in __do_machine_kdump() argument 62 start_kdump = (void *)((struct kimage *) image)->start; in __do_machine_kdump() 73 static noinline void __machine_kdump(void *image) in __machine_kdump() argument 109 store_status(__do_machine_kdump, image); in __machine_kdump() 114 struct kimage *image = (struct kimage *) addr; in do_start_kdump() local 115 int (*start_kdump)(int) = (void *)image->start; in do_start_kdump() 129 static bool kdump_csum_valid(struct kimage *image) in kdump_csum_valid() argument 136 unsigned long, (unsigned long)image); in kdump_csum_valid() 199 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 203 if (image->type == KEXEC_TYPE_CRASH) in machine_kexec_prepare() [all …]
|
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() 27 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_kernel_image() 31 data->kernel_buf = image->kernel_buf; in kexec_file_add_kernel_image() 33 data->parm = image->kernel_buf + PARMAREA; in kexec_file_add_kernel_image() 43 static void *s390_image_load(struct kimage *image, in s390_image_load() argument 48 return kexec_file_add_components(image, kexec_file_add_kernel_image); in s390_image_load()
|
/arch/x86/entry/vdso/ |
D | vma.c | 47 void __init init_vdso_image(const struct vdso_image *image) in init_vdso_image() argument 49 BUG_ON(image->size % PAGE_SIZE != 0); in init_vdso_image() 51 apply_alternatives((struct alt_instr *)(image->data + image->alt), in init_vdso_image() 52 (struct alt_instr *)(image->data + image->alt + in init_vdso_image() 53 image->alt_len)); in init_vdso_image() 62 const struct vdso_image *image = vma->vm_mm->context.vdso_image; in vdso_fault() local 64 if (!image || (vmf->pgoff << PAGE_SHIFT) >= image->size) in vdso_fault() 67 vmf->page = virt_to_page(image->data + (vmf->pgoff << PAGE_SHIFT)); in vdso_fault() 72 static void vdso_fix_landing(const struct vdso_image *image, in vdso_fix_landing() argument 76 if (in_ia32_syscall() && image == &vdso_image_32) { in vdso_fix_landing() [all …]
|
/arch/sh/kernel/ |
D | machine_kexec.c | 41 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 46 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() 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() 60 (unsigned int)image->segment[i].memsz); in kexec_info() 62 printk(" start : 0x%08x\n\n", (unsigned int)image->start); in kexec_info() 69 void machine_kexec(struct kimage *image) in machine_kexec() argument [all …]
|
/arch/arm64/kernel/ |
D | machine_kexec_file.c | 30 int arch_kimage_file_post_load_cleanup(struct kimage *image) in arch_kimage_file_post_load_cleanup() argument 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() 39 return kexec_image_post_load_cleanup_default(image); in arch_kimage_file_post_load_cleanup() 81 int load_other_segments(struct kimage *image, in load_other_segments() argument 90 orig_segments = image->nr_segments; in load_other_segments() 93 kbuf.image = image; in load_other_segments() [all …]
|
D | kexec_image.c | 37 static void *image_load(struct kimage *image, in image_load() argument 76 kbuf.image = image; in image_load() 91 kernel_segment_number = image->nr_segments; in image_load() 100 kernel_segment = &image->segment[kernel_segment_number]; in image_load() 101 ret = load_other_segments(image, kernel_segment->mem, in image_load() 111 image->nr_segments -= 1; in image_load() 121 kernel_segment = &image->segment[kernel_segment_number]; in image_load() 124 image->start = kernel_segment->mem; in image_load()
|
/arch/powerpc/boot/ |
D | Makefile | 265 image-$(CONFIG_PPC_PSERIES) += zImage.pseries 266 image-$(CONFIG_PPC_POWERNV) += zImage.pseries 267 image-$(CONFIG_PPC_MAPLE) += zImage.maple 268 image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries 269 image-$(CONFIG_PPC_PS3) += dtbImage.ps3 270 image-$(CONFIG_PPC_CHRP) += zImage.chrp 271 image-$(CONFIG_PPC_EFIKA) += zImage.chrp 272 image-$(CONFIG_PPC_PMAC) += zImage.pmac 273 image-$(CONFIG_PPC_HOLLY) += dtbImage.holly 274 image-$(CONFIG_DEFAULT_UIMAGE) += uImage [all …]
|
/arch/powerpc/kexec/ |
D | elf_64.c | 27 static void *elf64_load(struct kimage *image, char *kernel_buf, in elf64_load() argument 40 struct kexec_buf kbuf = { .image = image, .buf_min = 0, in elf64_load() 42 struct kexec_buf pbuf = { .image = image, .buf_min = 0, in elf64_load() 50 if (image->type == KEXEC_TYPE_CRASH) { in elf64_load() 58 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); in elf64_load() 64 ret = kexec_load_purgatory(image, &pbuf); in elf64_load() 73 if (image->type == KEXEC_TYPE_CRASH) { in elf64_load() 74 ret = load_crashdump_segments_ppc64(image, &kbuf); in elf64_load() 81 modified_cmdline = setup_kdump_cmdline(image, cmdline, in elf64_load() 105 fdt = of_kexec_alloc_and_setup_fdt(image, initrd_load_addr, in elf64_load() [all …]
|
D | core_64.c | 35 int default_machine_kexec_prepare(struct kimage *image) in default_machine_kexec_prepare() argument 49 for (i = 0; i < image->nr_segments; i++) in default_machine_kexec_prepare() 50 if (image->segment[i].mem < __pa(_end)) in default_machine_kexec_prepare() 63 for (i = 0; i < image->nr_segments; i++) { in default_machine_kexec_prepare() 64 begin = image->segment[i].mem; in default_machine_kexec_prepare() 65 end = begin + image->segment[i].memsz; in default_machine_kexec_prepare() 112 notrace void kexec_copy_flush(struct kimage *image) in kexec_copy_flush() argument 114 long i, nr_segments = image->nr_segments; in kexec_copy_flush() 118 memcpy(ranges, image->segment, sizeof(ranges)); in kexec_copy_flush() 126 copy_segments(image->head); in kexec_copy_flush() [all …]
|
D | core_32.c | 29 void default_machine_kexec(struct kimage *image) in default_machine_kexec() argument 43 page_list = image->head; in default_machine_kexec() 47 (unsigned long)page_address(image->control_code_page); in default_machine_kexec() 59 relocate_new_kernel(page_list, reboot_code_buffer_phys, image->start); in default_machine_kexec() 63 (*rnk)(page_list, reboot_code_buffer_phys, image->start); in default_machine_kexec() 66 int default_machine_kexec_prepare(struct kimage *image) in default_machine_kexec_prepare() argument
|
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()
|
D | file_load_64.c | 719 static int load_backup_segment(struct kimage *image, struct kexec_buf *kbuf) in load_backup_segment() argument 747 image->arch.backup_buf = buf; in load_backup_segment() 748 image->arch.backup_start = kbuf->mem; in load_backup_segment() 763 static void update_backup_region_phdr(struct kimage *image, Elf64_Ehdr *ehdr) in update_backup_region_phdr() argument 771 phdr->p_offset = image->arch.backup_start; in update_backup_region_phdr() 773 image->arch.backup_start); in update_backup_region_phdr() 787 static int load_elfcorehdr_segment(struct kimage *image, struct kexec_buf *kbuf) in load_elfcorehdr_segment() argument 806 update_backup_region_phdr(image, headers); in load_elfcorehdr_segment() 819 image->elf_load_addr = kbuf->mem; in load_elfcorehdr_segment() 820 image->elf_headers_sz = headers_sz; in load_elfcorehdr_segment() [all …]
|
/arch/ia64/kernel/ |
D | machine_kexec.c | 57 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 64 control_code_buffer = page_address(image->control_code_page); in machine_kexec_prepare() 69 ia64_kimage = image; in machine_kexec_prepare() 74 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument 84 struct kimage *image = arg; in ia64_machine_kexec() local 92 BUG_ON(!image); in ia64_machine_kexec() 93 code_addr = (unsigned long)page_address(image->control_code_page); in ia64_machine_kexec() 94 if (image->type == KEXEC_TYPE_CRASH) { in ia64_machine_kexec() 132 (*rnk)(image->head, image->start, ia64_boot_param, in ia64_machine_kexec() 137 void machine_kexec(struct kimage *image) in machine_kexec() argument [all …]
|
/arch/parisc/kernel/ |
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/sparc/boot/ |
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
|
D | piggyback.c | 184 int image, tail; in main() local 198 if ((image = open(argv[2], O_RDWR)) < 0) in main() 200 if (read(image, buffer, 512) != 512) in main() 214 offset = get_hdrs_offset(image, argv[2]); in main() 218 if (lseek(image, offset, 0) < 0) in main() 233 if (write(image, buffer + 2, 14) != 14) in main() 239 if (lseek(image, 4, 0) < 0) in main() 248 if (write(image, buffer, 12) != 12) in main() 253 if (lseek(image, AOUT_TEXT_OFFSET - start + align(end + 32), 0) < 0) in main() 258 if (write(image, buffer, i) != i) in main() [all …]
|
/arch/arm/kernel/ |
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 162 void machine_kexec(struct kimage *image) in machine_kexec() argument 177 page_list = image->head & PAGE_MASK; in machine_kexec() 179 reboot_code_buffer = page_address(image->control_code_page); in machine_kexec() 187 data->kexec_start_address = image->start; in machine_kexec() [all …]
|
/arch/sparc/vdso/ |
D | vma.c | 87 static int find_sections64(const struct vdso_image *image, struct vdso_elfinfo *_e) in find_sections64() argument 91 e->hdr = image->data; in find_sections64() 155 static int find_sections32(const struct vdso_image *image, struct vdso_elfinfo *_e) in find_sections32() argument 159 e->hdr = image->data; in find_sections32() 204 static int find_sections(const struct vdso_image *image, struct vdso_elfinfo *e, in find_sections() argument 208 return find_sections64(image, e); in find_sections() 210 return find_sections32(image, e); in find_sections() 222 static int stick_patch(const struct vdso_image *image, struct vdso_elfinfo *e, bool elf64) in stick_patch() argument 226 err = find_sections(image, e, elf64); in stick_patch() 246 int __init init_vdso_image(const struct vdso_image *image, in init_vdso_image() argument [all …]
|
/arch/powerpc/include/asm/ |
D | kexec.h | 81 extern void default_machine_kexec(struct kimage *image); 82 extern int default_machine_kexec_prepare(struct kimage *image); 113 char *setup_kdump_cmdline(struct kimage *image, char *cmdline, 115 int setup_purgatory(struct kimage *image, const void *slave_code, 122 int load_crashdump_segments_ppc64(struct kimage *image, 124 int setup_purgatory_ppc64(struct kimage *image, const void *slave_code, 127 unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image); 128 int setup_new_fdt_ppc64(const struct kimage *image, void *fdt,
|
/arch/m68k/kernel/ |
D | machine_kexec.c | 38 void machine_kexec(struct kimage *image) in machine_kexec() argument 43 reboot_code_buffer = page_address(image->control_code_page); in machine_kexec() 53 pr_info("Will call new kernel at 0x%08lx. Bye...\n", image->start); in machine_kexec() 56 ((relocate_kernel_t) reboot_code_buffer)(image->head & PAGE_MASK, in machine_kexec() 57 image->start, in machine_kexec()
|
/arch/mips/kernel/ |
D | vdso.c | 41 static void __init init_vdso_image(struct mips_vdso_image *image) in init_vdso_image() argument 46 BUG_ON(!PAGE_ALIGNED(image->data)); in init_vdso_image() 47 BUG_ON(!PAGE_ALIGNED(image->size)); in init_vdso_image() 49 num_pages = image->size / PAGE_SIZE; in init_vdso_image() 51 data_pfn = __phys_to_pfn(__pa_symbol(image->data)); in init_vdso_image() 53 image->mapping.pages[i] = pfn_to_page(data_pfn + i); in init_vdso_image() 91 struct mips_vdso_image *image = current->thread.abi->vdso; in arch_setup_additional_pages() local 122 size = vvar_size + image->size; in arch_setup_additional_pages() 178 vma = _install_special_mapping(mm, vdso_addr, image->size, in arch_setup_additional_pages() 181 &image->mapping); in arch_setup_additional_pages()
|