]> git.lizzy.rs Git - plan9front.git/blob - sys/src/9/xen/mkfile
ether8169: support rtl8402 variant
[plan9front.git] / sys / src / 9 / xen / mkfile
1 CONF=xenpcf
2 CONFLIST=xenpcf
3
4 objtype=386
5 </$objtype/mkfile
6 p=9
7
8 KTZERO=0x80010000
9 KZERO=0x80000000
10 KPZERO=0x10000
11 PAE=yes
12
13 DEVS=`{rc ../port/mkdevlist $CONF}
14
15 PORT=\
16         alarm.$O\
17         alloc.$O\
18         allocb.$O\
19         auth.$O\
20         cache.$O\
21         chan.$O\
22         dev.$O\
23         edf.$O\
24         fault.$O\
25         iomap.$O\
26         page.$O\
27         parse.$O\
28         pgrp.$O\
29         portclock.$O\
30         print.$O\
31         proc.$O\
32         qio.$O\
33         qlock.$O\
34         rebootcmd.$O\
35         segment.$O\
36         sysfile.$O\
37         sysproc.$O\
38         taslock.$O\
39         tod.$O\
40         xalloc.$O\
41         userinit.$O\
42
43 XEN=\
44         xengrant.$O\
45         xentimer.$O\
46         xensystem.$O\
47
48 SCHED=`{ls -p xen-public/sched*.h >[2]/dev/null}
49 ARCH=`{test -d xen-public/arch-x86 && echo arch-x86/xen-x86_32.h arch-x86/xen.h || echo arch-x86_32.h }
50
51 XENHEADERS=\
52         $ARCH\
53         xen.h\
54         event_channel.h\
55         grant_table.h\
56         memory.h\
57         physdev.h\
58         $SCHED\
59         io/ring.h\
60         io/blkif.h\
61         io/console.h\
62         io/netif.h\
63         io/xenbus.h\
64         io/xs_wire.h\
65
66 OBJ=\
67         l.$O\
68         plan9l.$O\
69         xen.$O\
70         main.$O\
71         fpu.$O\
72         mmu.$O\
73         random.$O\
74         rdb.$O\
75         irq.$O\
76         trap.$O\
77         $CONF.root.$O\
78         $CONF.rootc.$O\
79         $DEVS\
80         $PORT\
81         $XEN\
82
83 LIB=\
84         /$objtype/lib/libmemlayer.a\
85         /$objtype/lib/libmemdraw.a\
86         /$objtype/lib/libdraw.a\
87         /$objtype/lib/libip.a\
88         /$objtype/lib/libsec.a\
89         /$objtype/lib/libmp.a\
90         /$objtype/lib/libc.a\
91
92 ETHER=`{echo devether.c ether*.c | sed 's/\.c/.'$O'/g'}
93 VGA=`{echo devvga.c screen.c vga*.c | sed 's/\.c/.'$O'/g'}
94 SDEV=`{echo devsd.c sd*.c | sed 's/\.c/.'$O'/g'}
95
96 PAE=`{echo $PAE | sed 's/yes/yes[extended-cr3]/'}
97 XENELF='LOADER=generic,XEN_VER=xen-3.0,ELF_PADDR_OFFSET=0,VIRT_BASE='$KZERO',VIRT_ENTRY='$KTZERO',PAE='$PAE
98
99 $p$CONF:D:      $p$CONF.elf xenelf.$cputype
100         ./xenelf.$cputype $prereq(1) $target __xen_guest ''$XENELF''
101         size $target
102
103 $p$CONF.elf:D:  $OBJ $CONF.$O $LIB
104         $LD -o $target -H5 -T$KTZERO -P$KPZERO -l $prereq
105
106 $p$CONF.gz: $p$CONF
107         #strip -o /fd/1 $p$CONF | gzip -9 > $p$CONF.gz
108         gzip -9 $p$CONF > $p$CONF.gz
109
110 install:V: $p$CONF $p$CONF.gz
111         cp $p$CONF $p$CONF.gz /$objtype/
112         # import lookout / /n/lookout && cp $p$CONF $p$CONF.gz /n/lookout/$objtype/
113
114 # copies generated by the rule below
115 PCHEADERS=uncached.h ethermii.h mp.h io.h
116
117 REPCH=`{echo $PCHEADERS | sed 's/\.h//g; s/ /|/g'}
118 ^($REPCH)\.h:R: '../pc/\1.h'
119         cp $prereq .
120
121 REPCC=`{../port/mkfilelist ../pc}
122 ^($REPCC)\.$O:R:        '../pc/\1.c'
123         $CC $CFLAGS -I. -. ../pc/$stem1.c
124
125 <../boot/bootmkfile
126 <../port/portmkfile
127 <|../port/mkbootrules $CONF
128
129 # we inherited these.. revisit.
130 $ETHER:         ../port/etherif.h ../port/netif.h
131 $SDEV:  ../port/sd.h
132 main.$O:                rebootcode.i
133 main.$O trap.$O:        /sys/include/tos.h
134
135 %.$O:   /$objtype/include/u.h ../port/lib.h mem.h dat.h fns.h io.h ../port/error.h ../port/portdat.h ../port/portfns.h xendat.h xendefs.h
136
137 xendefs.h: xendat.h
138         grep '^#define[         ]+FLAT_' xendat.h >$target
139
140 xendat.h:
141         { echo '#define __i386__ __i386__'; \
142           echo '#define __XEN_INTERFACE_VERSION__ 0x00030201'; \
143           echo '#define XEN_GUEST_HANDLE_00030205(type) type *'; \
144           cat xen-public/^($XENHEADERS) } | \
145         ./cppx > $target
146
147 initcode.out:           init9.$O initcode.$O /$objtype/lib/libc.a
148         $LD -l -R1 -s -o $target $prereq
149
150 rebootcode.$O:  ../pc/rebootcode.s mem.h
151         $AS ../pc/rebootcode.s
152
153 rebootcode.out:         rebootcode.$O
154         $LD -l -R4 -s -o $target -T0x1000 -H3 $prereq
155
156 acid:V:
157         $CC -a -w main.c>acid
158
159 dpart: dpart.$O
160         $LD -o dpart dpart.$O
161
162 xenstore: xenstore.$O
163         $LD -o xenstore xenstore.$O
164
165 xenbin.$cputype xenelf.$cputype:        utilmkfile
166         mk -f utilmkfile $target
167
168 %.clean:V:
169         rm -f $stem.c [9bz]$stem [9bz]$stem.gz 9$stem.elf boot$stem.* xendat.h xendefs.h $PCHEADERS dpart xenbin.$cputype xenelf.$cputype xenstore
170
171