diff options
author | Will Deacon <will.deacon@arm.com> | 2018-12-10 19:57:17 +0100 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-12-10 19:57:17 +0100 |
commit | d34664f63bba9c884920d86ab67379a08a4ee8e9 (patch) | |
tree | d35143f376ab6666976ef84b23cf7848a945c7ca /include | |
parent | Merge branch 'kvm/cortex-a76-erratum-1165522' into aarch64/for-next/core (diff) | |
parent | arm64: kexec_file: forbid kdump via kexec_file_load() (diff) | |
download | linux-d34664f63bba9c884920d86ab67379a08a4ee8e9.tar.xz linux-d34664f63bba9c884920d86ab67379a08a4ee8e9.zip |
Merge branch 'for-next/kexec' into aarch64/for-next/core
Merge in kexec_file_load() support from Akashi Takahiro.
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/kexec.h | 11 | ||||
-rw-r--r-- | include/linux/pe.h | 2 | ||||
-rw-r--r-- | include/uapi/asm-generic/unistd.h | 4 |
3 files changed, 13 insertions, 4 deletions
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index 9e4e638fb505..d58d1f2fab10 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h @@ -143,6 +143,15 @@ extern const struct kexec_file_ops * const kexec_file_loaders[]; int kexec_image_probe_default(struct kimage *image, void *buf, unsigned long buf_len); +int kexec_image_post_load_cleanup_default(struct kimage *image); + +/* + * If kexec_buf.mem is set to this value, kexec_locate_mem_hole() + * will try to allocate free memory. Arch may overwrite it. + */ +#ifndef KEXEC_BUF_MEM_UNKNOWN +#define KEXEC_BUF_MEM_UNKNOWN 0 +#endif /** * struct kexec_buf - parameters for finding a place for a buffer in memory @@ -183,8 +192,6 @@ int __weak arch_kexec_apply_relocations(struct purgatory_info *pi, const Elf_Shdr *relsec, const Elf_Shdr *symtab); -int __weak arch_kexec_walk_mem(struct kexec_buf *kbuf, - int (*func)(struct resource *, void *)); extern int kexec_add_buffer(struct kexec_buf *kbuf); int kexec_locate_mem_hole(struct kexec_buf *kbuf); diff --git a/include/linux/pe.h b/include/linux/pe.h index 143ce75be5f0..3482b18a48b5 100644 --- a/include/linux/pe.h +++ b/include/linux/pe.h @@ -166,7 +166,7 @@ struct mz_hdr { uint16_t oem_info; /* oem specific */ uint16_t reserved1[10]; /* reserved */ uint32_t peaddr; /* address of pe header */ - char message[64]; /* message to print */ + char message[]; /* message to print */ }; struct mz_reloc { diff --git a/include/uapi/asm-generic/unistd.h b/include/uapi/asm-generic/unistd.h index 538546edbfbd..3b7196295fa6 100644 --- a/include/uapi/asm-generic/unistd.h +++ b/include/uapi/asm-generic/unistd.h @@ -738,9 +738,11 @@ __SYSCALL(__NR_statx, sys_statx) __SC_COMP(__NR_io_pgetevents, sys_io_pgetevents, compat_sys_io_pgetevents) #define __NR_rseq 293 __SYSCALL(__NR_rseq, sys_rseq) +#define __NR_kexec_file_load 294 +__SYSCALL(__NR_kexec_file_load, sys_kexec_file_load) #undef __NR_syscalls -#define __NR_syscalls 294 +#define __NR_syscalls 295 /* * 32 bit systems traditionally used different |