Messages in this thread Patch in this message | | | Date | Tue, 24 Jun 2008 17:32:48 -0400 | From | Jeremy Fitzhardinge <> | Subject | [PATCH] 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 <jeremy.fitzhardinge@citrix.com> Cc: Yinghai Lu <yhlu.kernel@gmail.com> --- arch/x86/mm/init_32.c | 5 +++++ 1 file changed, 5 insertions(+)
=================================================================== --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c @@ -733,6 +733,11 @@ 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
| |