diff options
author | Pratyush Anand <panand@redhat.com> | 2017-05-17 14:51:50 +0900 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2017-05-22 13:36:51 +0200 |
commit | c504ff5d85aa035aed9f14f5ce96c5d959952dd9 (patch) | |
tree | 3e9897ab5c2631da1ceae194a736b0d016734838 | |
parent | 5f955585c7c9166da5b8f33e3d8a4c43845ee70b (diff) | |
download | kexec-tools-c504ff5d85aa035aed9f14f5ce96c5d959952dd9.tar.gz |
arm64: kdump: Add support for binary image files
This patch adds support to use binary image ie arch/arm64/boot/Image with
kdump.
Signed-off-by: Pratyush Anand <panand@redhat.com>
[takahiro.akashi@linaro.org: a bit reworked]
Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Tested-by: David Woodhouse <dwmw@amazon.co.uk>
Tested-by: Pratyush Anand <panand@redhat.com>
Signed-off-by: Simon Horman <horms@verge.net.au>
-rw-r--r-- | kexec/arch/arm64/kexec-image-arm64.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kexec/arch/arm64/kexec-image-arm64.c b/kexec/arch/arm64/kexec-image-arm64.c index e5f2a9b..e1b1e54 100644 --- a/kexec/arch/arm64/kexec-image-arm64.c +++ b/kexec/arch/arm64/kexec-image-arm64.c @@ -4,7 +4,9 @@ #define _GNU_SOURCE +#include "crashdump-arm64.h" #include "kexec-arm64.h" +#include "kexec-syscall.h" #include <limits.h> int image_arm64_probe(const char *kernel_buf, off_t kernel_size) @@ -58,11 +60,22 @@ int image_arm64_load(int argc, char **argv, const char *kernel_buf, dbgprintf("%s: PE format: %s\n", __func__, (arm64_header_check_pe_sig(header) ? "yes" : "no")); + /* create and initialize elf core header segment */ + if (info->kexec_flags & KEXEC_ON_CRASH) { + result = load_crashdump_segments(info); + if (result) { + dbgprintf("%s: Creating eflcorehdr failed.\n", + __func__); + goto exit; + } + } + /* load the kernel */ add_segment_phys_virt(info, kernel_buf, kernel_size, kernel_segment + arm64_mem.text_offset, arm64_mem.image_size, 0); + /* load additional data */ result = arm64_load_other_segments(info, kernel_segment + arm64_mem.text_offset); |