lkml.org 
[lkml]   [2010]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 06/11] xen: gntdev: move use of GNTMAP_contains_pte next to the map_op
    Date
    From: Ian Campbell <ian.campbell@citrix.com>

    This flag controls the meaning of gnttab_map_grant_ref.host_addr and
    specifies that the field contains a refernce 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: Jeremy Fitzhardinge <jeremy@goop.org>
    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>
    ---
    drivers/xen/gntdev.c | 8 +++++---
    1 files changed, 5 insertions(+), 3 deletions(-)

    diff --git a/drivers/xen/gntdev.c b/drivers/xen/gntdev.c
    index cf61c7d..b916d6b 100644
    --- a/drivers/xen/gntdev.c
    +++ b/drivers/xen/gntdev.c
    @@ -205,10 +205,12 @@ static int find_grant_ptes(pte_t *pte, pgtable_t token, unsigned long addr, void
    BUG_ON(pgnr >= map->count);
    pte_maddr = (u64)pfn_to_mfn(page_to_pfn(token)) << PAGE_SHIFT;
    pte_maddr += (unsigned long)pte & ~PAGE_MASK;
    - gnttab_set_map_op(&map->map_ops[pgnr], pte_maddr, map->flags,
    + gnttab_set_map_op(&map->map_ops[pgnr], pte_maddr,
    + GNTMAP_contains_pte | map->flags,
    map->grants[pgnr].ref,
    map->grants[pgnr].domid);
    - gnttab_set_unmap_op(&map->unmap_ops[pgnr], pte_maddr, map->flags,
    + gnttab_set_unmap_op(&map->unmap_ops[pgnr], pte_maddr,
    + GNTMAP_contains_pte | map->flags,
    0 /* handle */);
    return 0;
    }
    @@ -579,7 +581,7 @@ static int gntdev_mmap(struct file *flip, struct vm_area_struct *vma)
    vma->vm_private_data = map;
    map->vma = vma;

    - map->flags = GNTMAP_host_map | GNTMAP_application_map | GNTMAP_contains_pte;
    + map->flags = GNTMAP_host_map | GNTMAP_application_map;
    if (!(vma->vm_flags & VM_WRITE))
    map->flags |= GNTMAP_readonly;

    --
    1.5.6.5


    \
     
     \ /
      Last update: 2010-12-15 14:43    [W:0.033 / U:29.132 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site