Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=873553b3d6b3b19f187a5630300ece20bbf74afd
Commit:     873553b3d6b3b19f187a5630300ece20bbf74afd
Parent:     0e65bfe34c1000581746b9889d095241c4cf4a5c
Author:     Dale Farnsworth <[EMAIL PROTECTED]>
AuthorDate: Wed Oct 3 12:01:40 2007 -0700
Committer:  Kumar Gala <[EMAIL PROTECTED]>
CommitDate: Mon Oct 8 08:38:34 2007 -0500

    [POWERPC] 85xx: Failure with odd memory sizes and CONFIG_HIGHMEM
    
    The CONFIG_FSL_BOOKE mmu setup code fails when CONFIG_HIGHMEM=y
    and the 3 fixed TLB entries cannot exactly map the lowmem size.
    Each TLB entry can map 4MB, 16MB, 64MB or 256MB, so the failure
    is observed when the kernel lowmem size is not equal to the
    sum of up to 3 of those values.
    
    Normally, memory is sized in nice numbers, but I observed this
    problem while testing a crash dump kernel.  The failure can
    also be observed by artificially reducing the kernel's main
    memory via the mem= kernel command line parameter.
    
    This commit fixes the problem by setting __initial_memory_limit
    in adjust_total_lowmem().
    
    Signed-off-by: Dale Farnsworth <[EMAIL PROTECTED]>
    Signed-off-by: Kumar Gala <[EMAIL PROTECTED]>
---
 arch/powerpc/mm/fsl_booke_mmu.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/powerpc/mm/fsl_booke_mmu.c b/arch/powerpc/mm/fsl_booke_mmu.c
index afab247..17139da 100644
--- a/arch/powerpc/mm/fsl_booke_mmu.c
+++ b/arch/powerpc/mm/fsl_booke_mmu.c
@@ -59,6 +59,7 @@ unsigned int num_tlbcam_entries;
 static unsigned long __cam0, __cam1, __cam2;
 extern unsigned long total_lowmem;
 extern unsigned long __max_low_memory;
+extern unsigned long __initial_memory_limit;
 #define MAX_LOW_MEM    CONFIG_LOWMEM_SIZE
 
 #define NUM_TLBCAMS    (16)
@@ -232,4 +233,5 @@ adjust_total_lowmem(void)
                        __cam0 >> 20, __cam1 >> 20, __cam2 >> 20,
                        (total_lowmem - __cam0 - __cam1 - __cam2) >> 20);
        __max_low_memory = max_low_mem = __cam0 + __cam1 + __cam2;
+       __initial_memory_limit = __max_low_memory;
 }
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to