From: Magnus Hjorth <[EMAIL PROTECTED]> This patch (for 2.6.23.1) fixes an unsigned arithmetic bug causing the kernel to hang when booting with less than 16 MB of memory on ppc4xx.
Signed-off-by: Magnus Hjorth <[EMAIL PROTECTED]> --- OK, trying to do this by the book now... --- linux-2.6.23.1/arch/ppc/mm/4xx_mmu.c.orig 2007-10-27 10:14:42.000000000 +0200 +++ linux-2.6.23.1/arch/ppc/mm/4xx_mmu.c 2007-10-27 10:15:34.000000000 +0200 @@ -105,7 +105,7 @@ unsigned long __init mmu_mapin_ram(void) return s; } - while (s <= (total_lowmem - LARGE_PAGE_SIZE_16M)) { + while (s + LARGE_PAGE_SIZE_16M <= total_lowmem) { pmd_t *pmdp; unsigned long val = p | _PMD_SIZE_16M | _PAGE_HWEXEC | _PAGE_HWWRITE; @@ -120,7 +120,7 @@ unsigned long __init mmu_mapin_ram(void) s += LARGE_PAGE_SIZE_16M; } - while (s <= (total_lowmem - LARGE_PAGE_SIZE_4M)) { + while (s + LARGE_PAGE_SIZE_4M <= total_lowmem) { pmd_t *pmdp; unsigned long val = p | _PMD_SIZE_4M | _PAGE_HWEXEC | _PAGE_HWWRITE; _______________________________________________ Linuxppc-embedded mailing list Linuxppc-embedded@ozlabs.org https://ozlabs.org/mailman/listinfo/linuxppc-embedded