WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

[Xen-devel] Re: [PATCH 2/6] xenbus: Use grant-table wrapper functions

On Thu, Oct 20, 2011 at 11:35:53AM -0400, Daniel De Graaf wrote:
> The gnttab_set_{map,unmap}_op functions should be used instead of
> directly populating the fields of gnttab_map_grant_ref.

You could also mention that this has the side effect that under HVM, this 
happens
automatically:

 op->host_addr = __pa(vaddr);

while under PV it is unchanged.

> 
> Signed-off-by: Daniel De Graaf <dgdegra@xxxxxxxxxxxxx>
> ---
>  drivers/xen/xenbus/xenbus_client.c |   17 +++++++----------
>  1 files changed, 7 insertions(+), 10 deletions(-)
> 
> diff --git a/drivers/xen/xenbus/xenbus_client.c 
> b/drivers/xen/xenbus/xenbus_client.c
> index 534e744..ca7c287 100644
> --- a/drivers/xen/xenbus/xenbus_client.c
> +++ b/drivers/xen/xenbus/xenbus_client.c
> @@ -544,12 +544,10 @@ EXPORT_SYMBOL_GPL(xenbus_map_ring_valloc);
>  int xenbus_map_ring(struct xenbus_device *dev, int gnt_ref,
>                   grant_handle_t *handle, void *vaddr)
>  {
> -     struct gnttab_map_grant_ref op = {
> -             .host_addr = (unsigned long)vaddr,
> -             .flags     = GNTMAP_host_map,
> -             .ref       = gnt_ref,
> -             .dom       = dev->otherend_id,
> -     };
> +     struct gnttab_map_grant_ref op;
> +
> +     gnttab_set_map_op(&op, (phys_addr_t)vaddr, GNTMAP_host_map, gnt_ref,
> +                       dev->otherend_id);
>  
>       if (HYPERVISOR_grant_table_op(GNTTABOP_map_grant_ref, &op, 1))
>               BUG();
> @@ -674,10 +672,9 @@ EXPORT_SYMBOL_GPL(xenbus_unmap_ring_vfree);
>  int xenbus_unmap_ring(struct xenbus_device *dev,
>                     grant_handle_t handle, void *vaddr)
>  {
> -     struct gnttab_unmap_grant_ref op = {
> -             .host_addr = (unsigned long)vaddr,
> -             .handle    = handle,
> -     };
> +     struct gnttab_unmap_grant_ref op;
> +
> +     gnttab_set_unmap_op(&op, (phys_addr_t)vaddr, GNTMAP_host_map, handle);
>  
>       if (HYPERVISOR_grant_table_op(GNTTABOP_unmap_grant_ref, &op, 1))
>               BUG();
> -- 
> 1.7.6.4

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

<Prev in Thread] Current Thread [Next in Thread>