On Wed, Mar 19, 2014 at 04:03:57PM +0800, WANG Chao wrote: > Hi, All > > When kaslr comes in and kdump is broken, it seems about the right time to use > E820 instead of memmap=exactmap to pass memmap for kdump for the default memmap > passing mechanism: > http://lists.infradead.org/pipermail/kexec/2014-February/011048.html > > Unfortunately, saved_max_pfn still got its user out there (calgry pci, it looks > like the only one). So for backward compatibility, I'm introducing a new option > --pass-memmap-cmdline to force kexec-tools to pass memmap=exactmap, the old way. > > Any comment is appreciate! > > v3->v4: > Linn: check return value of malloc (use xmalloc) > me: fix dbgprintf_mem_range > > v2->v3: > Linn: > - do not free sd (setup_data) buffer > - reuse code in setup_e820 and setup_e820_ext > > v1->v2: > > Vivek: > - Use function instead of macro for dbgprint_mem_range > - Do not pass reserved memory range for kdump. It could addressed later > separately. > > WANG Chao (4): > cleanup: add dbgprint_mem_range function > x86: Store memory ranges globally used for crash kernel to boot into > x86: add --pass-memmap-cmdline option > x86: Pass memory range via E820 for kdump > > kexec/arch/i386/crashdump-x86.c | 157 ++++++++++++++++-------------- > kexec/arch/i386/crashdump-x86.h | 6 +- > kexec/arch/i386/include/arch/options.h | 2 + > kexec/arch/i386/kexec-x86-common.c | 6 +- > kexec/arch/i386/kexec-x86.c | 4 + > kexec/arch/i386/kexec-x86.h | 1 + > kexec/arch/i386/x86-linux-setup.c | 171 ++++++++++++++++++++++----------- > kexec/arch/i386/x86-linux-setup.h | 1 + > kexec/arch/x86_64/kexec-x86_64.c | 5 + > kexec/kexec.c | 10 ++ > kexec/kexec.h | 1 + > 11 files changed, 231 insertions(+), 133 deletions(-) Thanks for the patches. Tested (adding a fix provided by Dave Young for http://lists.infradead.org/pipermail/kexec/2014-March/011262.html) and successful with both kexec and kdump, both with and without --pass-memmap-cmdline.