| /linux/arch/x86/kernel/ |
| H A 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 …]
|
| H A D | machine_kexec_64.c | 151 static void free_transition_pgtable(struct kimage *image) in free_transition_pgtable() argument 153 free_page((unsigned long)image->arch.p4d); in free_transition_pgtable() 154 image->arch.p4d = NULL; in free_transition_pgtable() 155 free_page((unsigned long)image->arch.pud); in free_transition_pgtable() 156 image->arch.pud = NULL; in free_transition_pgtable() 157 free_page((unsigned long)image->arch.pmd); in free_transition_pgtable() 158 image->arch.pmd = NULL; in free_transition_pgtable() 159 free_page((unsigned long)image->arch.pte); in free_transition_pgtable() 160 image->arch.pte = NULL; in free_transition_pgtable() 163 static int init_transition_pgtable(struct kimage *image, pgd_t *pgd, in init_transition_pgtable() argument [all …]
|
| H A D | crash.c | 295 static int memmap_exclude_ranges(struct kimage *image, struct crash_mem *cmem, in memmap_exclude_ranges() argument 307 start = image->elf_load_addr; in memmap_exclude_ranges() 308 end = start + image->elf_headers_sz - 1; in memmap_exclude_ranges() 315 if (image->dm_crypt_keys_addr) { in memmap_exclude_ranges() 316 start = image->dm_crypt_keys_addr; in memmap_exclude_ranges() 317 end = start + image->dm_crypt_keys_sz - 1; in memmap_exclude_ranges() 325 int crash_setup_memmap_entries(struct kimage *image, struct boot_params *params) in crash_setup_memmap_entries() argument 385 ret = memmap_exclude_ranges(image, cmem, crashk_res.start, crashk_res.end); in crash_setup_memmap_entries() 413 int crash_load_segments(struct kimage *image) in crash_load_segments() argument 417 struct kexec_buf kbuf = { .image = image, .buf_min = 0, in crash_load_segments() [all …]
|
| H A D | kexec-bzimage64.c | 71 static int setup_cmdline(struct kimage *image, struct boot_params *params, in setup_cmdline() argument 80 if (image->type == KEXEC_TYPE_CRASH) { in setup_cmdline() 82 "elfcorehdr=0x%lx ", image->elf_load_addr); in setup_cmdline() 84 if (image->dm_crypt_keys_addr != 0) in setup_cmdline() 86 "dmcryptkeys=0x%lx ", image->dm_crypt_keys_addr); in setup_cmdline() 240 setup_ima_state(const struct kimage *image, struct boot_params *params, in setup_ima_state() argument 249 if (!image->ima_buffer_size) in setup_ima_state() 256 ima->addr = image->ima_buffer_addr; in setup_ima_state() 257 ima->size = image->ima_buffer_size; in setup_ima_state() 266 static void setup_kho(const struct kimage *image, struct boot_params *params, in setup_kho() argument [all …]
|
| /linux/kernel/ |
| H A D | kexec_file.c | 42 static bool check_ima_segment_index(struct kimage *image, int i) in check_ima_segment_index() argument 44 if (image->is_ima_segment_index_set && i == image->ima_segment_index) in check_ima_segment_index() 50 static bool check_ima_segment_index(struct kimage *image, int i) in check_ima_segment_index() argument 56 static int kexec_calculate_store_digests(struct kimage *image); 66 int kexec_image_probe_default(struct kimage *image, void *buf, in kexec_image_probe_default() argument 75 image->fops = *fops; in kexec_image_probe_default() 83 static void *kexec_image_load_default(struct kimage *image) in kexec_image_load_default() argument 85 if (!image->fops || !image->fops->load) in kexec_image_load_default() 88 return image->fops->load(image, image->kernel_buf, in kexec_image_load_default() 89 image->kernel_buf_len, image->initrd_buf, in kexec_image_load_default() [all …]
|
| H A D | kexec_core.c | 107 static struct page *kimage_alloc_page(struct kimage *image, 111 int sanity_check_segment_list(struct kimage *image) in sanity_check_segment_list() argument 114 unsigned long nr_segments = image->nr_segments; in sanity_check_segment_list() 134 mstart = image->segment[i].mem; in sanity_check_segment_list() 135 mend = mstart + image->segment[i].memsz; in sanity_check_segment_list() 153 mstart = image->segment[i].mem; in sanity_check_segment_list() 154 mend = mstart + image->segment[i].memsz; in sanity_check_segment_list() 158 pstart = image->segment[j].mem; in sanity_check_segment_list() 159 pend = pstart + image->segment[j].memsz; in sanity_check_segment_list() 172 if (image->segment[i].bufsz > image->segment[i].memsz) in sanity_check_segment_list() [all …]
|
| H A D | kexec.c | 28 struct kimage *image; in kimage_alloc_init() local 41 image = do_kimage_alloc_init(); in kimage_alloc_init() 42 if (!image) in kimage_alloc_init() 45 image->start = entry; in kimage_alloc_init() 46 image->nr_segments = nr_segments; in kimage_alloc_init() 47 memcpy(image->segment, segments, nr_segments * sizeof(*segments)); in kimage_alloc_init() 52 image->control_page = crashk_res.start; in kimage_alloc_init() 53 image->type = KEXEC_TYPE_CRASH; in kimage_alloc_init() 57 ret = sanity_check_segment_list(image); in kimage_alloc_init() 67 image->control_code_page = kimage_alloc_control_pages(image, in kimage_alloc_init() [all …]
|
| /linux/drivers/staging/vme_user/ |
| H A D | vme_user.c | 101 static struct image_desc image[VME_DEVS]; variable 127 if (count > image[minor].size_buf) in resource_to_user() 128 count = image[minor].size_buf; in resource_to_user() 130 copied = vme_master_read(image[minor].resource, image[minor].kern_buf, in resource_to_user() 135 if (copy_to_user(buf, image[minor].kern_buf, (unsigned long)copied)) in resource_to_user() 144 if (count > image[minor].size_buf) in resource_from_user() 145 count = image[minor].size_buf; in resource_from_user() 147 if (copy_from_user(image[minor].kern_buf, buf, (unsigned long)count)) in resource_from_user() 150 return vme_master_write(image[minor].resource, image[minor].kern_buf, in resource_from_user() 159 image_ptr = image[minor].kern_buf + *ppos; in buffer_to_user() [all …]
|
| /linux/drivers/video/fbdev/core/ |
| H A D | fb_logo.c | 211 struct fb_image *image, int rotate) in fb_rotate_logo() argument 216 fb_rotate_logo_ud(image->data, dst, image->width, in fb_rotate_logo() 217 image->height); in fb_rotate_logo() 218 image->dx = info->var.xres - image->width - image->dx; in fb_rotate_logo() 219 image->dy = info->var.yres - image->height - image->dy; in fb_rotate_logo() 221 fb_rotate_logo_cw(image->data, dst, image->width, in fb_rotate_logo() 222 image->height); in fb_rotate_logo() 223 swap(image->width, image->height); in fb_rotate_logo() 224 tmp = image->dy; in fb_rotate_logo() 225 image->dy = image->dx; in fb_rotate_logo() [all …]
|
| H A D | bitblit.c | 79 struct fb_image *image, u8 *buf, u8 *dst) in bit_putcs_aligned() argument 100 image->height); in bit_putcs_aligned() 103 image->height); in bit_putcs_aligned() 108 info->fbops->fb_imageblit(info, image); in bit_putcs_aligned() 115 struct fb_image *image, u8 *buf, in bit_putcs_unaligned() argument 138 image->height, shift_high, in bit_putcs_unaligned() 146 info->fbops->fb_imageblit(info, image); in bit_putcs_unaligned() 154 struct fb_image image; in bit_putcs() local 164 image.fg_color = fg; in bit_putcs() 165 image.bg_color = bg; in bit_putcs() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/bios/ |
| H A D | image.c | 30 nvbios_imagen(struct nvkm_bios *bios, struct nvbios_image *image) in nvbios_imagen() argument 39 switch ((data = nvbios_rd16(bios, image->base + 0x00))) { in nvbios_imagen() 46 image->base, data); in nvbios_imagen() 50 if (!(data = nvbios_pcirTp(bios, image->base, &ver, &hdr, &pcir))) in nvbios_imagen() 52 image->size = pcir.image_size; in nvbios_imagen() 53 image->type = pcir.image_type; in nvbios_imagen() 54 image->last = pcir.last; in nvbios_imagen() 56 if (image->type != 0x70) { in nvbios_imagen() 57 if (!(data = nvbios_npdeTp(bios, image->base, &npde))) in nvbios_imagen() 59 image->size = npde.image_size; in nvbios_imagen() [all …]
|
| /linux/arch/s390/kernel/ |
| H A D | machine_kexec_file.c | 84 static int kexec_file_update_purgatory(struct kimage *image, in kexec_file_update_purgatory() argument 90 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_update_purgatory() 98 ret = kexec_purgatory_get_set_symbol(image, "kernel_entry", &entry, in kexec_file_update_purgatory() 103 ret = kexec_purgatory_get_set_symbol(image, "kernel_type", &type, in kexec_file_update_purgatory() 109 if (image->type == KEXEC_TYPE_CRASH) { in kexec_file_update_purgatory() 112 ret = kexec_purgatory_get_set_symbol(image, "crash_start", in kexec_file_update_purgatory() 120 ret = kexec_purgatory_get_set_symbol(image, "crash_size", in kexec_file_update_purgatory() 129 static int kexec_file_add_purgatory(struct kimage *image, in kexec_file_add_purgatory() argument 135 buf.image = image; in kexec_file_add_purgatory() 140 if (image->type == KEXEC_TYPE_CRASH) in kexec_file_add_purgatory() [all …]
|
| H 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()
|
| /linux/arch/x86/entry/vdso/ |
| H A D | vma.c | 38 int __init init_vdso_image(const struct vdso_image *image) in init_vdso_image() argument 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() 55 const struct vdso_image *image = vma->vm_mm->context.vdso_image; in vdso_fault() local 57 if (!image || (vmf->pgoff << PAGE_SHIFT) >= image->size) in vdso_fault() 60 vmf->page = virt_to_page(image->data + (vmf->pgoff << PAGE_SHIFT)); in vdso_fault() 65 static void vdso_fix_landing(const struct vdso_image *image, in vdso_fix_landing() argument 68 if (in_ia32_syscall() && image == &vdso_image_32) { in vdso_fix_landing() [all …]
|
| /linux/arch/riscv/kernel/ |
| H 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() 46 else if (copy_from_user(&fdt, image->segment[i].buf, sizeof(fdt))) in machine_kexec_prepare() 52 internal->fdt_addr = (unsigned long) image->segment[i].mem; in machine_kexec_prepare() 62 if (image->type != KEXEC_TYPE_CRASH) { in machine_kexec_prepare() 63 control_code_buffer = page_address(image->control_code_page); in machine_kexec_prepare() [all …]
|
| /linux/arch/loongarch/kernel/ |
| H A D | machine_kexec_file.c | 29 int arch_kimage_file_post_load_cleanup(struct kimage *image) in arch_kimage_file_post_load_cleanup() argument 31 vfree(image->elf_headers); in arch_kimage_file_post_load_cleanup() 32 image->elf_headers = NULL; in arch_kimage_file_post_load_cleanup() 33 image->elf_headers_sz = 0; in arch_kimage_file_post_load_cleanup() 35 return kexec_image_post_load_cleanup_default(image); in arch_kimage_file_post_load_cleanup() 48 static void cmdline_add_initrd(struct kimage *image, unsigned long *cmdline_tmplen, in cmdline_add_initrd() argument 54 initrd, image->initrd_buf_len); in cmdline_add_initrd() 121 static void cmdline_add_elfcorehdr(struct kimage *image, unsigned long *cmdline_tmplen, in cmdline_add_elfcorehdr() argument 127 elfcorehdr_sz, image->elf_load_addr); in cmdline_add_elfcorehdr() 137 int load_other_segments(struct kimage *image, in load_other_segments() argument [all …]
|
| /linux/arch/sh/kernel/ |
| H A 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 …]
|
| /linux/arch/arm64/kernel/ |
| H A 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() 91 int load_other_segments(struct kimage *image, in load_other_segments() argument 100 orig_segments = image->nr_segments; in load_other_segments() 103 kbuf.image = image; in load_other_segments() [all …]
|
| /linux/arch/powerpc/boot/ |
| H A D | Makefile | 278 image-$(CONFIG_PPC_PSERIES) += zImage.pseries 279 image-$(CONFIG_PPC_POWERNV) += zImage.pseries 280 image-$(CONFIG_PPC_PS3) += dtbImage.ps3 281 image-$(CONFIG_PPC_CHRP) += zImage.chrp 282 image-$(CONFIG_PPC_EFIKA) += zImage.chrp 283 image-$(CONFIG_PPC_PMAC) += zImage.pmac 284 image-$(CONFIG_PPC_HOLLY) += dtbImage.holly 285 image-$(CONFIG_DEFAULT_UIMAGE) += uImage 286 image-$(CONFIG_EPAPR_BOOT) += zImage.epapr 297 image-$(CONFIG_EBONY) += treeImage.ebony cuImage.ebony [all …]
|
| /linux/drivers/video/fbdev/savage/ |
| H A D | savagefb_accel.c | 92 void savagefb_imageblit(struct fb_info *info, const struct fb_image *image) in savagefb_imageblit() argument 97 u32 *src = (u32 *) image->data; in savagefb_imageblit() 99 if (!image->width || !image->height) in savagefb_imageblit() 102 if (image->depth != 1) { in savagefb_imageblit() 103 cfb_imageblit(info, image); in savagefb_imageblit() 108 fg = image->fg_color; in savagefb_imageblit() 109 bg = image->bg_color; in savagefb_imageblit() 111 fg = ((u32 *)info->pseudo_palette)[image->fg_color]; in savagefb_imageblit() 112 bg = ((u32 *)info->pseudo_palette)[image->bg_color]; in savagefb_imageblit() 122 width = (image->width + 31) & ~31; in savagefb_imageblit() [all …]
|
| /linux/arch/powerpc/kexec/ |
| H 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() 60 ret = kexec_elf_load(image, &ehdr, &elf_info, &kbuf, &kernel_load_addr); in elf64_load() 66 ret = kexec_load_purgatory(image, &pbuf); in elf64_load() 75 if (IS_ENABLED(CONFIG_CRASH_DUMP) && image->type == KEXEC_TYPE_CRASH) { 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() [all …]
|
| /linux/drivers/video/fbdev/mb862xx/ |
| H A D | mb862xxfb_accel.c | 71 u32 bgcolor, const struct fb_image *image, in mb86290fb_imageblit1() argument 90 line = image->data; in mb86290fb_imageblit1() 91 bytes = (image->width + 7) >> 3; in mb86290fb_imageblit1() 120 u32 bgcolor, const struct fb_image *image, in mb86290fb_imageblit8() argument 133 line = image->data; in mb86290fb_imageblit8() 134 bytes = image->width; in mb86290fb_imageblit8() 159 u32 bgcolor, const struct fb_image *image, in mb86290fb_imageblit16() argument 167 line = image->data; in mb86290fb_imageblit16() 168 bytes = image->width << 1; in mb86290fb_imageblit16() 183 const struct fb_image *image) in mb86290fb_imageblit() argument [all …]
|
| /linux/arch/parisc/kernel/ |
| H 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()
|
| /linux/arch/powerpc/include/asm/ |
| H 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, 91 int arch_kexec_kernel_image_probe(struct kimage *image, void *buf, unsigned long buf_len); 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); [all …]
|
| /linux/arch/arm/kernel/ |
| H 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 …]
|