qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] QEMU build breakage on ARM against Xen 4.9 caused by li


From: Paul Durrant
Subject: Re: [Qemu-devel] QEMU build breakage on ARM against Xen 4.9 caused by libxendevicemodel
Date: Thu, 20 Apr 2017 08:02:45 +0000

> -----Original Message-----
> From: Stefano Stabellini [mailto:address@hidden
> Sent: 20 April 2017 00:02
> To: Paul Durrant <address@hidden>
> Cc: 'Stefano Stabellini' <address@hidden>; address@hidden;
> Anthony Perard <address@hidden>; Wei Liu
> <address@hidden>; address@hidden; address@hidden; xen-
> address@hidden
> Subject: RE: QEMU build breakage on ARM against Xen 4.9 caused by
> libxendevicemodel
> 
> On Wed, 19 Apr 2017, Paul Durrant wrote:
> > > -----Original Message-----
> > > From: Stefano Stabellini [mailto:address@hidden
> > > Sent: 18 April 2017 18:41
> > > To: Paul Durrant <address@hidden>
> > > Cc: 'Stefano Stabellini' <address@hidden>; qemu-
> address@hidden;
> > > Anthony Perard <address@hidden>; Wei Liu
> > > <address@hidden>; address@hidden; address@hidden; xen-
> > > address@hidden
> > > Subject: RE: QEMU build breakage on ARM against Xen 4.9 caused by
> > > libxendevicemodel
> > >
> > > On Tue, 18 Apr 2017, Paul Durrant wrote:
> > > > > -----Original Message-----
> > > > > From: Stefano Stabellini [mailto:address@hidden
> > > > > Sent: 15 April 2017 01:40
> > > > > To: Stefano Stabellini <address@hidden>
> > > > > Cc: Paul Durrant <address@hidden>; qemu-
> address@hidden;
> > > > > Anthony Perard <address@hidden>; Wei Liu
> > > > > <address@hidden>; address@hidden; address@hidden; xen-
> > > > > address@hidden
> > > > > Subject: Re: QEMU build breakage on ARM against Xen 4.9 caused by
> > > > > libxendevicemodel
> > > > >
> > > > > On Fri, 14 Apr 2017, Stefano Stabellini wrote:
> > > > > > Hi Paul,
> > > > > >
> > > > > > The following commit in my qemu "next" branch breaks the build on
> > > arm
> > > > > > and arm64:
> > > > > >
> > > > > > commit 670271647ad15e9d937ced7a72c892349c709216
> > > > > > Author: Paul Durrant <address@hidden>
> > > > > > Date:   Tue Mar 7 10:55:34 2017 +0000
> > > > > >
> > > > > >     xen: use libxendevicemodel when available
> > > > > >
> > > > > > See the appended build log. Sorry for not realizing it sooner.
> > > > >
> > > > > As I imagined, this bug is easy to solve. It is reproducible on x86 
> > > > > too,
> > > > > if you pass -DXC_WANT_COMPAT_DEVICEMODEL_API=1 to configure
> > > and
> > > > > forcefully disable Xen 4.9 detection in the configure script.
> > > > >
> > > > > If QEMU detects xen_ctrl_version = 480, the build will fail against 
> > > > > Xen
> > > > > 4.9, even when -DXC_WANT_COMPAT_DEVICEMODEL_API=1 is
> > > specified.
> > > > >
> > > > > The appended patch solves the problem. However, Xen 4.9 detection
> > > and
> > > > > compilation remain broken.
> > > >
> > > > Ok, that fix looks fine to me.
> > >
> > > I merged this change into "use libxendevicemodel when available" in my
> > > next branch.
> > >
> > > Are you going to take care of getting the QEMU build on ARM to work
> > > against Xen 4.9 (properly detecting 4.9, without
> > > -DXC_WANT_COMPAT_DEVICEMODEL_API=1)?
> > >
> >
> > I can take a look once I get access to some h/w. Since the 4.9 detection
> should merely be based upon the presence of libxendevicemodel, I can't
> really imagine why ARM should behave any differently to x86.
> 
> I managed to find the time to do some debugging. You are right that is
> not anything major. The bug is due to a missing -lxencall in the QEMU
> configure script, I wonder why it works on x86.

Yes, that's weird. libxendevicemodel does depend on libxencall for the case 
when the privcmd driver in dom0 does not support the new DM_OP ioctl, but that 
dependency should be there regardless of architecture.

> 
> diff --git a/configure b/configure
> index 99d6cbc..363a126 100755
> --- a/configure
> +++ b/configure
> @@ -2027,9 +2027,9 @@ int main(void) {
>    return 0;
>  }
>  EOF
> -        compile_prog "" "$xen_libs $xen_stable_libs -lxendevicemodel"
> +        compile_prog "" "$xen_libs $xen_stable_libs -lxendevicemodel -
> lxencall"
>        then
> -      xen_stable_libs="$xen_stable_libs -lxendevicemodel"
> +      xen_stable_libs="$xen_stable_libs -lxendevicemodel -lxencall"
>        xen_ctrl_version=40900
>        xen=yes
>      elif

I think xencall should be part of the base xen_stable_libs anyway.

Cheers,

   Paul



reply via email to

[Prev in Thread] Current Thread [Next in Thread]