From 97e8f14b87c39052aeaf017b7e5aef1e329486a0 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Mon, 9 Jul 2007 11:29:39 +0100 Subject: Add hooks for a script to update kernel configuration after tree has been prepared. This is to support upstream sources which do not enable Xen in their default configurations. Signed-off-by: Ian Campbell --- buildconfigs/enable-xen-config | 36 ++++++++++++++++++++++++++++++++++++ buildconfigs/mk.linux-2.6-paravirt | 4 +++- buildconfigs/mk.linux-2.6-xen | 4 ++++ 3 files changed, 43 insertions(+), 1 deletion(-) create mode 100644 buildconfigs/enable-xen-config (limited to 'buildconfigs') diff --git a/buildconfigs/enable-xen-config b/buildconfigs/enable-xen-config new file mode 100644 index 0000000000..b427a12d90 --- /dev/null +++ b/buildconfigs/enable-xen-config @@ -0,0 +1,36 @@ +#!/bin/sh + +set -ex + +if [ $# -ne 1 ] ; then + echo "Usage $(basename $0) " 1>&2 + exit 1 +fi + +CONFIG=$1 + +setopt() +{ + OPTION=$1 + VALUE=$2 + + # First remove any existing instances of this option + sed -e "s/^# ${OPTION} is not set$//g ; s/^^{OPTION}=.$//g" -i "${CONFIG}" + + # Then append the new value + case ${VALUE} in + y|m) echo "${OPTION}=${VALUE}" >> "${CONFIG}" ;; + n) echo "# ${OPTION} is not set" >> "${CONFIG}" ;; + *) echo "Invalid value ${VALUE} for ${OPTION}" 1>&2 ; exit 1 ;; + esac +} + +setopt CONFIG_PARAVIRT y +setopt CONFIG_XEN y +setopt CONFIG_VMI y +setopt CONFIG_LGUEST n +setopt CONFIG_XEN_BLKDEV_FRONTEND y +setopt CONFIG_XEN_NETDEV_FRONTEND y +setopt CONFIG_HVC_XEN y + +exit 0 diff --git a/buildconfigs/mk.linux-2.6-paravirt b/buildconfigs/mk.linux-2.6-paravirt index 4ff8d7b99b..a48da17600 100644 --- a/buildconfigs/mk.linux-2.6-paravirt +++ b/buildconfigs/mk.linux-2.6-paravirt @@ -8,6 +8,8 @@ IMAGE_TARGET ?= vmlinux bzImage XEN_LINUX_ALLOW_INTERFACE_MISMATCH := y -EXTRAVERSION ?= +XEN_LINUX_CONFIG_UPDATE := buildconfigs/enable-xen-config + +EXTRAVERSION ?= -paravirt include buildconfigs/mk.linux-2.6-xen diff --git a/buildconfigs/mk.linux-2.6-xen b/buildconfigs/mk.linux-2.6-xen index a0c6916349..4fd195b397 100644 --- a/buildconfigs/mk.linux-2.6-xen +++ b/buildconfigs/mk.linux-2.6-xen @@ -74,6 +74,10 @@ $(LINUX_DIR)/include/linux/autoconf.h: $(LINUX_SRCDIR)/.valid-src else \ echo "No configuration method found for this kernel" ; \ fi +ifneq ($(XEN_LINUX_CONFIG_UPDATE),) + echo "Updating $(CONFIG_FILE) using $(XEN_LINUX_CONFIG_UPDATE)" + sh $(XEN_LINUX_CONFIG_UPDATE) $(CONFIG_FILE) +endif ifeq ($(XEN_TARGET_ARCH),x86_32) ifeq ($(pae),y) sed -e 's!^CONFIG_HIGHMEM4G=y$$!\# CONFIG_HIGHMEM4G is not set!;s!^\# CONFIG_HIGHMEM64G is not set$$!CONFIG_HIGHMEM64G=y!' $(CONFIG_FILE) > $(CONFIG_FILE)- && mv $(CONFIG_FILE)- $(CONFIG_FILE) -- cgit v1.2.3