[PATCH v6 0/9] kexec-tools, x86: E820 memmap pass for kdump
chaowang at redhat.com
Wed Apr 16 23:24:20 PDT 2014
On 04/14/14 at 10:55pm, WANG Chao wrote:
> Hi, All
> This patchset enables passing memory map via E820 map on x86 platform instead
> of memmap=exactmap. It's a better design and will solve the following problem
> so far:
> - kernel cmdline is limited resource and large machines tend to have many
> memory ranges that may excceed kernel cmdline limit size.
> - kASLR doesn't work with memmap=exactmap, because kASLR happens early than
> user defined memmap=exactmap takes effect.
> 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.
> This patchset contains massive updates from the previous one. I take some
> suggestions from reviewers. I try to split the changes into smaller pieces and
> keep the whole change as minimal as I can so it wouldn't be too harsh to review
> the patch.
> Any comment is appreciate!
Thanks for testing the patch in the past. Do you have chance to test
This updated patchset changed too much and I want things to work as it's
used to be on your prototype machine with large number of memory ranges.
Thanks in advance!
> - use nr_memmap instead of nr_memmap_p
> - .end inclusive
> - more description on some patches
> - separate add_setup_data() to another patch.
> - adding comments for setup_data.
> - store crash memory range info golobally in kexec_info.
> -remove dbgprint_mem_range defination, Simon has merged the patch.
> Linn: check return value of malloc (use xmalloc).
> me: fix dbgprintf_mem_range.
> - do not free sd (setup_data) buffer.
> - reuse code in setup_e820 and setup_e820_ext.
> - Use function instead of macro for dbgprint_mem_range
> - Do not pass reserved memory range for kdump. It could addressed later
> WANG Chao (9):
> x86, cleanup: add extra arguments to add_memmap() and delete_memmap()
> x86, cleanup: add_memmap() only do alignment check on RANGE_RAM
> x86, cleanup: add other types of memory range for 2nd kernel boot to
> x86, cleanup: use dbgprint_mem_range for memory range debugging
> x86, cleanup: increase CRASH_MAX_MEMMAP_NR up to
> x86, cleanup: Store crash memory ranges kexec_info
> x86, cleanup: kexec memory range .end to be inclusive
> x86: add --pass-memmap-cmdline option
> x86: Pass memory range via E820 for kdump
> kexec/arch/i386/crashdump-x86.c | 69 +++++++--------
> kexec/arch/i386/crashdump-x86.h | 2 +-
> kexec/arch/i386/include/arch/options.h | 2 +
> kexec/arch/i386/kexec-x86-common.c | 3 +-
> kexec/arch/i386/kexec-x86.c | 4 +
> kexec/arch/i386/kexec-x86.h | 1 +
> kexec/arch/i386/x86-linux-setup.c | 149 ++++++++++++++++++++++-----------
> kexec/arch/i386/x86-linux-setup.h | 1 +
> kexec/arch/x86_64/kexec-x86_64.c | 5 ++
> kexec/firmware_memmap.c | 1 -
> kexec/kexec.h | 2 +
> 11 files changed, 147 insertions(+), 92 deletions(-)
More information about the kexec