aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorIan Campbell <ijc@hellion.org.uk>2008-02-09 17:24:09 -0500
committerThomas Gleixner <tglx@linutronix.de>2008-02-09 17:24:09 -0500
commitb6fbb669c8ef3a112121697ca901c290ccd35eb2 (patch)
treecf38f441922b8e41b7722a6fa51cbfd8853ed3fd /arch
parent551889a6e2a24a9c06fd453ea03b57b7746ffdc0 (diff)
x86: fix early_ioremap pagetable ops
Some important parts of f6df72e71eba621b2f5c49b3a763116fac748f6e got dropped along the way, reintroduce them. Only affects paravirt guests. Signed-off-by: Ian Campbell <ijc@hellion.org.uk> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/mm/ioremap.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index 1106b7f477bd..a4897a85268a 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -286,7 +286,7 @@ void __init early_ioremap_init(void)
286 286
287 pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); 287 pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN));
288 memset(bm_pte, 0, sizeof(bm_pte)); 288 memset(bm_pte, 0, sizeof(bm_pte));
289 set_pmd(pmd, __pmd(__pa(bm_pte) | _PAGE_TABLE)); 289 pmd_populate_kernel(&init_mm, pmd, bm_pte);
290 290
291 /* 291 /*
292 * The boot-ioremap range spans multiple pmds, for which 292 * The boot-ioremap range spans multiple pmds, for which
@@ -316,7 +316,7 @@ void __init early_ioremap_clear(void)
316 316
317 pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); 317 pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN));
318 pmd_clear(pmd); 318 pmd_clear(pmd);
319 paravirt_release_pt(__pa(pmd) >> PAGE_SHIFT); 319 paravirt_release_pt(__pa(bm_pte) >> PAGE_SHIFT);
320 __flush_tlb_all(); 320 __flush_tlb_all();
321} 321}
322 322