[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