Mailing List Archive

Remove unnecessary x86-specific mapping code from privcmd interface.
# HG changeset patch
# User kaf24@firebug.cl.cam.ac.uk
# Node ID 2436cc71de508f409b957e9eb24c1f34b1ab615d
# Parent 041127f2c687387e5e28fcfbec49ed753700c261
Remove unnecessary x86-specific mapping code from privcmd interface.
Signed-off-by: Keir Fraser <keir@xensource.com>
---
linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c | 20 ++------------------
1 files changed, 2 insertions(+), 18 deletions(-)

diff -r 041127f2c687 -r 2436cc71de50 linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c
--- a/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Wed May 24 14:24:57 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Wed May 24 14:49:24 2006 +0100
@@ -159,10 +159,6 @@ static int privcmd_ioctl(struct inode *i
break;

case IOCTL_PRIVCMD_MMAPBATCH: {
-#ifndef __ia64__
- mmu_update_t u;
- uint64_t ptep;
-#endif
privcmd_mmapbatch_t m;
struct vm_area_struct *vma = NULL;
unsigned long __user *p;
@@ -200,24 +196,12 @@ static int privcmd_ioctl(struct inode *i
for (i = 0; i < m.num; i++, addr += PAGE_SIZE, p++) {
if (get_user(mfn, p))
return -EFAULT;
-#ifdef __ia64__
+
ret = direct_remap_pfn_range(vma, addr & PAGE_MASK,
- mfn, 1 << PAGE_SHIFT,
+ mfn, PAGE_SIZE,
vma->vm_page_prot, m.dom);
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)
put_user(0xF0000000 | mfn, p);
-#endif
}

ret = 0;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog
Remove unnecessary x86-specific mapping code from privcmd interface. [ In reply to ]
# HG changeset patch
# User kaf24@firebug.cl.cam.ac.uk
# Node ID 5f2d82cdbb894ad3c334a844b2d9b6c308189c0b
# Parent f75e01cfde7613b0fcd0a5dce41765df75af044f
Remove unnecessary x86-specific mapping code from privcmd interface.
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 | 15 ++++-----------
1 files changed, 4 insertions(+), 11 deletions(-)

diff -r f75e01cfde76 -r 5f2d82cdbb89 linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c
--- a/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Wed May 24 11:54:00 2006 +0100
+++ b/linux-2.6-xen-sparse/drivers/xen/privcmd/privcmd.c Wed May 24 15:02:57 2006 +0100
@@ -159,12 +159,10 @@ static int privcmd_ioctl(struct inode *i
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 *i
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
}

_______________________________________________
Xen-changelog mailing list
Xen-changelog@lists.xensource.com
http://lists.xensource.com/xen-changelog