| /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 …]
|
| /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 …]
|
| H A D | fbcon_ud.c | 87 struct fb_image *image, u8 *buf, u8 *dst) in ud_putcs_aligned() argument 104 image->height); in ud_putcs_aligned() 107 image->height); in ud_putcs_aligned() 112 info->fbops->fb_imageblit(info, image); in ud_putcs_aligned() 119 struct fb_image *image, u8 *buf, in ud_putcs_unaligned() argument 138 image->height, shift_high, in ud_putcs_unaligned() 146 info->fbops->fb_imageblit(info, image); in ud_putcs_unaligned() 154 struct fb_image image; in ud_putcs() local 170 image.fg_color = fg; in ud_putcs() 171 image.bg_color = bg; in ud_putcs() [all …]
|
| H A D | fbcon_ccw.c | 100 struct fb_image *image, u8 *buf, u8 *dst) in ccw_putcs_aligned() argument 125 info->fbops->fb_imageblit(info, image); in ccw_putcs_aligned() 132 struct fb_image image; in ccw_putcs() local 147 image.fg_color = fg; in ccw_putcs() 148 image.bg_color = bg; in ccw_putcs() 149 image.dx = yy * vc->vc_font.height; in ccw_putcs() 150 image.dy = vyres - ((xx + count) * vc->vc_font.width); in ccw_putcs() 151 image.width = vc->vc_font.height; in ccw_putcs() 152 image.depth = 1; in ccw_putcs() 168 image.height = vc->vc_font.width * cnt; in ccw_putcs() [all …]
|
| H A D | fbcon_cw.c | 85 struct fb_image *image, u8 *buf, u8 *dst) in cw_putcs_aligned() argument 110 info->fbops->fb_imageblit(info, image); in cw_putcs_aligned() 117 struct fb_image image; in cw_putcs() local 132 image.fg_color = fg; in cw_putcs() 133 image.bg_color = bg; in cw_putcs() 134 image.dx = vxres - ((yy + 1) * vc->vc_font.height); in cw_putcs() 135 image.dy = xx * vc->vc_font.width; in cw_putcs() 136 image.width = vc->vc_font.height; in cw_putcs() 137 image.depth = 1; in cw_putcs() 151 image.height = vc->vc_font.width * cnt; in cw_putcs() [all …]
|
| H A D | fb_imageblit.h | 168 static inline void fb_color_imageblit(const struct fb_image *image, struct fb_address *dst, in fb_color_imageblit() argument 175 iter.data = (const u8 *)image->data; in fb_color_imageblit() 189 iter.width = image->width; in fb_color_imageblit() 192 height = image->height; in fb_color_imageblit() 215 static inline void fb_bitmap4x_imageblit(const struct fb_image *image, struct fb_address *dst, in fb_bitmap4x_imageblit() argument 235 iter.data = (const u8 *)image->data; in fb_bitmap4x_imageblit() 242 iter.width = image->width; in fb_bitmap4x_imageblit() 243 iter.i = image->width; in fb_bitmap4x_imageblit() 248 height = image->height; in fb_bitmap4x_imageblit() 256 static inline void fb_bitmap1x_imageblit(const struct fb_image *image, struct fb_address *dst, in fb_bitmap1x_imageblit() argument [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 | machine_kexec.c | 50 struct kimage *image = data; in __do_machine_kdump() local 54 purgatory = (purgatory_t)image->start; in __do_machine_kdump() 80 static noinline void __machine_kdump(void *image) in __machine_kdump() argument 116 store_status(__do_machine_kdump, image); in __machine_kdump() 124 static bool kdump_csum_valid(struct kimage *image) in kdump_csum_valid() argument 127 purgatory_t purgatory = (purgatory_t)image->start; in kdump_csum_valid() 192 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() argument 196 if (image->type == KEXEC_TYPE_CRASH) in machine_kexec_prepare() 200 if (image->type != KEXEC_TYPE_DEFAULT) in machine_kexec_prepare() 204 reboot_code_buffer = page_to_virt(image->control_code_page); in machine_kexec_prepare() [all …]
|
| /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 72 if (ipoffset < image->size) in vdso_fix_landing() [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/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/powerpc/kexec/ |
| H A D | file_load_64.c | 52 int arch_check_excluded_range(struct kimage *image, unsigned long start, in arch_check_excluded_range() argument 58 emem = image->arch.exclude_ranges; in arch_check_excluded_range() 344 static int load_backup_segment(struct kimage *image, struct kexec_buf *kbuf) in load_backup_segment() argument 372 image->arch.backup_buf = buf; in load_backup_segment() 373 image->arch.backup_start = kbuf->mem; in load_backup_segment() 388 static void update_backup_region_phdr(struct kimage *image, Elf64_Ehdr *ehdr) in update_backup_region_phdr() argument 396 phdr->p_offset = image->arch.backup_start; in update_backup_region_phdr() 398 image->arch.backup_start); in update_backup_region_phdr() 429 static int load_elfcorehdr_segment(struct kimage *image, struct kexec_buf *kbuf) in load_elfcorehdr_segment() argument 448 update_backup_region_phdr(image, headers); in load_elfcorehdr_segment() [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/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/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/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 …]
|