From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH v5 05/14] tools/libxc: unused attribute in DECLARE_HYPERCALL_BUFFER_SHADOW Date: Wed, 13 May 2015 16:57:56 +0100 Message-ID: <1431532676.8263.348.camel@citrix.com> References: <1431482044-21286-1-git-send-email-yanghy@cn.fujitsu.com> <1431482044-21286-6-git-send-email-yanghy@cn.fujitsu.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1431482044-21286-6-git-send-email-yanghy@cn.fujitsu.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Yang Hongyang Cc: wei.liu2@citrix.com, wency@cn.fujitsu.com, andrew.cooper3@citrix.com, yunhong.jiang@intel.com, eddie.dong@intel.com, xen-devel@lists.xen.org, rshriram@cs.ubc.ca, ian.jackson@eu.citrix.com List-Id: xen-devel@lists.xenproject.org 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 > CC: Ian Campbell > CC: Ian Jackson > CC: Wei Liu > CC: Andrew Cooper > --- > 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), \