diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 16:13:16 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-17 16:13:16 -0400 |
commit | d20ead9e86881bc7ae84e385f47b5196b7d93aac (patch) | |
tree | ed27dd5db5f8447e4b3f541f0ec38219085d2f32 /arch/x86/mm/init_32.c | |
parent | c56ec7639288f3e5d6371b0c48d37da93642fc93 (diff) | |
parent | 88e4d250234fc9e64d6ce51df95efdcf8334fd95 (diff) |
Merge ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86
* ssh://master.kernel.org/pub/scm/linux/kernel/git/tglx/linux-2.6-x86: (114 commits)
x86: delete vsyscall files during make clean
kbuild: fix typo SRCARCH in find_sources
x86: fix kernel rebuild due to vsyscall fallout
.gitignore update for x86 arch
x86: unify include/asm/debugreg_32/64.h
x86: unify include/asm/unwind_32/64.h
x86: unify include/asm/types_32/64.h
x86: unify include/asm/tlb_32/64.h
x86: unify include/asm/siginfo_32/64.h
x86: unify include/asm/bug_32/64.h
x86: unify include/asm/mman_32/64.h
x86: unify include/asm/agp_32/64.h
x86: unify include/asm/kdebug_32/64.h
x86: unify include/asm/ioctls_32/64.h
x86: unify include/asm/floppy_32/64.h
x86: apply missing DMA/OOM prevention to floppy_32.h
x86: unify include/asm/cache_32/64.h
x86: unify include/asm/cache_32/64.h
x86: unify include/asm/dmi_32/64.h
x86: unify include/asm/delay_32/64.h
...
Diffstat (limited to 'arch/x86/mm/init_32.c')
-rw-r--r-- | arch/x86/mm/init_32.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c index 33d367a3432e..c7d19471261d 100644 --- a/arch/x86/mm/init_32.c +++ b/arch/x86/mm/init_32.c | |||
@@ -85,13 +85,20 @@ static pmd_t * __init one_md_table_init(pgd_t *pgd) | |||
85 | static pte_t * __init one_page_table_init(pmd_t *pmd) | 85 | static pte_t * __init one_page_table_init(pmd_t *pmd) |
86 | { | 86 | { |
87 | if (!(pmd_val(*pmd) & _PAGE_PRESENT)) { | 87 | if (!(pmd_val(*pmd) & _PAGE_PRESENT)) { |
88 | pte_t *page_table = (pte_t *) alloc_bootmem_low_pages(PAGE_SIZE); | 88 | pte_t *page_table = NULL; |
89 | |||
90 | #ifdef CONFIG_DEBUG_PAGEALLOC | ||
91 | page_table = (pte_t *) alloc_bootmem_pages(PAGE_SIZE); | ||
92 | #endif | ||
93 | if (!page_table) | ||
94 | page_table = | ||
95 | (pte_t *)alloc_bootmem_low_pages(PAGE_SIZE); | ||
89 | 96 | ||
90 | paravirt_alloc_pt(&init_mm, __pa(page_table) >> PAGE_SHIFT); | 97 | paravirt_alloc_pt(&init_mm, __pa(page_table) >> PAGE_SHIFT); |
91 | set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE)); | 98 | set_pmd(pmd, __pmd(__pa(page_table) | _PAGE_TABLE)); |
92 | BUG_ON(page_table != pte_offset_kernel(pmd, 0)); | 99 | BUG_ON(page_table != pte_offset_kernel(pmd, 0)); |
93 | } | 100 | } |
94 | 101 | ||
95 | return pte_offset_kernel(pmd, 0); | 102 | return pte_offset_kernel(pmd, 0); |
96 | } | 103 | } |
97 | 104 | ||