/arch/x86/kernel/ |
D | machine_kexec_32.c | 55 static void machine_kexec_free_page_tables(struct kimage *image) in machine_kexec_free_page_tables() argument 57 free_pages((unsigned long)image->arch.pgd, PGD_ALLOCATION_ORDER); in machine_kexec_free_page_tables() 58 image->arch.pgd = NULL; in machine_kexec_free_page_tables() 60 free_page((unsigned long)image->arch.pmd0); in machine_kexec_free_page_tables() 61 image->arch.pmd0 = NULL; in machine_kexec_free_page_tables() 62 free_page((unsigned long)image->arch.pmd1); in machine_kexec_free_page_tables() 63 image->arch.pmd1 = NULL; in machine_kexec_free_page_tables() 65 free_page((unsigned long)image->arch.pte0); in machine_kexec_free_page_tables() 66 image->arch.pte0 = NULL; in machine_kexec_free_page_tables() 67 free_page((unsigned long)image->arch.pte1); in machine_kexec_free_page_tables() [all …]
|
D | machine_kexec_64.c | 112 static void free_transition_pgtable(struct kimage *image) in free_transition_pgtable() argument 114 free_page((unsigned long)image->arch.p4d); in free_transition_pgtable() 115 image->arch.p4d = NULL; in free_transition_pgtable() 116 free_page((unsigned long)image->arch.pud); in free_transition_pgtable() 117 image->arch.pud = NULL; in free_transition_pgtable() 118 free_page((unsigned long)image->arch.pmd); in free_transition_pgtable() 119 image->arch.pmd = NULL; in free_transition_pgtable() 120 free_page((unsigned long)image->arch.pte); in free_transition_pgtable() 121 image->arch.pte = NULL; in free_transition_pgtable() 124 static int init_transition_pgtable(struct kimage *image, pgd_t *pgd) in init_transition_pgtable() argument [all …]
|
D | crash.c | 245 static int prepare_elf_headers(struct kimage *image, void **addr, in prepare_elf_headers() argument 281 phdr->p_paddr == image->arch.backup_src_start && in prepare_elf_headers() 282 phdr->p_memsz == image->arch.backup_src_sz) { in prepare_elf_headers() 283 phdr->p_offset = image->arch.backup_load_addr; in prepare_elf_headers() 319 static int memmap_exclude_ranges(struct kimage *image, struct crash_mem *cmem, in memmap_exclude_ranges() argument 331 start = image->arch.backup_load_addr; in memmap_exclude_ranges() 332 end = start + image->arch.backup_src_sz - 1; in memmap_exclude_ranges() 338 start = image->arch.elf_load_addr; in memmap_exclude_ranges() 339 end = start + image->arch.elf_headers_sz - 1; in memmap_exclude_ranges() 344 int crash_setup_memmap_entries(struct kimage *image, struct boot_params *params) in crash_setup_memmap_entries() argument [all …]
|
/arch/x86/entry/vdso/ |
D | vma.c | 31 void __init init_vdso_image(const struct vdso_image *image) in init_vdso_image() argument 33 BUG_ON(image->size % PAGE_SIZE != 0); in init_vdso_image() 35 apply_alternatives((struct alt_instr *)(image->data + image->alt), in init_vdso_image() 36 (struct alt_instr *)(image->data + image->alt + in init_vdso_image() 37 image->alt_len)); in init_vdso_image() 45 const struct vdso_image *image = vma->vm_mm->context.vdso_image; in vdso_fault() local 47 if (!image || (vmf->pgoff << PAGE_SHIFT) >= image->size) in vdso_fault() 50 vmf->page = virt_to_page(image->data + (vmf->pgoff << PAGE_SHIFT)); in vdso_fault() 55 static void vdso_fix_landing(const struct vdso_image *image, in vdso_fix_landing() argument 59 if (in_ia32_syscall() && image == &vdso_image_32) { in vdso_fix_landing() [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 | 75 static void __do_machine_kdump(void *image) in __do_machine_kdump() argument 95 start_kdump = (void *)((struct kimage *) image)->start; in __do_machine_kdump() 106 static noinline void __machine_kdump(void *image) in __machine_kdump() argument 142 store_status(__do_machine_kdump, image); in __machine_kdump() 147 struct kimage *image = (struct kimage *) addr; in do_start_kdump() local 148 int (*start_kdump)(int) = (void *)image->start; in do_start_kdump() 162 static bool kdump_csum_valid(struct kimage *image) in kdump_csum_valid() argument 168 rc = CALL_ON_STACK(do_start_kdump, S390_lowcore.nodat_stack, 1, image); in kdump_csum_valid() 231 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 235 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/sh/kernel/ |
D | machine_kexec.c | 43 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 48 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument 52 static void kexec_info(struct kimage *image) in kexec_info() argument 56 for (i = 0; i < image->nr_segments; i++) { in kexec_info() 59 (unsigned int)image->segment[i].mem, in kexec_info() 60 (unsigned int)image->segment[i].mem + in kexec_info() 61 image->segment[i].memsz, in kexec_info() 62 (unsigned int)image->segment[i].memsz); in kexec_info() 64 printk(" start : 0x%08x\n\n", (unsigned int)image->start); in kexec_info() 71 void machine_kexec(struct kimage *image) in machine_kexec() argument [all …]
|
/arch/powerpc/boot/ |
D | Makefile | 262 image-$(CONFIG_PPC_PSERIES) += zImage.pseries 263 image-$(CONFIG_PPC_POWERNV) += zImage.pseries 264 image-$(CONFIG_PPC_MAPLE) += zImage.maple 265 image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries 266 image-$(CONFIG_PPC_PS3) += dtbImage.ps3 267 image-$(CONFIG_PPC_CHRP) += zImage.chrp 268 image-$(CONFIG_PPC_EFIKA) += zImage.chrp 269 image-$(CONFIG_PPC_PMAC) += zImage.pmac 270 image-$(CONFIG_PPC_HOLLY) += dtbImage.holly 271 image-$(CONFIG_DEFAULT_UIMAGE) += uImage [all …]
|
/arch/ia64/kernel/ |
D | machine_kexec.c | 56 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 63 control_code_buffer = page_address(image->control_code_page); in machine_kexec_prepare() 68 ia64_kimage = image; in machine_kexec_prepare() 73 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument 83 struct kimage *image = arg; in ia64_machine_kexec() local 91 BUG_ON(!image); in ia64_machine_kexec() 92 code_addr = (unsigned long)page_address(image->control_code_page); in ia64_machine_kexec() 93 if (image->type == KEXEC_TYPE_CRASH) { in ia64_machine_kexec() 131 (*rnk)(image->head, image->start, ia64_boot_param, in ia64_machine_kexec() 136 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()
|
D | kexec.c | 69 void machine_kexec(struct kimage *image) in machine_kexec() argument 78 unsigned long phys = page_to_phys(image->control_code_page); in machine_kexec() 80 struct kimage_arch *arch = &image->arch; in machine_kexec() 105 reloc(image->head & PAGE_MASK, image->start, phys); in machine_kexec() 108 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 110 kexec_image_info(image); in machine_kexec_prepare()
|
/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 34 $(obj)/zImage: $(obj)/image 44 $(obj)/image.bin: $(obj)/image FORCE 47 $(obj)/image.gz: $(obj)/image.bin 59 $(obj)/uImage: $(obj)/image.gz 66 $(obj)/image: vmlinux FORCE 70 $(obj)/tftpboot.img: $(obj)/image $(obj)/piggyback System.map $(ROOT_IMG) FORCE
|
D | piggyback.c | 180 int image, tail; in main() local 194 if ((image = open(argv[2], O_RDWR)) < 0) in main() 196 if (read(image, buffer, 512) != 512) in main() 210 offset = get_hdrs_offset(image, argv[2]); in main() 214 if (lseek(image, offset, 0) < 0) in main() 229 if (write(image, buffer + 2, 14) != 14) in main() 235 if (lseek(image, 4, 0) < 0) in main() 244 if (write(image, buffer, 12) != 12) in main() 249 if (lseek(image, AOUT_TEXT_OFFSET - start + align(end + 32), 0) < 0) in main() 254 if (write(image, buffer, i) != i) in main() [all …]
|
/arch/arm/kernel/ |
D | machine_kexec.c | 35 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 41 image->arch.kernel_r2 = image->start - KEXEC_ARM_ZIMAGE_OFFSET in machine_kexec_prepare() 57 for (i = 0; i < image->nr_segments; i++) { in machine_kexec_prepare() 58 current_segment = &image->segment[i]; in machine_kexec_prepare() 69 image->arch.kernel_r2 = current_segment->mem; in machine_kexec_prepare() 74 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() argument 157 void machine_kexec(struct kimage *image) in machine_kexec() argument 172 page_list = image->head & PAGE_MASK; in machine_kexec() 174 reboot_code_buffer = page_address(image->control_code_page); in machine_kexec() 182 data->kexec_start_address = image->start; in machine_kexec() [all …]
|
/arch/powerpc/kernel/ |
D | machine_kexec_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() 108 void kexec_copy_flush(struct kimage *image) in kexec_copy_flush() argument 110 long i, nr_segments = image->nr_segments; in kexec_copy_flush() 114 memcpy(ranges, image->segment, sizeof(ranges)); in kexec_copy_flush() 122 copy_segments(image->head); in kexec_copy_flush() [all …]
|
D | machine_kexec_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 | ima_kexec.c | 139 int arch_ima_add_kexec_buffer(struct kimage *image, unsigned long load_addr, in arch_ima_add_kexec_buffer() argument 142 image->arch.ima_buffer_addr = load_addr; in arch_ima_add_kexec_buffer() 143 image->arch.ima_buffer_size = size; in arch_ima_add_kexec_buffer() 177 int setup_ima_buffer(const struct kimage *image, void *fdt, int chosen_node) in setup_ima_buffer() argument 183 if (!image->arch.ima_buffer_size) in setup_ima_buffer() 195 ret = write_number(value, image->arch.ima_buffer_addr, addr_cells); in setup_ima_buffer() 199 ret = write_number(value + 4 * addr_cells, image->arch.ima_buffer_size, in setup_ima_buffer() 209 ret = fdt_add_mem_rsv(fdt, image->arch.ima_buffer_addr, in setup_ima_buffer() 210 image->arch.ima_buffer_size); in setup_ima_buffer() 215 image->arch.ima_buffer_addr, image->arch.ima_buffer_size); in setup_ima_buffer()
|
D | kexec_elf_64.c | 26 static void *elf64_load(struct kimage *image, char *kernel_buf, in elf64_load() argument 39 struct kexec_buf kbuf = { .image = image, .buf_min = 0, in elf64_load() 41 struct kexec_buf pbuf = { .image = image, .buf_min = 0, in elf64_load() 49 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); in elf64_load() 55 ret = kexec_load_purgatory(image, &pbuf); in elf64_load() 91 ret = setup_new_fdt(image, fdt, initrd_load_addr, initrd_len, cmdline); in elf64_load() 110 ret = setup_purgatory(image, slave_code, fdt, kernel_load_addr, in elf64_load()
|
/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/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/arm64/kernel/ |
D | machine_kexec_file.c | 38 int arch_kimage_file_post_load_cleanup(struct kimage *image) in arch_kimage_file_post_load_cleanup() argument 40 vfree(image->arch.dtb); in arch_kimage_file_post_load_cleanup() 41 image->arch.dtb = NULL; in arch_kimage_file_post_load_cleanup() 43 return kexec_image_post_load_cleanup_default(image); in arch_kimage_file_post_load_cleanup() 46 static int setup_dtb(struct kimage *image, in setup_dtb() argument 133 static int create_dtb(struct kimage *image, in create_dtb() argument 158 ret = setup_dtb(image, initrd_load_addr, initrd_len, in create_dtb() 179 int load_other_segments(struct kimage *image, in load_other_segments() argument 190 kbuf.image = image; in load_other_segments() 216 ret = create_dtb(image, initrd_load_addr, initrd_len, cmdline, &dtb); in load_other_segments() [all …]
|
D | kexec_image.c | 37 static void *image_load(struct kimage *image, in image_load() argument 51 if (image->type == KEXEC_TYPE_CRASH) in image_load() 80 kbuf.image = image; in image_load() 99 kernel_segment = &image->segment[image->nr_segments - 1]; in image_load() 102 image->start = kernel_segment->mem; in image_load() 109 ret = load_other_segments(image, in image_load()
|
/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() 89 struct mips_vdso_image *image = current->thread.abi->vdso; in arch_setup_additional_pages() local 118 size = vvar_size + image->size; in arch_setup_additional_pages() 173 vma = _install_special_mapping(mm, vdso_addr, image->size, in arch_setup_additional_pages() 176 &image->mapping); in arch_setup_additional_pages()
|
/arch/xtensa/boot/boot-elf/ |
D | boot.lds.S | 23 .image KERNELOFFSET: AT (CONFIG_KERNEL_LOAD_ADDRESS) 26 *(image) 31 .bss ((LOADADDR(.image) + SIZEOF(.image) + 3) & ~ 3):
|