From: Jeremy Fitzhardinge Date: Tue, 24 Jun 2008 21:32:48 +0000 (-0400) Subject: x86: fix pte allocation in "x86: introduce init_memory_mapping for 32bit" X-Git-Tag: v2.6.27-rc1~1106^2~119 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=8207c2570af6f819b61be9ef3fb298d0a8c0e18c;p=linux-2.6-omap-h63xx.git x86: fix pte allocation in "x86: introduce init_memory_mapping for 32bit" The patch "x86: introduce init_memory_mapping for 32bit" does not allocate enough space for PTEs if the CPU does not implement PSE. Signed-off-by: Jeremy Fitzhardinge Acked-by: Yinghai Lu Signed-off-by: Ingo Molnar --- diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index c059c460e32..156000de6e6 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c @@ -733,6 +733,11 @@ static void __init find_early_table_space(unsigned long end) pmds = (end + PMD_SIZE - 1) >> PMD_SHIFT; tables += PAGE_ALIGN(pmds * sizeof(pmd_t)); + if (!cpu_has_pse) { + int ptes = (end + PAGE_SIZE - 1) >> PAGE_SHIFT; + tables += PAGE_ALIGN(ptes * sizeof(pte_t)); + } + /* * RED-PEN putting page tables only on node 0 could * cause a hotspot and fill up ZONE_DMA. The page tables