| /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 | 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 | 72 static int setup_cmdline(struct kimage *image, struct boot_params *params, in setup_cmdline() argument 81 if (image->type == KEXEC_TYPE_CRASH) { in setup_cmdline() 83 "elfcorehdr=0x%lx ", image->elf_load_addr); in setup_cmdline() 85 if (image->dm_crypt_keys_addr != 0) in setup_cmdline() 87 "dmcryptkeys=0x%lx ", image->dm_crypt_keys_addr); in setup_cmdline() 248 setup_ima_state(const struct kimage *image, struct boot_params *params, in setup_ima_state() argument 257 if (!image->ima_buffer_size) in setup_ima_state() 264 ima->addr = image->ima_buffer_addr; in setup_ima_state() 265 ima->size = image->ima_buffer_size; in setup_ima_state() 274 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 in kexec_image_load_default() 94 kexec_image_post_load_cleanup_default(struct kimage * image) kexec_image_post_load_cleanup_default() argument 107 kimage_file_post_load_cleanup(struct kimage * image) kimage_file_post_load_cleanup() argument 163 kexec_image_verify_sig(struct kimage * image,void * buf,unsigned long buf_len) kexec_image_verify_sig() argument 175 kimage_validate_signature(struct kimage * image) kimage_validate_signature() argument 204 kexec_post_load(struct kimage * image,unsigned long flags) kexec_post_load() argument 218 kimage_file_prepare_segments(struct kimage * image,int kernel_fd,int initrd_fd,const char __user * cmdline_ptr,unsigned long cmdline_len,unsigned flags) kimage_file_prepare_segments() argument 310 struct kimage *image; kimage_file_alloc_init() local 370 struct kimage **dest_image, *image; SYSCALL_DEFINE5() local 475 struct kimage *image = kbuf->image; locate_mem_hole_top_down() local 520 struct kimage *image = kbuf->image; locate_mem_hole_bottom_up() local 802 kexec_calculate_store_digests(struct kimage * image) kexec_calculate_store_digests() argument 1028 kexec_apply_relocations(struct kimage * image) kexec_apply_relocations() argument 1099 kexec_load_purgatory(struct kimage * image,struct kexec_buf * kbuf) kexec_load_purgatory() argument 1186 kexec_purgatory_get_symbol_addr(struct kimage * image,const char * name) kexec_purgatory_get_symbol_addr() argument 1209 kexec_purgatory_get_set_symbol(struct kimage * image,const char * name,void * buf,unsigned int size,bool get_value) kexec_purgatory_get_set_symbol() argument [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 …]
|
| H A D | kexec_internal.h | 10 int sanity_check_segment_list(struct kimage *image); 12 void kimage_free(struct kimage *image); 13 int kimage_load_segment(struct kimage *image, int idx); 14 void kimage_terminate(struct kimage *image); 15 int kimage_is_destination_range(struct kimage *image, 36 void kimage_file_post_load_cleanup(struct kimage *image); 40 static inline void kimage_file_post_load_cleanup(struct kimage *image) { } in kimage_file_post_load_cleanup() argument 48 int kho_fill_kimage(struct kimage *image); 56 static inline int kho_fill_kimage(struct kimage *image) { return 0; } in kho_fill_kimage() argument
|
| /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/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/drivers/gpu/drm/qxl/ |
| H A D | qxl_image.c | 37 struct qxl_drm_image *image, in qxl_allocate_chunk() argument 53 list_add_tail(&chunk->head, &image->chunk_list); in qxl_allocate_chunk() 63 struct qxl_drm_image *image; in qxl_image_alloc_objects() local 66 image = kmalloc_obj(struct qxl_drm_image); in qxl_image_alloc_objects() 67 if (!image) in qxl_image_alloc_objects() 70 INIT_LIST_HEAD(&image->chunk_list); in qxl_image_alloc_objects() 72 ret = qxl_alloc_bo_reserved(qdev, release, sizeof(struct qxl_image), &image->bo); in qxl_image_alloc_objects() 74 kfree(image); in qxl_image_alloc_objects() 78 ret = qxl_allocate_chunk(qdev, release, image, sizeof(struct qxl_data_chunk) + stride * height); in qxl_image_alloc_objects() 80 qxl_bo_unref(&image->bo); in qxl_image_alloc_objects() [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/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/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/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/s390/kernel/ |
| 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/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 …]
|
| /linux/include/linux/ |
| H A D | kexec.h | 137 typedef void *(kexec_load_t)(struct kimage *image, char *kernel_buf, 159 int kexec_image_probe_default(struct kimage *image, void *buf, 161 int kexec_image_post_load_cleanup_default(struct kimage *image); 186 struct kimage *image; member 223 int kexec_load_purgatory(struct kimage *image, struct kexec_buf *kbuf); 224 int kexec_purgatory_get_set_symbol(struct kimage *image, const char *name, 227 void *kexec_purgatory_get_symbol_addr(struct kimage *image, const char *name); 231 arch_kexec_kernel_image_probe(struct kimage *image, void *buf, unsigned long buf_len) in arch_kexec_kernel_image_probe() argument 233 return kexec_image_probe_default(image, buf, buf_len); in arch_kexec_kernel_image_probe() 238 static inline int arch_kimage_file_post_load_cleanup(struct kimage *image) in arch_kimage_file_post_load_cleanup() argument [all …]
|