aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/mmu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/xen/mmu.c')
-rw-r--r--arch/x86/xen/mmu.c19
1 files changed, 2 insertions, 17 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index 265601d5a6ae..df40bf74ea75 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -228,7 +228,7 @@ pmdval_t xen_pmd_val(pmd_t pmd)
228{ 228{
229 return pte_mfn_to_pfn(pmd.pmd); 229 return pte_mfn_to_pfn(pmd.pmd);
230} 230}
231#ifdef CONFIG_X86_PAE 231
232void xen_set_pud(pud_t *ptr, pud_t val) 232void xen_set_pud(pud_t *ptr, pud_t val)
233{ 233{
234 struct multicall_space mcs; 234 struct multicall_space mcs;
@@ -276,12 +276,6 @@ pmd_t xen_make_pmd(pmdval_t pmd)
276 pmd = pte_pfn_to_mfn(pmd); 276 pmd = pte_pfn_to_mfn(pmd);
277 return native_make_pmd(pmd); 277 return native_make_pmd(pmd);
278} 278}
279#else /* !PAE */
280void xen_set_pte(pte_t *ptep, pte_t pte)
281{
282 *ptep = pte;
283}
284#endif /* CONFIG_X86_PAE */
285 279
286/* 280/*
287 (Yet another) pagetable walker. This one is intended for pinning a 281 (Yet another) pagetable walker. This one is intended for pinning a
@@ -434,8 +428,6 @@ static int pin_page(struct page *page, enum pt_level level)
434 read-only, and can be pinned. */ 428 read-only, and can be pinned. */
435void xen_pgd_pin(pgd_t *pgd) 429void xen_pgd_pin(pgd_t *pgd)
436{ 430{
437 unsigned level;
438
439 xen_mc_batch(); 431 xen_mc_batch();
440 432
441 if (pgd_walk(pgd, pin_page, TASK_SIZE)) { 433 if (pgd_walk(pgd, pin_page, TASK_SIZE)) {
@@ -445,14 +437,7 @@ void xen_pgd_pin(pgd_t *pgd)
445 xen_mc_batch(); 437 xen_mc_batch();
446 } 438 }
447 439
448#ifdef CONFIG_X86_PAE 440 xen_do_pin(MMUEXT_PIN_L3_TABLE, PFN_DOWN(__pa(pgd)));
449 level = MMUEXT_PIN_L3_TABLE;
450#else
451 level = MMUEXT_PIN_L2_TABLE;
452#endif
453
454 xen_do_pin(level, PFN_DOWN(__pa(pgd)));
455
456 xen_mc_issue(0); 441 xen_mc_issue(0);
457} 442}
458 443