1 | #! /bin/sh |
---|
2 | |
---|
3 | if [ $1 ]; then |
---|
4 | uname="$1" |
---|
5 | else |
---|
6 | uname=`uname -m` |
---|
7 | echo "Defaulting to this machine's architecture, $uname, for linking." |
---|
8 | echo "This may be overridden on the command line (i386,x86_64,ia64)." |
---|
9 | fi |
---|
10 | |
---|
11 | C=$PWD |
---|
12 | |
---|
13 | XEN=$C/../../xen |
---|
14 | XL=$C/../../linux-2.6-xen-sparse |
---|
15 | |
---|
16 | for d in $(find ${XL}/drivers/xen/ -maxdepth 1 -type d | sed -e 1d); do |
---|
17 | if ! echo $d | egrep -q back; then |
---|
18 | lndir $d $(basename $d) > /dev/null 2>&1 |
---|
19 | fi |
---|
20 | if ! echo $d | egrep -q ball; then |
---|
21 | lndir $d $(basename $d) > /dev/null 2>&1 |
---|
22 | fi |
---|
23 | done |
---|
24 | |
---|
25 | ln -sf ${XL}/drivers/xen/core/gnttab.c platform-pci |
---|
26 | ln -sf ${XL}/drivers/xen/core/features.c platform-pci |
---|
27 | ln -sf ${XL}/drivers/xen/core/xen_proc.c xenbus |
---|
28 | ln -sf ${XL}/drivers/xen/core/reboot.c platform-pci |
---|
29 | |
---|
30 | mkdir -p include/asm include/xen |
---|
31 | |
---|
32 | lndir -silent ${XL}/include/xen include/xen |
---|
33 | ln -nsf ${XEN}/include/public include/xen/interface |
---|
34 | |
---|
35 | # Need to be quite careful here: we don't want the files we link in to |
---|
36 | # risk overriding the native Linux ones (in particular, system.h must |
---|
37 | # be native and not xenolinux). |
---|
38 | case "$uname" |
---|
39 | in |
---|
40 | "x86_64") |
---|
41 | ln -sf ${XL}/include/asm-x86_64/mach-xen/asm/hypervisor.h include/asm |
---|
42 | ln -sf ${XL}/include/asm-x86_64/mach-xen/asm/hypercall.h include/asm |
---|
43 | ln -sf ${XL}/include/asm-x86_64/mach-xen/asm/synch_bitops.h include/asm |
---|
44 | ln -sf ${XL}/include/asm-x86_64/mach-xen/asm/maddr.h include/asm |
---|
45 | mkdir include/asm-i386 |
---|
46 | lndir -silent ${XL}/include/asm-i386 include/asm-i386 |
---|
47 | ;; |
---|
48 | i[34567]86) |
---|
49 | ln -sf ${XL}/include/asm-i386/mach-xen/asm/hypervisor.h include/asm |
---|
50 | ln -sf ${XL}/include/asm-i386/mach-xen/asm/hypercall.h include/asm |
---|
51 | ln -sf ${XL}/include/asm-i386/mach-xen/asm/synch_bitops.h include/asm |
---|
52 | ln -sf ${XL}/include/asm-i386/mach-xen/asm/maddr.h include/asm |
---|
53 | ;; |
---|
54 | "ia64") |
---|
55 | ln -sf ${XL}/include/asm-ia64/hypervisor.h include/asm |
---|
56 | ln -sf ${XL}/include/asm-ia64/hypercall.h include/asm |
---|
57 | ln -sf ${XL}/include/asm-ia64/synch_bitops.h include/asm |
---|
58 | ln -sf ${XL}/include/asm-ia64/maddr.h include/asm |
---|
59 | mkdir include/asm/xen |
---|
60 | ln -sf ${XL}/include/asm-ia64/xen/xcom_hcall.h include/asm/xen |
---|
61 | ln -sf ${XL}/include/asm-ia64/xen/xencomm.h include/asm/xen |
---|
62 | ln -sf ${XL}/arch/ia64/xen/xcom_mini.c platform-pci |
---|
63 | ln -sf ${XL}/arch/ia64/xen/xencomm.c platform-pci |
---|
64 | ;; |
---|
65 | *) |
---|
66 | echo unknown architecture $uname |
---|
67 | exit 1 |
---|
68 | ;; |
---|
69 | esac |
---|