aboutsummaryrefslogtreecommitdiffstats
path: root/netbsd-2.0-xen-sparse
diff options
context:
space:
mode:
authorcl349@labyrinth.cl.cam.ac.uk <cl349@labyrinth.cl.cam.ac.uk>2004-09-06 18:52:41 +0000
committercl349@labyrinth.cl.cam.ac.uk <cl349@labyrinth.cl.cam.ac.uk>2004-09-06 18:52:41 +0000
commit2a632d88f77c98ce72f4ead7c372f74a3fb840a8 (patch)
treee74d6588617e9b67e54e8ce9b461092911266d56 /netbsd-2.0-xen-sparse
parent82239e3ad01d83ea386780d2107d4a2cef050631 (diff)
downloadxen-2a632d88f77c98ce72f4ead7c372f74a3fb840a8.tar.gz
xen-2a632d88f77c98ce72f4ead7c372f74a3fb840a8.tar.bz2
xen-2a632d88f77c98ce72f4ead7c372f74a3fb840a8.zip
bitkeeper revision 1.1159.72.1 (413cb1f9MtRHM7cQFiJRcJ1gYUPxdw)
Add NetBSD support.
Diffstat (limited to 'netbsd-2.0-xen-sparse')
-rw-r--r--netbsd-2.0-xen-sparse/Makefile20
-rwxr-xr-xnetbsd-2.0-xen-sparse/mkbuildtree114
-rwxr-xr-xnetbsd-2.0-xen-sparse/nbconfig-xen20
-rwxr-xr-xnetbsd-2.0-xen-sparse/nbmake-xen26
4 files changed, 180 insertions, 0 deletions
diff --git a/netbsd-2.0-xen-sparse/Makefile b/netbsd-2.0-xen-sparse/Makefile
new file mode 100644
index 0000000000..def3b4427e
--- /dev/null
+++ b/netbsd-2.0-xen-sparse/Makefile
@@ -0,0 +1,20 @@
+#
+#
+#
+
+.PHONY: config netbsd
+
+TOPDIR ?= $(shell pwd)
+NETBSD_RELEASE ?= $(patsubst netbsd-%-xen%,%,$(notdir $(TOPDIR)))
+NETBSD_VER ?= $(patsubst netbsd-%-xen%,%,$(notdir $(TOPDIR)))
+
+config:
+ @mkdir -p compile/XEN
+ cd compile/XEN && TOPDIR=$(TOPDIR) NETBSD_VER=$(NETBSD_VER) ../../nbconfig-xen XEN
+
+netbsd:
+ cd compile/XEN && TOPDIR=$(TOPDIR) NETBSD_VER=$(NETBSD_VER) ../../nbmake-xen dependall
+
+install:
+ @mkdir -p $(dir $(INSTALL_PATH)/$(INSTALL_NAME))
+ install -c compile/XEN/netbsd $(INSTALL_PATH)/$(INSTALL_NAME)
diff --git a/netbsd-2.0-xen-sparse/mkbuildtree b/netbsd-2.0-xen-sparse/mkbuildtree
new file mode 100755
index 0000000000..2db906080a
--- /dev/null
+++ b/netbsd-2.0-xen-sparse/mkbuildtree
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+# mkbuildtree <build tree>
+#
+# Creates symbolic links in <build tree> for the sparse tree
+# in the current directory.
+
+# Script to determine the relative path between two directories.
+# Copyright (c) D. J. Hawkey Jr. 2002
+# Fixed for Xen project by K. Fraser in 2003.
+abs_to_rel ()
+{
+ local CWD SRCPATH
+
+ if [ "$1" != "/" -a "${1##*[^/]}" = "/" ]; then
+ SRCPATH=${1%?}
+ else
+ SRCPATH=$1
+ fi
+ if [ "$2" != "/" -a "${2##*[^/]}" = "/" ]; then
+ DESTPATH=${2%?}
+ else
+ DESTPATH=$2
+ fi
+
+ CWD=$PWD
+ [ "${1%%[^/]*}" != "/" ] && cd $1 && SRCPATH=$PWD
+ [ "${2%%[^/]*}" != "/" ] && cd $2 && DESTPATH=$PWD
+ [ "$CWD" != "$PWD" ] && cd $CWD
+
+ BASEPATH=$SRCPATH
+
+ [ "$SRCPATH" = "$DESTPATH" ] && DESTPATH="." && return
+ [ "$SRCPATH" = "/" ] && DESTPATH=${DESTPATH#?} && return
+
+ while [ "$BASEPATH/" != "${DESTPATH%${DESTPATH#$BASEPATH/}}" ]; do
+ BASEPATH=${BASEPATH%/*}
+ done
+
+ SRCPATH=${SRCPATH#$BASEPATH}
+ DESTPATH=${DESTPATH#$BASEPATH}
+ DESTPATH=${DESTPATH#?}
+ while [ -n "$SRCPATH" ]; do
+ SRCPATH=${SRCPATH%/*}
+ DESTPATH="../$DESTPATH"
+ done
+
+ [ -z "$BASEPATH" ] && BASEPATH="/"
+ [ "${DESTPATH##*[^/]}" = "/" ] && DESTPATH=${DESTPATH%?}
+}
+
+# relative_lndir <target_dir>
+# Creates a tree of symlinks in the current working directory that mirror
+# real files in <target_dir>. <target_dir> should be relative to the current
+# working directory. Symlinks in <target_dir> are ignored. Source-control files
+# are ignored.
+relative_lndir ()
+{
+ local SYMLINK_DIR REAL_DIR pref i j
+ SYMLINK_DIR=$PWD
+ REAL_DIR=$1
+ (
+ cd $REAL_DIR
+ for i in `find . -type d | grep -v SCCS`; do
+ [ -d $SYMLINK_DIR/$i ] || mkdir -p $SYMLINK_DIR/$i
+ (
+ cd $i
+ pref=`echo $i | sed -e 's#/[^/]*#../#g' -e 's#^\.##'`
+ for j in `find . -type f -o -type l -maxdepth 1`; do
+ ln -sf ${pref}${REAL_DIR}/$i/$j ${SYMLINK_DIR}/$i/$j
+ done
+ )
+ done
+ )
+}
+
+[ "$1" == "" ] && { echo "Syntax: $0 <linux tree to xenify>"; exit 1; }
+
+# Get absolute path to the destination directory
+pushd . >/dev/null
+cd ${1}
+AD=$PWD
+popd >/dev/null
+
+# Get absolute path to the source directory
+AS=`pwd`
+
+# Get path to source, relative to destination
+abs_to_rel ${AD} ${AS}
+RS=$DESTPATH
+
+# Remove old copies of files and directories at the destination
+for i in `find . -type f -o -type l` ; do rm -f ${AD}/${i#./} ; done
+
+# We now work from the destination directory
+cd ${AD}
+
+# Remove old symlinks
+for i in `find . -type l`; do rm -f $i; done
+
+# Create symlinks of files and directories which exist in the sparse source
+relative_lndir ${RS}
+rm -f mkbuildtree
+
+
+# Create links to the shared definitions of the hypervisor interface
+rm -rf ${AD}/sys/arch/xen/include/hypervisor-ifs
+mkdir ${AD}/sys/arch/xen/include/hypervisor-ifs
+cd ${AD}/sys/arch/xen/include/hypervisor-ifs
+relative_lndir ../../../../../${RS}/../xen/include/hypervisor-ifs
+
+# Remove files which don't exist anymore
+rm -rf ${AD}/sys/arch/xen/xen/events.c
+rm -rf ${AD}/sys/arch/xen/include/events.h
diff --git a/netbsd-2.0-xen-sparse/nbconfig-xen b/netbsd-2.0-xen-sparse/nbconfig-xen
new file mode 100755
index 0000000000..38a485c6a4
--- /dev/null
+++ b/netbsd-2.0-xen-sparse/nbconfig-xen
@@ -0,0 +1,20 @@
+#! /bin/sh
+#
+
+: ${HOS:=$(uname -s | tr /A-Z/ /a-z/)}
+: ${HARCH:=$(uname -i)}
+: ${NETBSD_RELEASE:=$(basename $(cd $(dirname $0) && pwd) | sed 's/netbsd-\([0-9]\+\.[0-9]\+\).*/\1/')}
+: ${NETBSD_VERSION:=$(basename $(cd $(dirname $0) && pwd) | sed 's/netbsd-\([0-9]\+\.[0-9]\+.*\)-xen.*/\1/')}
+
+TOOLDIR="$TOPDIR/../netbsd-${NETBSD_RELEASE}-tools/$HOS-$HARCH"; export TOOLDIR
+
+CONF="$1"
+case "$1" in
+ /*)
+ CONF="$1"
+ ;;
+ *)
+ CONF="$TOPDIR"/sys/arch/xen/conf/"$1"
+ ;;
+esac
+exec "${TOOLDIR}/bin/nbconfig" -b $(pwd) -s "$TOPDIR"/sys "$CONF"
diff --git a/netbsd-2.0-xen-sparse/nbmake-xen b/netbsd-2.0-xen-sparse/nbmake-xen
new file mode 100755
index 0000000000..7e2178f01e
--- /dev/null
+++ b/netbsd-2.0-xen-sparse/nbmake-xen
@@ -0,0 +1,26 @@
+#! /bin/sh
+# Set proper variables to allow easy "make" building of a NetBSD subtree.
+# Generated from: $NetBSD: build.sh,v 1.126 2004/02/04 11:23:40 lukem Exp $
+#
+
+: ${HOS:=$(uname -s | tr /A-Z/ /a-z/)}
+: ${HARCH:=$(uname -i)}
+: ${NETBSD_RELEASE:=$(basename $(cd $(dirname $0) && pwd) | sed 's/netbsd-\([0-9]\+\.[0-9]\+\).*/\1/')}
+: ${NETBSD_VERSION:=$(basename $(cd $(dirname $0) && pwd) | sed 's/netbsd-\([0-9]\+\.[0-9]\+.*\)-xen.*/\1/')}
+
+NETBSDSRCDIR="$TOPDIR"; export NETBSDSRCDIR
+DESTDIR="$TOPDIR/root"; export DESTDIR
+unset MAKEOBJDIRPREFIX
+MAKEOBJDIR='${.CURDIR:C,^'"$TOPDIR,$TOPDIR/obj,}"; export MAKEOBJDIR
+RELEASEDIR="$TOPDIR/release"; export RELEASEDIR
+MKUNPRIVED='yes'; export MKUNPRIVED
+MAKEVERBOSE='1'; export MAKEVERBOSE
+LC_ALL='C'; export LC_ALL
+TOOLDIR="$TOPDIR/../netbsd-${NETBSD_RELEASE}-tools/$HOS-$HARCH"; export TOOLDIR
+MACHINE='i386'; export MACHINE
+MACHINE_ARCH='i386'; export MACHINE_ARCH
+MAKEFLAGS="-de -m $TOPDIR/share/mk MKOBJDIRS=yes"; export MAKEFLAGS
+BUILDID="${NETBSD_RELEASE}"; export BUILDID
+USETOOLS=yes; export USETOOLS
+
+exec "${TOOLDIR}/bin/nbmake" ${1+"$@"}