mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
Due to the movement of the arch include directories, we need to adjust where mkbuildtree looks for headers when building the pv drivers. Also add a check for the location of features.c Signed-off-by: Charles Arnold <carnold@novell.com>
101 lines
3.5 KiB
Bash
Executable File
101 lines
3.5 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
if [ $1 ]; then
|
|
uname="$1"
|
|
else
|
|
uname=`uname -m`
|
|
echo "Defaulting to this machine's architecture, $uname, for linking."
|
|
echo "This may be overridden on the command line (i386,x86_64,ia64)."
|
|
fi
|
|
|
|
C=$(cd $(dirname $0) && pwd)
|
|
R=${C%/*/*}
|
|
|
|
if [ -n "$XEN" -a -d "$XEN" ]; then
|
|
XEN=$(cd $XEN && pwd)
|
|
else
|
|
XEN=$R/xen
|
|
fi
|
|
echo "Xen tree: $XEN"
|
|
|
|
if [ -n "$XL" -a -d "$XL" ]; then
|
|
XL=$(cd $XL && pwd)
|
|
else
|
|
XL=$R/linux-2.6.18-xen.hg
|
|
fi
|
|
echo "Linux tree: $XL"
|
|
|
|
cd $C
|
|
|
|
for d in $(find ${XL}/drivers/xen/ -mindepth 1 -maxdepth 1 -type d); do
|
|
test -d $(basename $d) || continue
|
|
lndir $d $(basename $d) > /dev/null 2>&1
|
|
done
|
|
|
|
ln -sf ${XL}/drivers/xen/core/gnttab.c platform-pci
|
|
if [ -f ${XL}/drivers/xen/core/features.c ]; then
|
|
ln -sf ${XL}/drivers/xen/core/features.c platform-pci
|
|
else
|
|
ln -sf ${XL}/drivers/xen/features.c platform-pci
|
|
fi
|
|
ln -sf ${XL}/drivers/xen/core/xen_proc.c xenbus
|
|
ln -sf ${XL}/drivers/xen/core/reboot.c platform-pci
|
|
|
|
mkdir -p include/asm include/xen
|
|
|
|
lndir -silent ${XL}/include/xen include/xen
|
|
ln -nsf ${XEN}/include/public include/xen/interface
|
|
|
|
# Need to be quite careful here: we don't want the files we link in to
|
|
# risk overriding the native Linux ones (in particular, system.h must
|
|
# be native and not xenolinux).
|
|
case "$uname" in
|
|
i[34567]86|x86_64)
|
|
if [ -d ${XL}/arch/x86/include/mach-xen ]; then
|
|
ln -sf ${XL}/arch/x86/include/mach-xen/asm/hypervisor.h include/asm
|
|
ln -sf ${XL}/arch/x86/include/mach-xen/asm/hypercall*.h include/asm
|
|
ln -sf ${XL}/arch/x86/include/mach-xen/asm/synch_bitops*.h include/asm
|
|
ln -sf ${XL}/arch/x86/include/mach-xen/asm/maddr*.h include/asm
|
|
ln -sf ${XL}/arch/x86/include/mach-xen/asm/gnttab_dma.h include/asm
|
|
ln -sf ${XL}/arch/x86/lib/scrub.c balloon
|
|
elif [ -d ${XL}/include/asm-x86 ]; then
|
|
ln -sf ${XL}/include/asm-x86/mach-xen/asm/hypervisor.h include/asm
|
|
ln -sf ${XL}/include/asm-x86/mach-xen/asm/hypercall*.h include/asm
|
|
ln -sf ${XL}/include/asm-x86/mach-xen/asm/synch_bitops*.h include/asm
|
|
ln -sf ${XL}/include/asm-x86/mach-xen/asm/maddr*.h include/asm
|
|
ln -sf ${XL}/include/asm-x86/mach-xen/asm/gnttab_dma.h include/asm
|
|
ln -sf ${XL}/arch/x86/lib/scrub.c balloon
|
|
else
|
|
if [ $uname = x86_64 ]; then
|
|
mkdir -p include/asm-i386
|
|
lndir -silent ${XL}/include/asm-i386 include/asm-i386
|
|
else
|
|
uname=i386
|
|
fi
|
|
ln -sf ${XL}/include/asm-$uname/mach-xen/asm/hypervisor.h include/asm
|
|
ln -sf ${XL}/include/asm-$uname/mach-xen/asm/hypercall.h include/asm
|
|
ln -sf ${XL}/include/asm-$uname/mach-xen/asm/synch_bitops.h include/asm
|
|
ln -sf ${XL}/include/asm-$uname/mach-xen/asm/maddr.h include/asm
|
|
ln -sf ${XL}/include/asm-$uname/mach-xen/asm/gnttab_dma.h include/asm
|
|
fi
|
|
;;
|
|
"ia64")
|
|
ln -sf ${XL}/include/asm-ia64/hypervisor.h include/asm
|
|
ln -sf ${XL}/include/asm-ia64/hypercall.h include/asm
|
|
ln -sf ${XL}/include/asm-ia64/synch_bitops.h include/asm
|
|
ln -sf ${XL}/include/asm-ia64/maddr.h include/asm
|
|
ln -sf ${XL}/include/asm-ia64/gnttab_dma.h include/asm
|
|
mkdir -p include/asm/xen
|
|
ln -sf ${XL}/include/asm-ia64/xen/xcom_hcall.h include/asm/xen
|
|
ln -sf ${XL}/include/asm-ia64/xen/xencomm.h include/asm/xen
|
|
ln -sf ${XL}/arch/ia64/xen/xcom_hcall.c platform-pci/
|
|
ln -sf ${XL}/arch/ia64/xen/xcom_asm.S platform-pci/
|
|
ln -sf ${XL}/arch/ia64/xen/xencomm.c platform-pci/xencomm_arch.c
|
|
ln -sf ${XL}/drivers/xen/core/xencomm.c platform-pci
|
|
;;
|
|
*)
|
|
echo unknown architecture $uname
|
|
exit 1
|
|
;;
|
|
esac
|