path: root/include/linux/kexec.h
diff options
authorDave Young <>2015-09-09 15:38:51 -0700
committerLinus Torvalds <>2015-09-10 13:29:01 -0700
commita43cac0d9dc2073ff2245a171429ddbe1accece7 (patch)
tree2d4c4e98d70b12a451d5b790cc6a369c7eefe85b /include/linux/kexec.h
parenta202fbbf56e819de83876827c4bf5da2bfbac5ec (diff)
kexec: split kexec_file syscall code to kexec_file.c
Split kexec_file syscall related code to another file kernel/kexec_file.c so that the #ifdef CONFIG_KEXEC_FILE in kexec.c can be dropped. Sharing variables and functions are moved to kernel/kexec_internal.h per suggestion from Vivek and Petr. [ fix bisectability] [ declare the various arch_kexec functions] [ fix build] Signed-off-by: Dave Young <> Cc: Eric W. Biederman <> Cc: Vivek Goyal <> Cc: Petr Tesarik <> Cc: Theodore Ts'o <> Cc: Josh Boyer <> Cc: David Howells <> Cc: Geert Uytterhoeven <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'include/linux/kexec.h')
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/kexec.h b/include/linux/kexec.h
index b63218f68c4b..ab150ade0d18 100644
--- a/include/linux/kexec.h
+++ b/include/linux/kexec.h
@@ -318,6 +318,17 @@ int crash_shrink_memory(unsigned long new_size);
size_t crash_get_memory_size(void);
void crash_free_reserved_phys_range(unsigned long begin, unsigned long end);
+int __weak arch_kexec_kernel_image_probe(struct kimage *image, void *buf,
+ unsigned long buf_len);
+void * __weak arch_kexec_kernel_image_load(struct kimage *image);
+int __weak arch_kimage_file_post_load_cleanup(struct kimage *image);
+int __weak arch_kexec_kernel_verify_sig(struct kimage *image, void *buf,
+ unsigned long buf_len);
+int __weak arch_kexec_apply_relocations_add(const Elf_Ehdr *ehdr,
+ Elf_Shdr *sechdrs, unsigned int relsec);
+int __weak arch_kexec_apply_relocations(const Elf_Ehdr *ehdr, Elf_Shdr *sechdrs,
+ unsigned int relsec);
#else /* !CONFIG_KEXEC */
struct pt_regs;
struct task_struct;