| 
    
 [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v5 05/14] tools/libxc: unused attribute in DECLARE_HYPERCALL_BUFFER_SHADOW
 On Wed, 2015-05-13 at 09:53 +0800, Yang Hongyang wrote:
> There are cases that we only need to use the hypercall buffer data,
"cases where"
> and do not use the xc_hypercall_buffer_t struct.
> DECLARE_HYPERCALL_BUFFER_SHADOW define a user pointer that can allow
"defines a user pointer"
> us to access the hypercall buffer data but it also define a
"defines"
> xc_hypercall_buffer_t that we don't use, the compiler will report arg
> unused error.
> add __attribute__((unused)) before xc_hypercall_buffer_t to avoid
> the compiler error.
> 
> The cases for example:
"Example cases:"
> In send_all_pages(), we only need to use the haypercall buffer data
"hypercall"
> which is a dirty bitmap, we set the dirty bitmap to all dirty and call
> send_dirty_pages, we will not use the xc_hypercall_buffer_t and hypercall
> to retrive the dirty bitmap.
"retrieve"
> In send_some_pages(), we will also only need to use the dirty_bitmap.
> the retrive dirty bitmap hypercall are done by the caller.
and again.
> 
> Signed-off-by: Yang Hongyang <yanghy@xxxxxxxxxxxxxx>
> CC: Ian Campbell <Ian.Campbell@xxxxxxxxxx>
> CC: Ian Jackson <Ian.Jackson@xxxxxxxxxxxxx>
> CC: Wei Liu <wei.liu2@xxxxxxxxxx>
> CC: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> ---
>  tools/libxc/include/xenctrl.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/tools/libxc/include/xenctrl.h b/tools/libxc/include/xenctrl.h
> index a689caf..0804257 100644
> --- a/tools/libxc/include/xenctrl.h
> +++ b/tools/libxc/include/xenctrl.h
> @@ -284,11 +284,15 @@ typedef struct xc_hypercall_buffer 
> xc_hypercall_buffer_t;
>   * Useful when a hypercall buffer is passed to a function and access
>   * via the user pointer is required.
>   *
> + * The shadow xc_hypercall_buffer_t may be unused, add
> + * __attribute__((unused)) to avoid compiler error.
No need for this comment IMHO.
>   * See DECLARE_HYPERCALL_BUFFER_ARGUMENT() if the user pointer is not
>   * required.
>   */
>  #define DECLARE_HYPERCALL_BUFFER_SHADOW(_type, _name, _hbuf)   \
>      _type *(_name) = (_hbuf)->hbuf;                            \
> +    __attribute__((unused))                                    \
This is a somewhat unconventional location for such a tagm but putting
it elsewhere would involve faff-some rewrapping.
So apart from the typos looks good.
>      xc_hypercall_buffer_t XC__HYPERCALL_BUFFER_NAME(_name) = { \
>          .hbuf = (void *)-1,                                    \
>          .param_shadow = (_hbuf),                               \
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 
 
  | 
  
![]()  | 
            
         Lists.xenproject.org is hosted with RackSpace, monitoring our  |