| /linux/arch/mips/kernel/ |
| H A D | machine_kexec.c | 34 static void kexec_image_info(const struct kimage *kimage) in kexec_image_info() argument 39 pr_debug(" type: %d\n", kimage->type); in kexec_image_info() 40 pr_debug(" start: %lx\n", kimage->start); in kexec_image_info() 41 pr_debug(" head: %lx\n", kimage->head); in kexec_image_info() 42 pr_debug(" nr_segments: %lu\n", kimage->nr_segments); in kexec_image_info() 44 for (i = 0; i < kimage->nr_segments; i++) { in kexec_image_info() 47 kimage->segment[i].mem, in kexec_image_info() 48 kimage->segment[i].mem + kimage->segment[i].memsz, in kexec_image_info() 49 (unsigned long)kimage->segment[i].memsz, in kexec_image_info() 50 (unsigned long)kimage->segment[i].memsz / PAGE_SIZE); in kexec_image_info() [all …]
|
| /linux/arch/parisc/kernel/ |
| H A D | kexec.c | 22 static void kexec_show_segment_info(const struct kimage *kimage, in kexec_show_segment_info() argument 27 kimage->segment[n].mem, in kexec_show_segment_info() 28 kimage->segment[n].mem + kimage->segment[n].memsz, in kexec_show_segment_info() 29 (unsigned long)kimage->segment[n].memsz, in kexec_show_segment_info() 30 (unsigned long)kimage->segment[n].memsz / PAGE_SIZE); in kexec_show_segment_info() 33 static void kexec_image_info(const struct kimage *kimage) in kexec_image_info() argument 38 pr_debug(" type: %d\n", kimage->type); in kexec_image_info() 39 pr_debug(" start: %lx\n", kimage->start); in kexec_image_info() 40 pr_debug(" head: %lx\n", kimage->head); in kexec_image_info() 41 pr_debug(" nr_segments: %lu\n", kimage->nr_segments); in kexec_image_info() [all …]
|
| /linux/arch/loongarch/kernel/ |
| H A D | machine_kexec.c | 42 int machine_kexec_prepare(struct kimage *kimage) in machine_kexec_prepare() argument 48 kimage->arch.efi_boot = fw_arg0; in machine_kexec_prepare() 49 kimage->arch.systable_ptr = fw_arg2; in machine_kexec_prepare() 51 if (kimage->file_mode == 1) { in machine_kexec_prepare() 56 memcpy((void *)KEXEC_CMDLINE_ADDR, (void *)kimage->arch.cmdline_ptr, in machine_kexec_prepare() 57 strlen((char *)kimage->arch.cmdline_ptr) + 1); in machine_kexec_prepare() 58 kimage->arch.cmdline_ptr = (unsigned long)KEXEC_CMDLINE_ADDR; in machine_kexec_prepare() 61 for (i = 0; i < kimage->nr_segments; i++) { in machine_kexec_prepare() 62 if (!strncmp(bootloader, (char __user *)kimage->segment[i].buf, strlen(bootloader))) { in machine_kexec_prepare() 63 if (!copy_from_user(cmdline_ptr, kimage->segment[i].buf, COMMAND_LINE_SIZE)) in machine_kexec_prepare() [all …]
|
| 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() 48 static void cmdline_add_initrd(struct kimage *image, unsigned long *cmdline_tmplen, in cmdline_add_initrd() 121 static void cmdline_add_elfcorehdr(struct kimage *image, unsigned long *cmdline_tmplen, in cmdline_add_elfcorehdr() 137 int load_other_segments(struct kimage *image, in load_other_segments()
|
| /linux/include/linux/ |
| H A D | kexec.h | 134 struct kimage; 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; 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() 238 static inline int arch_kimage_file_post_load_cleanup(struct kimage *image) in arch_kimage_file_post_load_cleanup() [all …]
|
| H A D | crash_core.h | 9 struct kimage; 38 int crash_load_dm_crypt_keys(struct kimage *image); 41 static inline int crash_load_dm_crypt_keys(struct kimage *image) {return 0; } in crash_load_dm_crypt_keys() 45 static inline void arch_crash_handle_hotplug_event(struct kimage *image, void *arg) { } in arch_crash_handle_hotplug_event() 51 static inline int arch_crash_hotplug_support(struct kimage *image, unsigned long kexec_flags) in arch_crash_hotplug_support() 70 struct kimage; 85 extern int kimage_crash_copy_vmcoreinfo(struct kimage *image); 90 struct kimage; 96 static inline int kimage_crash_copy_vmcoreinfo(struct kimage *image) { return 0; }; in kimage_crash_copy_vmcoreinfo()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | kexec.h | 58 struct kimage; 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, [all …]
|
| /linux/kernel/ |
| H A D | kexec_internal.h | 9 struct kimage *do_kimage_alloc_init(void); 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() 48 int kho_fill_kimage(struct kimage *image); 56 static inline int kho_fill_kimage(struct kimage *image) { return 0; } in kho_fill_kimage()
|
| 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() 229 struct kimage *do_kimage_alloc_init(void) in do_kimage_alloc_init() 231 struct kimage *image; in do_kimage_alloc_init() 261 int kimage_is_destination_range(struct kimage *image, in kimage_is_destination_range() 330 static struct page *kimage_alloc_normal_control_pages(struct kimage *image, in kimage_alloc_normal_control_pages() 397 static struct page *kimage_alloc_crash_control_pages(struct kimage *image, in kimage_alloc_crash_control_pages() 465 struct page *kimage_alloc_control_pages(struct kimage *image, in kimage_alloc_control_pages() 484 static int kimage_add_entry(struct kimage *image, kimage_entry_t entry) in kimage_add_entry() 510 static int kimage_set_destination(struct kimage *image, in kimage_set_destination() [all …]
|
| H A D | kexec_file.c | 42 static bool check_ima_segment_index(struct kimage *image, int i) in check_ima_segment_index() 50 static bool check_ima_segment_index(struct kimage *image, int i) in check_ima_segment_index() 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() 83 static void *kexec_image_load_default(struct kimage *image) in kexec_image_load_default() 94 int kexec_image_post_load_cleanup_default(struct kimage *image) in kexec_image_post_load_cleanup_default() 107 void kimage_file_post_load_cleanup(struct kimage *image) in kimage_file_post_load_cleanup() 136 * any data stored in kimage->image_loader_data. It should in kimage_file_post_load_cleanup() 163 static int kexec_image_verify_sig(struct kimage *image, void *buf, in kexec_image_verify_sig() 175 kimage_validate_signature(struct kimage *imag [all...] |
| /linux/arch/m68k/kernel/ |
| H A D | machine_kexec.c | 18 int machine_kexec_prepare(struct kimage *kimage) in machine_kexec_prepare() argument 23 void machine_kexec_cleanup(struct kimage *kimage) in machine_kexec_cleanup() argument 39 void machine_kexec(struct kimage *image) in machine_kexec()
|
| /linux/arch/x86/include/asm/ |
| H A D | crash.h | 5 struct kimage; 7 int crash_load_segments(struct kimage *image); 8 int crash_setup_memmap_entries(struct kimage *image,
|
| /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() 59 static int machine_kexec_alloc_page_tables(struct kimage *image) in machine_kexec_alloc_page_tables() 100 static void machine_kexec_prepare_page_tables(struct kimage *image) in machine_kexec_prepare_page_tables() 135 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() 151 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() 161 void machine_kexec(struct kimage *image) in machine_kexec()
|
| H A D | crash.c | 295 static int memmap_exclude_ranges(struct kimage *image, struct crash_mem *cmem, in memmap_exclude_ranges() 325 int crash_setup_memmap_entries(struct kimage *image, struct boot_params *params) in crash_setup_memmap_entries() 413 int crash_load_segments(struct kimage *image) in crash_load_segments() 470 int arch_crash_hotplug_support(struct kimage *image, unsigned long kexec_flags) in arch_crash_hotplug_support() 511 void arch_crash_handle_hotplug_event(struct kimage *image, void *arg) in arch_crash_handle_hotplug_event()
|
| /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() 344 static int load_backup_segment(struct kimage *image, struct kexec_buf *kbuf) in load_backup_segment() 388 static void update_backup_region_phdr(struct kimage *image, Elf64_Ehdr *ehdr) in update_backup_region_phdr() 429 static int load_elfcorehdr_segment(struct kimage *image, struct kexec_buf *kbuf) in load_elfcorehdr_segment() 490 int load_crashdump_segments_ppc64(struct kimage *image, in load_crashdump_segments_ppc64() 528 int setup_purgatory_ppc64(struct kimage *image, const void *slave_code, in setup_purgatory_ppc64() 629 static unsigned int kdump_extra_fdt_size_ppc64(struct kimage *image, unsigned int cpu_nodes) in kdump_extra_fdt_size_ppc64() 674 unsigned int kexec_extra_fdt_size_ppc64(struct kimage *image, struct crash_mem *rmem) in kexec_extra_fdt_size_ppc64() 755 int setup_new_fdt_ppc64(const struct kimage *image, void *fdt, struct crash_mem *rmem) in setup_new_fdt_ppc64() 845 int arch_kexec_kernel_image_probe(struct kimage *image, void *buf, in arch_kexec_kernel_image_probe() [all …]
|
| H A D | core_32.c | 30 void default_machine_kexec(struct kimage *image) in default_machine_kexec() 67 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare()
|
| /linux/arch/loongarch/include/asm/ |
| H A D | kexec.h | 48 int arch_kimage_file_post_load_cleanup(struct kimage *image); 51 extern int load_other_segments(struct kimage *image, 62 struct kimage;
|
| /linux/arch/riscv/include/asm/ |
| H A D | kexec.h | 68 struct kimage; 69 int arch_kimage_file_post_load_cleanup(struct kimage *image); 72 int load_extra_segments(struct kimage *image, unsigned long kernel_start,
|
| /linux/arch/sh/kernel/ |
| H A D | machine_kexec.c | 41 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() 46 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() 50 static void kexec_info(struct kimage *image) in kexec_info() 69 void machine_kexec(struct kimage *image) in machine_kexec()
|
| /linux/arch/arm64/kernel/ |
| H A D | asm-offsets.c | 170 DEFINE(KIMAGE_ARCH_DTB_MEM, offsetof(struct kimage, arch.dtb_mem)); in main() 171 DEFINE(KIMAGE_ARCH_EL2_VECTORS, offsetof(struct kimage, arch.el2_vectors)); in main() 172 DEFINE(KIMAGE_ARCH_ZERO_PAGE, offsetof(struct kimage, arch.zero_page)); in main() 173 DEFINE(KIMAGE_ARCH_PHYS_OFFSET, offsetof(struct kimage, arch.phys_offset)); in main() 174 DEFINE(KIMAGE_ARCH_TTBR1, offsetof(struct kimage, arch.ttbr1)); in main() 175 DEFINE(KIMAGE_HEAD, offsetof(struct kimage, head)); in main() 176 DEFINE(KIMAGE_START, offsetof(struct kimage, start)); in main()
|
| /linux/arch/riscv/kernel/ |
| H A D | machine_kexec.c | 31 machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() 92 machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() 149 machine_kexec(struct kimage *image) in machine_kexec()
|
| H A D | kexec_elf.c | 24 static int riscv_kexec_elf_load(struct kimage *image, struct elfhdr *ehdr, in riscv_kexec_elf_load() 63 static int elf_find_pbase(struct kimage *image, unsigned long kernel_len, in elf_find_pbase() 109 static void *elf_kexec_load(struct kimage *image, char *kernel_buf, in elf_kexec_load()
|
| /linux/arch/arm/kernel/ |
| H A D | machine_kexec.c | 33 int machine_kexec_prepare(struct kimage *image) in machine_kexec_prepare() 72 void machine_kexec_cleanup(struct kimage *image) in machine_kexec_cleanup() 141 void machine_kexec(struct kimage *image) in machine_kexec()
|
| /linux/arch/mips/include/asm/ |
| H A D | kexec.h | 35 struct kimage; 37 extern int (*_machine_kexec_prepare)(struct kimage *);
|
| /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() 45 static void *s390_image_load(struct kimage *image, in s390_image_load()
|