[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH raisin 4/4] Update to 4.7, update qemu and qemu_traditional recipes
On 14/06/16 14:53, Anthony PERARD wrote: > On Tue, Jun 14, 2016 at 11:34:43AM +0100, George Dunlap wrote: >> On 14/06/16 11:31, Stefano Stabellini wrote: >>> On Tue, 14 Jun 2016, George Dunlap wrote: >>>> On 14/06/16 11:08, Stefano Stabellini wrote: >>>>> On Tue, 14 Jun 2016, George Dunlap wrote: >>>>>> On 14/06/16 10:46, Stefano Stabellini wrote: >>>>>>> On Mon, 13 Jun 2016, George Dunlap wrote: >>>>>>>> Add a 4.7 config file, make it the default. >>>>>>>> >>>>>>>> Also update the qemu and qemu_traditional recipies after Ian Cambell's >>>>>>>> work to split off separate libraries. >>>>>>>> >>>>>>>> Signed-off-by: George Dunlap <george.dunlap@xxxxxxxxxx> >>>>>>>> --- >>>>>>>> CC: Stefano Stabellini <sstabellini@xxxxxxxxxx> >>>>>>>> --- >>>>>>>> components/qemu | 21 +++++++++++++-------- >>>>>>>> components/qemu_traditional | 2 +- >>>>>>>> configs/config-4.7 | 8 ++++++++ >>>>>>>> defconfig | 2 +- >>>>>>>> 4 files changed, 23 insertions(+), 10 deletions(-) >>>>>>>> >>>>>>>> diff --git a/components/qemu b/components/qemu >>>>>>>> index e0d92a5..8624b50 100644 >>>>>>>> --- a/components/qemu >>>>>>>> +++ b/components/qemu >>>>>>>> @@ -23,15 +23,20 @@ function qemu_build() { >>>>>>>> cd "$BASEDIR" >>>>>>>> git-checkout $QEMU_URL $QEMU_REVISION qemu-dir >>>>>>>> cd qemu-dir >>>>>>>> - ./configure --enable-xen --target-list=i386-softmmu >>>>>>>> --prefix=$PREFIX \ >>>>>>>> - --extra-cflags="-I$INST_DIR/$PREFIX/include" \ >>>>>>>> - --extra-ldflags="-L$INST_DIR/$PREFIX/lib >>>>>>>> -Wl,-rpath-link=$INST_DIR/$PREFIX/lib \ >>>>>>>> + >>>>>>>> + ./configure --enable-xen --target-list=i386-softmmu \ >>>>>>>> + --prefix=$PREFIX \ >>>>>>>> + --extra-cflags="-DXC_WANT_COMPAT_EVTCHN_API=1 \ >>>>>>>> + -DXC_WANT_COMPAT_GNTTAB_API=1 \ >>>>>>>> + -DXC_WANT_COMPAT_MAP_FOREIGN_API=1 \ >>>>>>>> + -I$INST_DIR/$PREFIX/include" \ >>>>>>>> + --extra-ldflags="-L$INST_DIR/$PREFIX/lib >>>>>>>> -Wl,-rpath-link=$INST_DIR/$PREFIX/lib \ >>>>>>>> -L$INST_DIR/$PREFIX/lib64 >>>>>>>> -Wl,-rpath-link=$INST_DIR/$PREFIX/lib64" \ >>>>>>>> - --disable-kvm \ >>>>>>>> - --disable-docs \ >>>>>>>> - --bindir=$PREFIX/lib/xen/bin \ >>>>>>>> - --datadir=$PREFIX/share/qemu-xen \ >>>>>>>> - --disable-guest-agent >>>>>>>> + --bindir=$PREFIX/lib/xen/bin \ >>>>>>>> + --datadir=$PREFIX/share/qemu-xen \ >>>>>>>> + --disable-kvm \ >>>>>>>> + --disable-docs \ >>>>>>>> + --disable-guest-agent >>>>>>> >>>>>>> This is adding XC_WANT_COMPAT_EVTCHN_API=1, etc, unconditionally. If we >>>>>>> make this change, will raisin still be able to buil an older qemu >>>>>>> against an older xen? >>>>>> >>>>>> I've tested this with XEN_RELEASE set to 4.5 and 4.6, and it builds just >>>>>> fine. The #define is just ignored, since neither Xen nor qemu in the >>>>>> 4.5 and 4.6 branches know anything about it. >>>>>> >>>>>> If part of our goal is to be a repository of the canonical way to build >>>>>> things, though, perhaps it would be better to have the extra flags be >>>>>> conditional on the value of XEN_RELEASE. >>>>> >>>>> If we are sure that it's ignored than it might be benign. Maybe we >>>>> should just add an in-code comment to explain why we added it though. >>>> >>>> Well really, I think that the detection should be put into the qemu >>>> configure scripts -- i.e., it should detect that there's the new API and >>>> add the appropriate #defines itself. But that's the sort of change I >>>> don't think there will be a lot of enthusiasm for. :-) >>> >>> Actually there is already code in QEMU configure script for the >>> detection. In fact I was wondering if explicitly passing XC_WANT_* is >>> actually necessary. I don't think it is from QEMU POV. >> >> That code might be in qemu-upstream, but it's not in the qemu-xen trees; >> if you revert this bit of the patch and try to build with raisin it will >> fail. That's why I even bothered to add these in in the first place; >> and why IanC added these runes to tools/Makefile. >> >> Anthony, can you comment more authoritatively here on what's going on? > > Yes, easy, xen-4.7 introduce a new API but qemu-xen-4.7 does not know > about it, so qemu-xen will fail to compile. But there are some magic > flags that are use to provide an compatible API and can qemu-xen > compile. > > QEMU have been taught about the new API and will use it, without the > magic flags. QEMU will actually ignore the magic flags with a bunch of > #undef. So wait, I'm confused. Isn't qemu-xen supposed to be upstream qemu plus a handful of patches on top? Or has there not been a QEMU release since the time the new API? Why on earth are we shipping in 4.7 a qemu that can't use the new API we define in 4.7? >> Would it be possible for 4.7.1 to backport the configure auto-detection >> stuff? > > I think that would be possible. But backporting the use of the new api > will probably be harder. I guess we could just have qemu-xen define the > magic flags itself instead of relying on them been given via a configure > option. Well at this point it's a bit late to import support for the new API into qemu-xen-4.7; but it would be good for 4.7.1 to have qemu-xen's configure set the necessary flags rather than bodging them in via "--extra-cflags" in the Xen makefile. -George _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |