Add two new members to kexec_info structure: struct memory_range *crash_range int nr_crash_ranges; crash_range contains the memory ranges used to boot 2nd kernel. nr_crash_ranges contains the count of the crash memory ranges. Signed-off-by: WANG Chao <chaowang at redhat.com> --- kexec/arch/i386/crashdump-x86.c | 6 ++++++ kexec/kexec.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/kexec/arch/i386/crashdump-x86.c b/kexec/arch/i386/crashdump-x86.c index 39c35ea..7b618a6 100644 --- a/kexec/arch/i386/crashdump-x86.c +++ b/kexec/arch/i386/crashdump-x86.c @@ -997,6 +997,12 @@ int load_crashdump_segments(struct kexec_info *info, char* mod_cmdline, add_memmap(memmap_p, &nr_memmap, start, size, type); cmdline_add_memmap_acpi(mod_cmdline, start, end); } + + /* Store 2nd kernel boot memory ranges for later reference in + * x86-setup-linux.c: setup_linux_system_parameters() */ + info->crash_range = memmap_p; + info->nr_crash_ranges = nr_memmap; + return 0; } diff --git a/kexec/kexec.h b/kexec/kexec.h index d69bba2..22d4a42 100644 --- a/kexec/kexec.h +++ b/kexec/kexec.h @@ -148,6 +148,8 @@ struct kexec_info { int nr_segments; struct memory_range *memory_range; int memory_ranges; + struct memory_range *crash_range; + int nr_crash_ranges; void *entry; struct mem_ehdr rhdr; unsigned long backup_start; -- 1.9.0