So far powerpc kernel never exported memory limit information which is reflected by mem= kernel cmdline option. Hence, kexec-tools always use to build ELF header for entire system RAM generating a dump bigger than the actual memory used by the first kernel. The proposed upstream kernel patch at https://lists.ozlabs.org/pipermail/linuxppc-dev/2012-August/100500.html now exports memory limit information through /proc/device-tree file. The above patch is still in discussion. This patch series now reads the memory limit information from device-tree file if present and limits the crash memory ranges accordingly. Tested these patches on ppc32(ppc440) and ppc64 with a kernel patch by Suzuki. Signed-off-by: Mahesh Salgaonkar <mahesh at linux.vnet.ibm.com> Tested-by: Suzuki K. Poulose <suzuki at in.ibm.com> --- Mahesh Salgaonkar (2): kexec: Respect memory limit while building crash memory ranges on ppc32. kexec: Respect memory limit while building crash memory ranges on ppc64 kexec/arch/ppc/crashdump-powerpc.c | 14 ++++++++--- kexec/arch/ppc/crashdump-powerpc.h | 1 + kexec/arch/ppc/kexec-ppc.c | 48 ++++++++++++++++++++++++++++++++++++ kexec/arch/ppc64/crashdump-ppc64.c | 11 ++++++++ kexec/arch/ppc64/crashdump-ppc64.h | 1 + kexec/arch/ppc64/kexec-ppc64.c | 28 +++++++++++++++++++++ 6 files changed, 99 insertions(+), 4 deletions(-) -- -Mahesh