Message ID | 1487861635-17560-5-git-send-email-paul.durrant@citrix.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Thu, Feb 23, 2017 at 02:53:54PM +0000, Paul Durrant wrote: > This patch adds code in configure to set CONFIG_XEN_CTRL_INTERFACE_VERSION > to a new value of 490 if libxendevicemodel is present in the build > environment. > > Signed-off-by: Paul Durrant <paul.durrant@citrix.com> > --- > Cc: Stefano Stabellini <sstabellini@kernel.org> > Cc: Anthony Perard <anthony.perard@citrix.com> > --- > configure | 19 +++++++++++++++++++ > 1 file changed, 19 insertions(+) > > diff --git a/configure b/configure > index 8e8f18d..fc1e12b 100755 > --- a/configure > +++ b/configure > @@ -1980,6 +1980,25 @@ EOF > # Xen unstable > elif > cat > $TMPC <<EOF && > +#undef XC_WANT_COMPAT_DEVICEMODEL_API > +#define __XEN_TOOLS__ Isn't __XEN_TOOLS__ supposed to be reserved for some to tools inside xen.git? Also it seems to be the only time this define is used in your patch series. > +#include <xendevicemodel.h> > +int main(void) { > + xendevicemodel_handle *xd; > + > + xd = xendevicemodel_open(0, 0); > + xendevicemodel_close(xd); > + > + return 0; > +} > +EOF > + compile_prog "" "$xen_libs $xen_stable_libs -lxendevicemodel" > + then > + xen_stable_libs="$xen_stable_libs -lxendevicemodel" > + xen_ctrl_version=490 > + xen=yes > + elif > + cat > $TMPC <<EOF && > /* > * If we have stable libs the we don't want the libxc compat > * layers, regardless of what CFLAGS we may have been given. > -- > 2.1.4 >
> -----Original Message----- > From: Anthony PERARD [mailto:anthony.perard@citrix.com] > Sent: 01 March 2017 17:18 > To: Paul Durrant <Paul.Durrant@citrix.com> > Cc: xen-devel@lists.xenproject.org; qemu-devel@nongnu.org; Stefano > Stabellini <sstabellini@kernel.org> > Subject: Re: [PATCH 4/5] configure: detect presence of libxendevicemodel > > On Thu, Feb 23, 2017 at 02:53:54PM +0000, Paul Durrant wrote: > > This patch adds code in configure to set > CONFIG_XEN_CTRL_INTERFACE_VERSION > > to a new value of 490 if libxendevicemodel is present in the build > > environment. > > > > Signed-off-by: Paul Durrant <paul.durrant@citrix.com> > > --- > > Cc: Stefano Stabellini <sstabellini@kernel.org> > > Cc: Anthony Perard <anthony.perard@citrix.com> > > --- > > configure | 19 +++++++++++++++++++ > > 1 file changed, 19 insertions(+) > > > > diff --git a/configure b/configure > > index 8e8f18d..fc1e12b 100755 > > --- a/configure > > +++ b/configure > > @@ -1980,6 +1980,25 @@ EOF > > # Xen unstable > > elif > > cat > $TMPC <<EOF && > > +#undef XC_WANT_COMPAT_DEVICEMODEL_API > > +#define __XEN_TOOLS__ > > Isn't __XEN_TOOLS__ supposed to be reserved for some to tools inside > xen.git? > > Also it seems to be the only time this define is used in your patch > series. > No. QEMU falls under the definition of 'tools' as far as Xen goes and the hypercalls and xendevicemodel API are protected by that. The reason you don't see it elsewhere is that xenctrl.h defines it. (See http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxc/include/xenctrl.h;hb=HEAD#l27). I think that's a little underhand so I thought I'd make the new code in configure more transparent. I can change it to just include xenctrl.h before xendevicemodel.h if you'd prefer. Paul > > +#include <xendevicemodel.h> > > +int main(void) { > > + xendevicemodel_handle *xd; > > + > > + xd = xendevicemodel_open(0, 0); > > + xendevicemodel_close(xd); > > + > > + return 0; > > +} > > +EOF > > + compile_prog "" "$xen_libs $xen_stable_libs -lxendevicemodel" > > + then > > + xen_stable_libs="$xen_stable_libs -lxendevicemodel" > > + xen_ctrl_version=490 > > + xen=yes > > + elif > > + cat > $TMPC <<EOF && > > /* > > * If we have stable libs the we don't want the libxc compat > > * layers, regardless of what CFLAGS we may have been given. > > -- > > 2.1.4 > > > > -- > Anthony PERARD
On Thu, Mar 02, 2017 at 09:06:43AM +0000, Paul Durrant wrote: > > -----Original Message----- > > From: Anthony PERARD [mailto:anthony.perard@citrix.com] > > Sent: 01 March 2017 17:18 > > To: Paul Durrant <Paul.Durrant@citrix.com> > > Cc: xen-devel@lists.xenproject.org; qemu-devel@nongnu.org; Stefano > > Stabellini <sstabellini@kernel.org> > > Subject: Re: [PATCH 4/5] configure: detect presence of libxendevicemodel > > > > On Thu, Feb 23, 2017 at 02:53:54PM +0000, Paul Durrant wrote: > > > This patch adds code in configure to set > > CONFIG_XEN_CTRL_INTERFACE_VERSION > > > to a new value of 490 if libxendevicemodel is present in the build > > > environment. > > > > > > Signed-off-by: Paul Durrant <paul.durrant@citrix.com> > > > --- > > > Cc: Stefano Stabellini <sstabellini@kernel.org> > > > Cc: Anthony Perard <anthony.perard@citrix.com> > > > --- > > > configure | 19 +++++++++++++++++++ > > > 1 file changed, 19 insertions(+) > > > > > > diff --git a/configure b/configure > > > index 8e8f18d..fc1e12b 100755 > > > --- a/configure > > > +++ b/configure > > > @@ -1980,6 +1980,25 @@ EOF > > > # Xen unstable > > > elif > > > cat > $TMPC <<EOF && > > > +#undef XC_WANT_COMPAT_DEVICEMODEL_API > > > +#define __XEN_TOOLS__ > > > > Isn't __XEN_TOOLS__ supposed to be reserved for some to tools inside > > xen.git? > > > > Also it seems to be the only time this define is used in your patch > > series. > > > No. QEMU falls under the definition of 'tools' as far as Xen goes and the hypercalls and xendevicemodel API are protected by that. The reason you don't see it elsewhere is that xenctrl.h defines it. (See http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxc/include/xenctrl.h;hb=HEAD#l27). > I think that's a little underhand so I thought I'd make the new code in configure more transparent. I can change it to just include xenctrl.h before xendevicemodel.h if you'd prefer. I guess that is fine with __XEN_TOOLS__. You can add my Reviewed-by: Anthony PERARD <anthony.perard@citrix.com>
> -----Original Message----- > From: Anthony PERARD [mailto:anthony.perard@citrix.com] > Sent: 02 March 2017 10:55 > To: Paul Durrant <Paul.Durrant@citrix.com> > Cc: xen-devel@lists.xenproject.org; qemu-devel@nongnu.org; Stefano > Stabellini <sstabellini@kernel.org> > Subject: Re: [PATCH 4/5] configure: detect presence of libxendevicemodel > > On Thu, Mar 02, 2017 at 09:06:43AM +0000, Paul Durrant wrote: > > > -----Original Message----- > > > From: Anthony PERARD [mailto:anthony.perard@citrix.com] > > > Sent: 01 March 2017 17:18 > > > To: Paul Durrant <Paul.Durrant@citrix.com> > > > Cc: xen-devel@lists.xenproject.org; qemu-devel@nongnu.org; Stefano > > > Stabellini <sstabellini@kernel.org> > > > Subject: Re: [PATCH 4/5] configure: detect presence of > libxendevicemodel > > > > > > On Thu, Feb 23, 2017 at 02:53:54PM +0000, Paul Durrant wrote: > > > > This patch adds code in configure to set > > > CONFIG_XEN_CTRL_INTERFACE_VERSION > > > > to a new value of 490 if libxendevicemodel is present in the build > > > > environment. > > > > > > > > Signed-off-by: Paul Durrant <paul.durrant@citrix.com> > > > > --- > > > > Cc: Stefano Stabellini <sstabellini@kernel.org> > > > > Cc: Anthony Perard <anthony.perard@citrix.com> > > > > --- > > > > configure | 19 +++++++++++++++++++ > > > > 1 file changed, 19 insertions(+) > > > > > > > > diff --git a/configure b/configure > > > > index 8e8f18d..fc1e12b 100755 > > > > --- a/configure > > > > +++ b/configure > > > > @@ -1980,6 +1980,25 @@ EOF > > > > # Xen unstable > > > > elif > > > > cat > $TMPC <<EOF && > > > > +#undef XC_WANT_COMPAT_DEVICEMODEL_API > > > > +#define __XEN_TOOLS__ > > > > > > Isn't __XEN_TOOLS__ supposed to be reserved for some to tools inside > > > xen.git? > > > > > > Also it seems to be the only time this define is used in your patch > > > series. > > > > > No. QEMU falls under the definition of 'tools' as far as Xen goes and the > hypercalls and xendevicemodel API are protected by that. The reason you > don't see it elsewhere is that xenctrl.h defines it. (See > http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxc/include/xenc > trl.h;hb=HEAD#l27). > > I think that's a little underhand so I thought I'd make the new code in > configure more transparent. I can change it to just include xenctrl.h before > xendevicemodel.h if you'd prefer. > > I guess that is fine with __XEN_TOOLS__. > You can add my > Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> Cool. Thanks, Paul > > -- > Anthony PERARD
On 02/03/17 11:54, Anthony PERARD wrote: > On Thu, Mar 02, 2017 at 09:06:43AM +0000, Paul Durrant wrote: >>> -----Original Message----- >>> From: Anthony PERARD [mailto:anthony.perard@citrix.com] >>> Sent: 01 March 2017 17:18 >>> To: Paul Durrant <Paul.Durrant@citrix.com> >>> Cc: xen-devel@lists.xenproject.org; qemu-devel@nongnu.org; Stefano >>> Stabellini <sstabellini@kernel.org> >>> Subject: Re: [PATCH 4/5] configure: detect presence of libxendevicemodel >>> >>> On Thu, Feb 23, 2017 at 02:53:54PM +0000, Paul Durrant wrote: >>>> This patch adds code in configure to set >>> CONFIG_XEN_CTRL_INTERFACE_VERSION >>>> to a new value of 490 if libxendevicemodel is present in the build >>>> environment. >>>> >>>> Signed-off-by: Paul Durrant <paul.durrant@citrix.com> >>>> --- >>>> Cc: Stefano Stabellini <sstabellini@kernel.org> >>>> Cc: Anthony Perard <anthony.perard@citrix.com> >>>> --- >>>> configure | 19 +++++++++++++++++++ >>>> 1 file changed, 19 insertions(+) >>>> >>>> diff --git a/configure b/configure >>>> index 8e8f18d..fc1e12b 100755 >>>> --- a/configure >>>> +++ b/configure >>>> @@ -1980,6 +1980,25 @@ EOF >>>> # Xen unstable >>>> elif >>>> cat > $TMPC <<EOF && >>>> +#undef XC_WANT_COMPAT_DEVICEMODEL_API >>>> +#define __XEN_TOOLS__ >>> >>> Isn't __XEN_TOOLS__ supposed to be reserved for some to tools inside >>> xen.git? >>> >>> Also it seems to be the only time this define is used in your patch >>> series. >>> >> No. QEMU falls under the definition of 'tools' as far as Xen goes and the hypercalls and xendevicemodel API are protected by that. The reason you don't see it elsewhere is that xenctrl.h defines it. (See http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxc/include/xenctrl.h;hb=HEAD#l27). >> I think that's a little underhand so I thought I'd make the new code in configure more transparent. I can change it to just include xenctrl.h before xendevicemodel.h if you'd prefer. > > I guess that is fine with __XEN_TOOLS__. > You can add my > Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> > Sorry for jumping in only now: Wouldn't it be better to base qemu's configure modification for support of Xen 4.9 (and newer) on my just posted series introducing pkg-config? I'm just about to expand this series to all of Xen's libraries and I already have a qemu patch at hand supporting this new scheme. Juergen
> -----Original Message----- > From: Juergen Gross [mailto:jgross@suse.com] > Sent: 02 March 2017 11:01 > To: Anthony Perard <anthony.perard@citrix.com>; Paul Durrant > <Paul.Durrant@citrix.com> > Cc: xen-devel@lists.xenproject.org; Stefano Stabellini > <sstabellini@kernel.org>; qemu-devel@nongnu.org > Subject: Re: [Xen-devel] [PATCH 4/5] configure: detect presence of > libxendevicemodel > > On 02/03/17 11:54, Anthony PERARD wrote: > > On Thu, Mar 02, 2017 at 09:06:43AM +0000, Paul Durrant wrote: > >>> -----Original Message----- > >>> From: Anthony PERARD [mailto:anthony.perard@citrix.com] > >>> Sent: 01 March 2017 17:18 > >>> To: Paul Durrant <Paul.Durrant@citrix.com> > >>> Cc: xen-devel@lists.xenproject.org; qemu-devel@nongnu.org; Stefano > >>> Stabellini <sstabellini@kernel.org> > >>> Subject: Re: [PATCH 4/5] configure: detect presence of > libxendevicemodel > >>> > >>> On Thu, Feb 23, 2017 at 02:53:54PM +0000, Paul Durrant wrote: > >>>> This patch adds code in configure to set > >>> CONFIG_XEN_CTRL_INTERFACE_VERSION > >>>> to a new value of 490 if libxendevicemodel is present in the build > >>>> environment. > >>>> > >>>> Signed-off-by: Paul Durrant <paul.durrant@citrix.com> > >>>> --- > >>>> Cc: Stefano Stabellini <sstabellini@kernel.org> > >>>> Cc: Anthony Perard <anthony.perard@citrix.com> > >>>> --- > >>>> configure | 19 +++++++++++++++++++ > >>>> 1 file changed, 19 insertions(+) > >>>> > >>>> diff --git a/configure b/configure > >>>> index 8e8f18d..fc1e12b 100755 > >>>> --- a/configure > >>>> +++ b/configure > >>>> @@ -1980,6 +1980,25 @@ EOF > >>>> # Xen unstable > >>>> elif > >>>> cat > $TMPC <<EOF && > >>>> +#undef XC_WANT_COMPAT_DEVICEMODEL_API > >>>> +#define __XEN_TOOLS__ > >>> > >>> Isn't __XEN_TOOLS__ supposed to be reserved for some to tools inside > >>> xen.git? > >>> > >>> Also it seems to be the only time this define is used in your patch > >>> series. > >>> > >> No. QEMU falls under the definition of 'tools' as far as Xen goes and the > hypercalls and xendevicemodel API are protected by that. The reason you > don't see it elsewhere is that xenctrl.h defines it. (See > http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxc/include/xenc > trl.h;hb=HEAD#l27). > >> I think that's a little underhand so I thought I'd make the new code in > configure more transparent. I can change it to just include xenctrl.h before > xendevicemodel.h if you'd prefer. > > > > I guess that is fine with __XEN_TOOLS__. > > You can add my > > Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> > > > > Sorry for jumping in only now: > > Wouldn't it be better to base qemu's configure modification for support > of Xen 4.9 (and newer) on my just posted series introducing pkg-config? > > I'm just about to expand this series to all of Xen's libraries and I > already have a qemu patch at hand supporting this new scheme. Ok, but I'm at v2 and I was literally just about to post. I guess it will also be pretty trivial to change configure after this change has been applied. Paul > > > Juergen
On 02/03/17 12:06, Paul Durrant wrote: >> -----Original Message----- >> From: Juergen Gross [mailto:jgross@suse.com] >> Sent: 02 March 2017 11:01 >> To: Anthony Perard <anthony.perard@citrix.com>; Paul Durrant >> <Paul.Durrant@citrix.com> >> Cc: xen-devel@lists.xenproject.org; Stefano Stabellini >> <sstabellini@kernel.org>; qemu-devel@nongnu.org >> Subject: Re: [Xen-devel] [PATCH 4/5] configure: detect presence of >> libxendevicemodel >> >> On 02/03/17 11:54, Anthony PERARD wrote: >>> On Thu, Mar 02, 2017 at 09:06:43AM +0000, Paul Durrant wrote: >>>>> -----Original Message----- >>>>> From: Anthony PERARD [mailto:anthony.perard@citrix.com] >>>>> Sent: 01 March 2017 17:18 >>>>> To: Paul Durrant <Paul.Durrant@citrix.com> >>>>> Cc: xen-devel@lists.xenproject.org; qemu-devel@nongnu.org; Stefano >>>>> Stabellini <sstabellini@kernel.org> >>>>> Subject: Re: [PATCH 4/5] configure: detect presence of >> libxendevicemodel >>>>> >>>>> On Thu, Feb 23, 2017 at 02:53:54PM +0000, Paul Durrant wrote: >>>>>> This patch adds code in configure to set >>>>> CONFIG_XEN_CTRL_INTERFACE_VERSION >>>>>> to a new value of 490 if libxendevicemodel is present in the build >>>>>> environment. >>>>>> >>>>>> Signed-off-by: Paul Durrant <paul.durrant@citrix.com> >>>>>> --- >>>>>> Cc: Stefano Stabellini <sstabellini@kernel.org> >>>>>> Cc: Anthony Perard <anthony.perard@citrix.com> >>>>>> --- >>>>>> configure | 19 +++++++++++++++++++ >>>>>> 1 file changed, 19 insertions(+) >>>>>> >>>>>> diff --git a/configure b/configure >>>>>> index 8e8f18d..fc1e12b 100755 >>>>>> --- a/configure >>>>>> +++ b/configure >>>>>> @@ -1980,6 +1980,25 @@ EOF >>>>>> # Xen unstable >>>>>> elif >>>>>> cat > $TMPC <<EOF && >>>>>> +#undef XC_WANT_COMPAT_DEVICEMODEL_API >>>>>> +#define __XEN_TOOLS__ >>>>> >>>>> Isn't __XEN_TOOLS__ supposed to be reserved for some to tools inside >>>>> xen.git? >>>>> >>>>> Also it seems to be the only time this define is used in your patch >>>>> series. >>>>> >>>> No. QEMU falls under the definition of 'tools' as far as Xen goes and the >> hypercalls and xendevicemodel API are protected by that. The reason you >> don't see it elsewhere is that xenctrl.h defines it. (See >> http://xenbits.xen.org/gitweb/?p=xen.git;a=blob;f=tools/libxc/include/xenc >> trl.h;hb=HEAD#l27). >>>> I think that's a little underhand so I thought I'd make the new code in >> configure more transparent. I can change it to just include xenctrl.h before >> xendevicemodel.h if you'd prefer. >>> >>> I guess that is fine with __XEN_TOOLS__. >>> You can add my >>> Reviewed-by: Anthony PERARD <anthony.perard@citrix.com> >>> >> >> Sorry for jumping in only now: >> >> Wouldn't it be better to base qemu's configure modification for support >> of Xen 4.9 (and newer) on my just posted series introducing pkg-config? >> >> I'm just about to expand this series to all of Xen's libraries and I >> already have a qemu patch at hand supporting this new scheme. > > Ok, but I'm at v2 and I was literally just about to post. I guess it will also be pretty trivial to change configure after this change has been applied. Sure, this will work. Its your decision. :-) Juergen
diff --git a/configure b/configure index 8e8f18d..fc1e12b 100755 --- a/configure +++ b/configure @@ -1980,6 +1980,25 @@ EOF # Xen unstable elif cat > $TMPC <<EOF && +#undef XC_WANT_COMPAT_DEVICEMODEL_API +#define __XEN_TOOLS__ +#include <xendevicemodel.h> +int main(void) { + xendevicemodel_handle *xd; + + xd = xendevicemodel_open(0, 0); + xendevicemodel_close(xd); + + return 0; +} +EOF + compile_prog "" "$xen_libs $xen_stable_libs -lxendevicemodel" + then + xen_stable_libs="$xen_stable_libs -lxendevicemodel" + xen_ctrl_version=490 + xen=yes + elif + cat > $TMPC <<EOF && /* * If we have stable libs the we don't want the libxc compat * layers, regardless of what CFLAGS we may have been given.
This patch adds code in configure to set CONFIG_XEN_CTRL_INTERFACE_VERSION to a new value of 490 if libxendevicemodel is present in the build environment. Signed-off-by: Paul Durrant <paul.durrant@citrix.com> --- Cc: Stefano Stabellini <sstabellini@kernel.org> Cc: Anthony Perard <anthony.perard@citrix.com> --- configure | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+)