* Zou, Nanhai <nanhai.zou@xxxxxxxxx> [2007-02-09 00:45]: > I have not implement serial print in purgatory code yet, see > comments in purgatory/arch/ia64/console-ia64.c However from your > print, I can see last 2 entries of efi mem map are corrupt. I have the same problem (corrupted memory map entries), and the cause was in kexec-tools, patch below. I'm not sure if the fix is right, at least the problem is the uninitialised value of size. :) Signed-off-by: Bernhard Walle <bwalle@xxxxxxx> --- crashdump-ia64.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kexec/arch/ia64/crashdump-ia64.c b/kexec/arch/ia64/crashdump-ia64.c index 14e95a6..be61dc1 100644 --- a/kexec/arch/ia64/crashdump-ia64.c +++ b/kexec/arch/ia64/crashdump-ia64.c @@ -221,7 +221,7 @@ int load_crashdump_segments(struct kexec_info *info, struct mem_ehdr *ehdr, struct memory_range *mem_range; int nr_ranges; unsigned long sz; - size_t size; + size_t size = 0; void *tmp; if (info->kexec_flags & KEXEC_ON_CRASH ) { if (get_crash_memory_ranges(&mem_range, &nr_ranges) == 0) { @@ -238,7 +238,7 @@ int load_crashdump_segments(struct kexec_info *info, struct mem_ehdr *ehdr, elfcorehdr = add_buffer(info, tmp, sz, sz, EFI_PAGE_SIZE, min_base, max_addr, -1); loaded_segments[loaded_segments_num].start = elfcorehdr; - loaded_segments[loaded_segments_num].end = elfcorehdr + size; + loaded_segments[loaded_segments_num].end = elfcorehdr + sz; loaded_segments[loaded_segments_num].reserved = 1; loaded_segments_num++; cmdline_add_elfcorehdr(cmdline, elfcorehdr); - To unsubscribe from this list: send the line "unsubscribe linux-ia64" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
![]() |