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>

authored by Ian Campbell and committed by Thomas Gleixner b6fbb669 551889a6

+2 -2
+2 -2
arch/x86/mm/ioremap.c
··· 286 286 287 287 pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); 288 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 292 * The boot-ioremap range spans multiple pmds, for which ··· 316 316 317 317 pmd = early_ioremap_pmd(fix_to_virt(FIX_BTMAP_BEGIN)); 318 318 pmd_clear(pmd); 319 - paravirt_release_pt(__pa(pmd) >> PAGE_SHIFT); 319 + paravirt_release_pt(__pa(bm_pte) >> PAGE_SHIFT); 320 320 __flush_tlb_all(); 321 321 } 322 322