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> Acked-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
9f9d489a3e
commit
8207c2570a
@ -733,6 +733,11 @@ static void __init find_early_table_space(unsigned long end)
|
|||||||
pmds = (end + PMD_SIZE - 1) >> PMD_SHIFT;
|
pmds = (end + PMD_SIZE - 1) >> PMD_SHIFT;
|
||||||
tables += PAGE_ALIGN(pmds * sizeof(pmd_t));
|
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
|
* RED-PEN putting page tables only on node 0 could
|
||||||
* cause a hotspot and fill up ZONE_DMA. The page tables
|
* cause a hotspot and fill up ZONE_DMA. The page tables
|
||||||
|
Loading…
Reference in New Issue
Block a user