--- 4xx_mmu_old.c 2007-10-25 08:54:46.000000000 +0200 +++ 4xx_mmu.c 2007-10-25 08:55:57.000000000 +0200 @@ -105,7 +105,7 @@ 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 @@ 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;