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

From: Haren Myneni <[email-masked]>
Date: Tue, 05 Sep 2006 23:13:20 -0700

Michael Ellerman wrote:

>On Wed, 2006-09-06 at 05:56 +0530, Sachin P. Sant wrote:
>  
>
>>The following  kernel patch [ along with a patch to kexec tools posted 
>>seperately ]
>>is required to generate proper core files using kdump on ppc64.
>>    
>>
>
>Hi Sachin,
>
>Can you provide some more explanation? It's not clear to me why this is
>necessary.
>
>thanks
>
>  
>
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.

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);

Thanks
Haren

>------------------------------------------------------------------------
>
>_______________________________________________
>Linuxppc-dev mailing list
>[email-masked]
>https://ozlabs.org/mailman/listinfo/linuxppc-dev
>