aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorIan Campbell <ian.campbell@citrix.com>2010-12-08 06:57:40 -0500
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2011-01-11 14:31:26 -0500
commit9329e7604fe915fd0201633d3c38adae307d56a5 (patch)
treea6ec7dac1ec9c040ca6fcc41d28a45ef24216c42 /drivers
parent448f2831934381e9d3c4d93e700ba7bbe14612dc (diff)
xen: gntdev: move use of GNTMAP_contains_pte next to the map_op
This flag controls the meaning of gnttab_map_grant_ref.host_addr and specifies that the field contains a reference to the pte entry to be used to perform the mapping. Therefore move the use of this flag to the point at which we actually use a reference to the pte instead of something else, splitting up the usage of the flag in this way is confusing and potentially error prone. The other flags are all properties of the mapping itself as opposed to properties of the hypercall arguments and therefore it make sense to continue to pass them round in map->flags. Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com> Cc: Derek G. Murray <Derek.Murray@cl.cam.ac.uk> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/xen/gntdev.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
index fa6355a97081..888d76307d59 100644
--- a/drivers/xen/gntdev.c
+++ b/drivers/xen/gntdev.c
@@ -211,10 +211,12 @@ static int find_grant_ptes(pte_t *pte, pgtable_t token,
211 BUG_ON(pgnr >= map->count); 211 BUG_ON(pgnr >= map->count);
212 pte_maddr = (u64)pfn_to_mfn(page_to_pfn(token)) << PAGE_SHIFT; 212 pte_maddr = (u64)pfn_to_mfn(page_to_pfn(token)) << PAGE_SHIFT;
213 pte_maddr += (unsigned long)pte & ~PAGE_MASK; 213 pte_maddr += (unsigned long)pte & ~PAGE_MASK;
214 gnttab_set_map_op(&map->map_ops[pgnr], pte_maddr, map->flags, 214 gnttab_set_map_op(&map->map_ops[pgnr], pte_maddr,
215 GNTMAP_contains_pte | map->flags,
215 map->grants[pgnr].ref, 216 map->grants[pgnr].ref,
216 map->grants[pgnr].domid); 217 map->grants[pgnr].domid);
217 gnttab_set_unmap_op(&map->unmap_ops[pgnr], pte_maddr, map->flags, 218 gnttab_set_unmap_op(&map->unmap_ops[pgnr], pte_maddr,
219 GNTMAP_contains_pte | map->flags,
218 0 /* handle */); 220 0 /* handle */);
219 return 0; 221 return 0;
220} 222}
@@ -569,7 +571,7 @@ static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma)
569 vma->vm_private_data = map; 571 vma->vm_private_data = map;
570 map->vma = vma; 572 map->vma = vma;
571 573
572 map->flags = GNTMAP_host_map | GNTMAP_application_map | GNTMAP_contains_pte; 574 map->flags = GNTMAP_host_map | GNTMAP_application_map;
573 if (!(vma->vm_flags & VM_WRITE)) 575 if (!(vma->vm_flags & VM_WRITE))
574 map->flags |= GNTMAP_readonly; 576 map->flags |= GNTMAP_readonly;
575 577