diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2008-07-01 16:46:33 -0700 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-07-08 13:16:27 +0200 |
commit | 574977a2edde0148ea365008dceb0c2594d10b11 (patch) | |
tree | f20b4093034b5a9293dba7bc132778aebbe41e26 | |
parent | aea5f9f89bae5d5f9eb3fe3cddedbbfb82e6e44f (diff) |
x86_64/setup: unconditionally populate the pgd
When allocating a new pud, unconditionally populate the pgd (why did
we bother to create a new pud if we weren't going to populate it?).
This will only happen if the pgd slot was empty, since any existing
pud will be reused.
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Cc: Stephen Tweedie <sct@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: Mark McLoughlin <markmc@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | arch/x86/mm/init_64.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/mm/init_64.c b/arch/x86/mm/init_64.c index b10b7f17ea5..77d129d62c9 100644 --- a/arch/x86/mm/init_64.c +++ b/arch/x86/mm/init_64.c @@ -616,9 +616,8 @@ unsigned long __init_refok init_memory_mapping(unsigned long start, unsigned lon last_map_addr = phys_pud_init(pud, __pa(start), __pa(next)); unmap_low_page(pud); - if (!after_bootmem) - pgd_populate(&init_mm, pgd_offset_k(start), - __va(pud_phys)); + pgd_populate(&init_mm, pgd_offset_k(start), + __va(pud_phys)); } if (!after_bootmem) |