From mboxrd@z Thu Jan 1 00:00:00 1970 From: Konrad Rzeszutek Wilk Subject: Re: [PATCH v3 07/11] tmem: Make the uint64_t oid[3] a proper structure: tmem_oid Date: Mon, 31 Aug 2015 12:14:16 -0400 Message-ID: <20150831161416.GA7982@l.oracle.com> References: <1440788000-32635-1-git-send-email-konrad.wilk@oracle.com> <1440788000-32635-8-git-send-email-konrad.wilk@oracle.com> <55E458E5020000780009E574@prv-mh.provo.novell.com> <20150831153720.GA9931@l.oracle.com> <55E4874702000078000D7A72@prv-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1ZWRiy-00064y-PY for xen-devel@lists.xenproject.org; Mon, 31 Aug 2015 16:14:24 +0000 Content-Disposition: inline In-Reply-To: <55E4874702000078000D7A72@prv-mh.provo.novell.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: Jan Beulich Cc: andrew.cooper3@citrix.com, wei.liu2@citrix.com, xen-devel@lists.xenproject.org List-Id: xen-devel@lists.xenproject.org > >And the 'container_of' macro looks to require only one level of > >nesting. > > I'm pretty sure the macro can deal with both. OK, let me experiement with it as at the first blush it does not work for me. > > >> > --- a/xen/include/public/sysctl.h > >> > +++ b/xen/include/public/sysctl.h > >> > @@ -737,6 +737,12 @@ DEFINE_XEN_GUEST_HANDLE(xen_sysctl_psr_cat_op_t); > >> > #define XEN_SYSCTL_TMEM_OP_RESTORE_PUT_PAGE 32 > >> > #define XEN_SYSCTL_TMEM_OP_RESTORE_FLUSH_PAGE 33 > >> > > >> > +struct tmem_oid { > >> > + uint64_t oid[3]; > >> > +}; > >> > +typedef struct tmem_oid tmem_oid_t; > >> > +DEFINE_XEN_GUEST_HANDLE(tmem_oid_t); > >> > >> I know this is going to be a boring mechanical thing, but I'd really > >> like to see this to be xen_tmem_oid (and alike), especially since > >> you intend to also use the type for th non-tools part of the > >> interface. > > > >This throws a wrench in the compat autogeneration tool. > > > >I keep on getting: > > > >Fields of 'compat_xen_tmem_oid' not found in 'compat/tmem.h' > >and it failing to generate compat/.xlat/tmem.h file. Sticking an prefix of > >xen to the 'common/compat/tmem_xen.c' or just leaving it as is did not help: > > Did you perhaps forget to adjust include/xlat.lst? I'm certain adding a prefix won't Yes. And ran 'make distclean' before compiling. > break everything, albeit iirc there's not going to be a compat_xen_tmem_oid, but > the xen_ prefix in such cases gets replaced by compat_. Which is part of the problem - in 'xen_tmem_oid' the 'xen' parts got replaced. And the 'compat_tmem_oid' gets generated but the tool is trying to find 'compat_xen_tmem_oid' (at least that is the error) and can't find it now.