aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/xen/mmu.c
diff options
context:
space:
mode:
authorJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2010-12-22 16:09:40 -0500
committerJeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>2011-05-20 17:25:24 -0400
commitd5108316b894a172f891795dbad4975ab7ed7a41 (patch)
tree9e0d33b13739db6340b2c5ff878fa8a72296b75b /arch/x86/xen/mmu.c
parent4c13629f816b1aeff92971a40819b4c25b0622f5 (diff)
xen: use normal virt_to_machine for ptes
We no longer support HIGHPTE allocations, so ptes should always be within the kernel's direct map, and don't need pagetable walks to convert to machine addresses. Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Diffstat (limited to 'arch/x86/xen/mmu.c')
-rw-r--r--arch/x86/xen/mmu.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/xen/mmu.c b/arch/x86/xen/mmu.c
index a87b6b4caa7..1a41e925707 100644
--- a/arch/x86/xen/mmu.c
+++ b/arch/x86/xen/mmu.c
@@ -246,7 +246,7 @@ void xen_set_domain_pte(pte_t *ptep, pte_t pteval, unsigned domid)
246 u = mcs.args; 246 u = mcs.args;
247 247
248 /* ptep might be kmapped when using 32-bit HIGHPTE */ 248 /* ptep might be kmapped when using 32-bit HIGHPTE */
249 u->ptr = arbitrary_virt_to_machine(ptep).maddr; 249 u->ptr = virt_to_machine(ptep).maddr;
250 u->val = pte_val_ma(pteval); 250 u->val = pte_val_ma(pteval);
251 251
252 MULTI_mmu_update(mcs.mc, mcs.args, 1, NULL, domid); 252 MULTI_mmu_update(mcs.mc, mcs.args, 1, NULL, domid);
@@ -292,7 +292,7 @@ static void xen_set_pmd_hyper(pmd_t *ptr, pmd_t val)
292 xen_mc_batch(); 292 xen_mc_batch();
293 293
294 /* ptr may be ioremapped for 64-bit pagetable setup */ 294 /* ptr may be ioremapped for 64-bit pagetable setup */
295 u.ptr = arbitrary_virt_to_machine(ptr).maddr; 295 u.ptr = virt_to_machine(ptr).maddr;
296 u.val = pmd_val_ma(val); 296 u.val = pmd_val_ma(val);
297 xen_extend_mmu_update(&u); 297 xen_extend_mmu_update(&u);
298 298
@@ -375,7 +375,7 @@ void xen_ptep_modify_prot_commit(struct mm_struct *mm, unsigned long addr,
375 375
376 xen_mc_batch(); 376 xen_mc_batch();
377 377
378 u.ptr = arbitrary_virt_to_machine(ptep).maddr | MMU_PT_UPDATE_PRESERVE_AD; 378 u.ptr = virt_to_machine(ptep).maddr | MMU_PT_UPDATE_PRESERVE_AD;
379 u.val = pte_val_ma(pte); 379 u.val = pte_val_ma(pte);
380 xen_extend_mmu_update(&u); 380 xen_extend_mmu_update(&u);
381 381
@@ -589,7 +589,7 @@ static void xen_set_pud_hyper(pud_t *ptr, pud_t val)
589 xen_mc_batch(); 589 xen_mc_batch();
590 590
591 /* ptr may be ioremapped for 64-bit pagetable setup */ 591 /* ptr may be ioremapped for 64-bit pagetable setup */
592 u.ptr = arbitrary_virt_to_machine(ptr).maddr; 592 u.ptr = virt_to_machine(ptr).maddr;
593 u.val = pud_val_ma(val); 593 u.val = pud_val_ma(val);
594 xen_extend_mmu_update(&u); 594 xen_extend_mmu_update(&u);
595 595
@@ -2331,7 +2331,7 @@ static int remap_area_mfn_pte_fn(pte_t *ptep, pgtable_t token,
2331 struct remap_data *rmd = data; 2331 struct remap_data *rmd = data;
2332 pte_t pte = pte_mkspecial(pfn_pte(rmd->mfn++, rmd->prot)); 2332 pte_t pte = pte_mkspecial(pfn_pte(rmd->mfn++, rmd->prot));
2333 2333
2334 rmd->mmu_update->ptr = arbitrary_virt_to_machine(ptep).maddr; 2334 rmd->mmu_update->ptr = virt_to_machine(ptep).maddr;
2335 rmd->mmu_update->val = pte_val_ma(pte); 2335 rmd->mmu_update->val = pte_val_ma(pte);
2336 rmd->mmu_update++; 2336 rmd->mmu_update++;
2337 2337