]> xenbits.xensource.com Git - people/vhanquez/xen.git/commitdiff
Remove unnecessary x86-specific mapping code from privcmd interface.
authorkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 24 May 2006 14:02:57 +0000 (15:02 +0100)
committerkaf24@firebug.cl.cam.ac.uk <kaf24@firebug.cl.cam.ac.uk>
Wed, 24 May 2006 14:02:57 +0000 (15:02 +0100)
Signed-off-by: Keir Fraser <keir@xensource.com>
xen-unstable changeset:   10150:2436cc71de508f409b957e9eb24c1f34b1ab615d
xen-unstable date:        Wed May 24 14:49:24 2006 +0100

linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c

index fd3451b50afeeea274940bcad63eaca978ada578..a35423af572733c0cc9efbae79a947292a83005d 100644 (file)
@@ -159,12 +159,10 @@ static int privcmd_ioctl(struct inode *inode, struct file *file,
        break;
 
        case IOCTL_PRIVCMD_MMAPBATCH: {
-               mmu_update_t u;
                privcmd_mmapbatch_t m;
                struct vm_area_struct *vma = NULL;
                unsigned long __user *p;
                unsigned long addr, mfn; 
-               uint64_t ptep;
                int i;
 
                if (copy_from_user(&m, udata, sizeof(m))) {
@@ -207,15 +205,10 @@ static int privcmd_ioctl(struct inode *inode, struct file *file,
                        if (ret < 0)
                            goto batch_err;
 #else
-
-                       ret = create_lookup_pte_addr(vma->vm_mm, addr, &ptep);
-                       if (ret)
-                               goto batch_err;
-
-                       u.val = pte_val_ma(pfn_pte_ma(mfn, vma->vm_page_prot));
-                       u.ptr = ptep;
-
-                       if (HYPERVISOR_mmu_update(&u, 1, NULL, m.dom) < 0)
+                       ret = direct_remap_pfn_range(vma, addr & PAGE_MASK,
+                                                    mfn, PAGE_SIZE,
+                                                    vma->vm_page_prot, m.dom);
+                       if (ret < 0)
                                put_user(0xF0000000 | mfn, p);
 #endif
                }