On Fri, Mar 22, 2013 at 10:59 AM, Vivek Goyal <vgoyal at redhat.com> wrote: > I get following error while loading kernel. > > parse_iomem_single failed. > Could not get memory layout > > I think you need to handle parse_iomem_single("Crash Kernel") in > kexec-x86-common.c. It assumes that there is a single contiguous > reserved region of memory and set mem_min and mem_max based on > that. But that will not work when there are multiple "Crash Kernel" > entries. > > In case of kexec_on_panic, we seem to have all the memory ranges in > info->memory_ranges[]. I guess we don't need that. We just need ranges > which are reserved for crash kernel and marked by "Crash Kernel". In > that case we will be able to handle multiple "Crash Kernel" ranges. but we still like to put kernel and initrd high, and leave low range for swiotlb. could just find mem_min and mem_max for largest and last one. Thanks Yinghai