diff options
| author | Ian Campbell <ijc@hellion.org.uk> | 2008-02-09 17:24:09 -0500 |
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2008-02-09 17:24:09 -0500 |
| commit | b6fbb669c8ef3a112121697ca901c290ccd35eb2 (patch) | |
| tree | cf38f441922b8e41b7722a6fa51cbfd8853ed3fd | |
| parent | 551889a6e2a24a9c06fd453ea03b57b7746ffdc0 (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>
| -rw-r--r-- | arch/x86/mm/ioremap.c | 4 |
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 | ||
