[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 4/5] configure: detect presence of libxendevicemodel



> -----Original Message-----
> From: Anthony PERARD [mailto:anthony.perard@xxxxxxxxxx]
> Sent: 01 March 2017 17:18
> To: Paul Durrant <Paul.Durrant@xxxxxxxxxx>
> Cc: xen-devel@xxxxxxxxxxxxxxxxxxxx; qemu-devel@xxxxxxxxxx; Stefano
> Stabellini <sstabellini@xxxxxxxxxx>
> 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@xxxxxxxxxx>
> > ---
> > Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> > Cc: Anthony Perard <anthony.perard@xxxxxxxxxx>
> > ---
> >  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

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.