}
function qemu_build() {
+ local QEMU_EXTRA_CFLAGS
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 \
- -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
+
+ QEMU_EXTRA_CFLAGS="-I$INST_DIR/$PREFIX/include"
+
+ if [[ "$XEN_RELEASE" == "4.7" || "$XEN_RELEASE" == "master" ]] ; then
+ # qemu-xen released with 4.7.0 doesn't use the new libxc api,
+ # nor does it know how to ask for the compat api, so we need
+ # to tell it to do so manually.
+ QEMU_EXTRA_CFLAGS="$QEMU_EXTRA_CFLAGS -DXC_WANT_COMPAT_EVTCHN_API=1 \
+ -DXC_WANT_COMPAT_GNTTAB_API=1 \
+ -DXC_WANT_COMPAT_MAP_FOREIGN_API=1"
+ fi
+
+ ./configure --enable-xen --target-list=i386-softmmu \
+ --prefix=$PREFIX \
+ --extra-cflags="$QEMU_EXTRA_CFLAGS" \
+ --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" \
+ --bindir=$PREFIX/lib/xen/bin \
+ --datadir=$PREFIX/share/qemu-xen \
+ --disable-kvm \
+ --disable-docs \
+ --disable-guest-agent
$RAISIN_MAKE all
$RAISIN_MAKE install DESTDIR="$INST_DIR"
cd "$BASEDIR"
--- /dev/null
+XEN_REVISION="origin/stable-4.7"
+QEMU_REVISION="origin/stable-4.7"
+QEMU_TRADITIONAL_REVISION="origin/stable-4.7"
+SEABIOS_REVISION="rel-1.9.2"
+GRUB_REVISION="master"
+LIBVIRT_REVISION="origin/v1.3.3-maint"
+OVMF_REVISION="52a99493cce88a9d4ec8a02d7f1bd1a1001ce60d"
+LINUX_REVISION="master"
# Setup a Xen based system.
# Available options: 4.5, 4.6, master (for development branch)
-XEN_RELEASE="4.6"
+XEN_RELEASE="4.7"
# Components
## All components: seabios ovmf xen qemu qemu_traditional grub libvirt linux