[PATCH] kdump : Support kernels having 64k page size.

Benjamin Herrenschmidt benh at kernel.crashing.org
Thu Sep 7 10:51:44 EST 2006

> At present we are doing the backup of 32K. Thus created one ELF PT_LOAD 
> segment for this region.
> But, in the case of 64K page size, second segments starts at 32K and the 
> first one is not page aligned.  __ioremap() (crash_dump.c) getting 
> failed if pfn = 0 which is the case for the second PT_LOAD segment.  We 
> did not hit this issue for 4K page size because the the first page (32K 
> backup) is copied to second kernel memory and thus referencing with the 
> second kernel pfn.
> Here the fix is,  backup regions size is max(PAGE_SIZE,  32K)  so that 
> at least one page will be part of backup ELF segment.  Drawback here is, 
> we will end up 32K more for backup for 64K page size.

You should always do 64k regardless of the page size. I think we have
some ABI requirements here for ELF sections to be 64k aligned anyway
no ?

> It can also be fixed in copy_oldmem_page() (crash_dump.c), but first 
> PT_LOAD segment is not page aligned:
> if (pfn > 0)
>     vaddr = __ioremap(pfn << PAGE_SHIFT, PAGE_SIZE, 0);
> else
>     vaddr = __va(pfn << PAGE_SHIFT);

More information about the Linuxppc-dev mailing list