[PATCH Resend] ARM: kdump: makes second kernel use strict pfn_valid

Will Deacon will.deacon at arm.com
Mon May 19 09:09:48 PDT 2014

On Mon, May 19, 2014 at 02:54:03AM +0100, Wang Nan wrote:
> When SPARSEMEM and CRASH_DUMP both selected, simple pfn_valid prevents
> the second kernel ioremap first kernel's memory if the address falls
> into second kernel section. This limitation requires the second kernel
> occupies a full section, and elfcorehdr must resides in another section.
> This patch makes crash dump kernel use strict pfn_valid, removes such
> limitation.
> For example:
>   For a platform with SECTION_SIZE_BITS == 28 (256MiB) and
>   crashkernel=128M at 0x28000000 in kernel cmdline, the second
>   kernel is loaded at 0x28000000. Kexec puts elfcorehdr at
>   0x2ff00000, and passes 'elfcorehdr=0x2ff00000 mem=130048K' to
>   second kernel. When second kernel start, it tries to use
>   ioremap to retrive its elfcorehrd. In this case, elfcodehdr is at the
>   same section of the second kernel, pfn_valid will recongnize
>   the page as valid, so ioremap will refuse to map it.

So isn't the issue here that you're passing an incorrect mem= parameter
to the crash kernel?


More information about the kexec mailing list