|
@@ -73,10 +73,7 @@ static pmd_t * __init one_md_table_init(pgd_t *pgd)
|
|
|
|
|
|
#ifdef CONFIG_X86_PAE
|
|
|
if (!(pgd_val(*pgd) & _PAGE_PRESENT)) {
|
|
|
- if (after_bootmem)
|
|
|
- pmd_table = (pmd_t *)alloc_bootmem_pages(PAGE_SIZE);
|
|
|
- else
|
|
|
- pmd_table = (pmd_t *)alloc_low_page();
|
|
|
+ pmd_table = (pmd_t *)alloc_low_page();
|
|
|
paravirt_alloc_pmd(&init_mm, __pa(pmd_table) >> PAGE_SHIFT);
|
|
|
set_pgd(pgd, __pgd(__pa(pmd_table) | _PAGE_PRESENT));
|
|
|
pud = pud_offset(pgd, 0);
|
|
@@ -98,17 +95,7 @@ static pmd_t * __init one_md_table_init(pgd_t *pgd)
|
|
|
static pte_t * __init one_page_table_init(pmd_t *pmd)
|
|
|
{
|
|
|
if (!(pmd_val(*pmd) & _PAGE_PRESENT)) {
|
|
|
- pte_t *page_table = NULL;
|
|
|
-
|
|
|
- if (after_bootmem) {
|
|
|
-#if defined(CONFIG_DEBUG_PAGEALLOC) || defined(CONFIG_KMEMCHECK)
|
|
|
- page_table = (pte_t *) alloc_bootmem_pages(PAGE_SIZE);
|
|
|
-#endif
|
|
|
- if (!page_table)
|
|
|
- page_table =
|
|
|
- (pte_t *)alloc_bootmem_pages(PAGE_SIZE);
|
|
|
- } else
|
|
|
- page_table = (pte_t *)alloc_low_page();
|
|
|
+ pte_t *page_table = (pte_t *)alloc_low_page();
|
|
|
|
|
|
paravirt_alloc_pte(&init_mm, __pa(page_table) >> PAGE_SHIFT);
|
|
|
set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE));
|
|
@@ -708,8 +695,6 @@ void __init setup_bootmem_allocator(void)
|
|
|
printk(KERN_INFO " mapped low ram: 0 - %08lx\n",
|
|
|
max_pfn_mapped<<PAGE_SHIFT);
|
|
|
printk(KERN_INFO " low ram: 0 - %08lx\n", max_low_pfn<<PAGE_SHIFT);
|
|
|
-
|
|
|
- after_bootmem = 1;
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -795,6 +780,8 @@ void __init mem_init(void)
|
|
|
if (page_is_ram(tmp) && PageReserved(pfn_to_page(tmp)))
|
|
|
reservedpages++;
|
|
|
|
|
|
+ after_bootmem = 1;
|
|
|
+
|
|
|
codesize = (unsigned long) &_etext - (unsigned long) &_text;
|
|
|
datasize = (unsigned long) &_edata - (unsigned long) &_etext;
|
|
|
initsize = (unsigned long) &__init_end - (unsigned long) &__init_begin;
|