From af07e52128dff6d25d6efd94c9e22c21e7b30cec Mon Sep 17 00:00:00 2001 From: Zou Nan hai Date: Mon, 14 Aug 2006 14:57:07 +0800 Subject: ia64: kdump: patch clone ia64_boot_param area for crash without this patch, crash tool will not able to analyze efi memmap of first kernel from vmcore file. This patch is against kexec-tools-1.101 with kdump10 patch. Signed-off-by: Zou Nan hai Removed bogus fragments caused by whitespace addition Signed-off-by: Simon Horman --- kexec/arch/ia64/kexec-elf-ia64.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'kexec') diff --git a/kexec/arch/ia64/kexec-elf-ia64.c b/kexec/arch/ia64/kexec-elf-ia64.c index 8c2609f..41e81fc 100644 --- a/kexec/arch/ia64/kexec-elf-ia64.c +++ b/kexec/arch/ia64/kexec-elf-ia64.c @@ -115,9 +115,10 @@ int elf_ia64_load(int argc, char **argv, const char *buf, off_t len, unsigned long entry, max_addr, gp_value; unsigned long command_line_base, ramdisk_base; unsigned long efi_memmap_base, efi_memmap_size; + unsigned long boot_param_base; int result; int opt; - char *efi_memmap_buf; + char *efi_memmap_buf, *boot_param; #define OPT_APPEND (OPT_ARCH_MAX+0) #define OPT_RAMDISK (OPT_ARCH_MAX+1) static const struct option options[] = { @@ -191,6 +192,13 @@ int elf_ia64_load(int argc, char **argv, const char *buf, off_t len, &command_line) < 0) return -1; + // reverve 4k for ia64_boot_param + boot_param = xmalloc(4096); + boot_param_base = add_buffer(info, boot_param, 4096, 4096, 4096, 0, + max_addr, -1); + elf_rel_set_symbol(&info->rhdr, "__boot_param_base", + &boot_param_base, sizeof(long)); + // reserve 8k for efi_memmap efi_memmap_size = 1UL<<14; efi_memmap_buf = xmalloc(efi_memmap_size); -- cgit