[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 4/5] configure: detect presence of libxendevicem
From: |
Paul Durrant |
Subject: |
Re: [Qemu-devel] [PATCH 4/5] configure: detect presence of libxendevicemodel |
Date: |
Thu, 2 Mar 2017 09:06:43 +0000 |
> -----Original Message-----
> From: Anthony PERARD [mailto:address@hidden
> Sent: 01 March 2017 17:18
> To: Paul Durrant <address@hidden>
> Cc: address@hidden; address@hidden; Stefano
> Stabellini <address@hidden>
> 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 <address@hidden>
> > ---
> > Cc: Stefano Stabellini <address@hidden>
> > Cc: Anthony Perard <address@hidden>
> > ---
> > 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