1# $NetBSD: MAKEDEV.conf,v 1.21 2024/04/27 14:42:21 tsutsui Exp $
2
3all_md)
4	makedev mt0 mt1 ts0 ts1 st0 st1 uk0 ss0 cd0 vt0
5	makedev ra0 ra1 ra2 ra3 hp0 hp1 hp2 hp3 sd0 sd1 sd2 sd3 rd0 rd1 rd2
6	makedev dz0 dl0 dhu0 racd0 racd1 rx0 rx1
7	makedev scsibus0 scsibus1 scsibus2 scsibus3
8	makedev ses0 ses1 ses2 ses3
9	makedev audio speaker
10	makedev usbs
11	makedev std_vax
12	makedev wscons
13	;;
14
15ramdisk)
16	makedev std bpf md0 ipty mt0 st0 rd0 rd1 dz0 dl0 dhu0
17	makedev rx0 ra0 ra1 ra2 ra3 hp0 hp1
18	makedev sd0 sd1 sd2
19	makedev cd0 cd1 racd0 racd1
20	;;
21
22std_vax)
23	mkdev ttyg0		c 25 0
24	mkdev ttyg1		c 25 1
25	mkdev ttyg2		c 25 2
26	mkdev ttyg3		c 25 3
27	mkdev floppy		c 8 0
28	mkdev crl		c 35 0
29	mkdev csa1		c 51 0
30	mkdev csa2		c 51 1
31	mkdev tu0		b 8 0
32	mkdev tu1		b 8 1
33	mkdev kUmem		c 3 3
34	mkdev leds		c 3 13	666
35	;;
36
37ht[0-9]*|tm[0-9]*|mt[0-9]*|ts[0-9]*|ut[0-9]*)
38	case $i in
39	ht*) name=ht;	unit=${i#ht};	blk=1; chr=5 ;;
40	mt*) name=mt;	unit=${i#mt};	blk=15;	chr=38;;
41	tm*) name=tm;	unit=${i#tm};	blk=5; chr=14;;
42	ts*) name=ts;	unit=${i#ts};	blk=6; chr=16;;
43	ut*) name=ut;	unit=${i#ut};	blk=10; chr=17;;
44	esac
45	case $unit in
46	[0-7])
47		four=$(($unit + 4)) ; eight=$(($unit + 8))
48		twelve=$(($unit + 12)) ; twenty=$(($unit + 20))
49		mkdev $name$unit	b $blk $unit	660 $g_operator
50		mkdev $name$four	b $blk $four	660 $g_operator
51		mkdev $name$eight	b $blk $eight	660 $g_operator
52		mkdev $name$twelve	b $blk $twelve	660 $g_operator
53			# next 4 are for sanity with pdp11 v7
54		mkdev n$name$unit	b $blk $four	660 $g_operator
55		mkdev n$name$eight	b $blk $twelve	660 $g_operator
56		mkdev nr$name$unit	c $chr $four	660 $g_operator
57		mkdev nr$name$eight	c $chr $twelve	660 $g_operator
58		mkdev r$name$unit	c $chr $unit	660 $g_operator
59		mkdev r$name$four	c $chr $four	660 $g_operator
60		mkdev r$name$eight	c $chr $eight	660 $g_operator
61		mkdev r$name$twelve	c $chr $twelve	660 $g_operator
62		if [ $i = ut ]; then
63			mkdev $name$twenty	b $blk $twenty	660 $g_operator
64			mkdev r$name$twenty	c $chr $twenty	660 $g_operator
65		fi
66		;;
67	*)
68		warn "bad unit for tape in: $1"
69		;;
70	esac
71	;;
72
73hp[0-9]*|hk[0-9]*|up[0-9]*|ra[0-9]*|racd[0-9]*|rl[0-9]*|rb[0-9]*|rd[0-9]*|rx[0-9]*)
74	case $i in
75	hp*) name=hp;	unit=${i#hp};	blk=0; chr=4;;
76	hk*) name=hk;	unit=${i#hk};	blk=3; chr=11;;
77	up*) name=up;	unit=${i#up};	blk=2; chr=13;;
78	racd*) name=racd; unit=${i#racd}; blk=28; chr=28;; # before ra*
79	ra*) name=ra;	unit=${i#ra};	blk=9;	chr=9;;
80	rb*) name=rb;	unit=${i#rb};	blk=11; chr=23;;
81	rx*) name=rx;	unit=${i#rx};	blk=12; chr=30;;
82	rl*) name=rl;	unit=${i#rl};	blk=14; chr=32;;
83	rd*) name=rd;	unit=${i#rd};	blk=19; chr=58;;
84	esac
85	%MKDISK% $name $unit $blk $chr
86	;;
87
88uu[0-9]*)
89	unit=${i#uu}
90	name=uu; blk=13
91	case $unit in
92	[0-3])
93		mkdev ${name}${unit}	b $blk $(($unit * 2 + 0))
94		mkdev ${name}${unit}a	b $blk $(($unit * 2 + 1))
95		;;
96	*)
97		warn "bad unit for uu in: $i"
98		;;
99	esac
100	;;
101
102dz[0-9]*)
103	unit=${i#dz}
104	case $unit in
105	[0-7])
106		i=0
107		while [ $i -lt 8 ]
108		do
109			oi=$(($unit * 8 + $i))
110			zoi=00$oi
111			zoi=${zoi#${zoi%??}}
112			mkdev tty$zoi c 1 $oi
113			i=$(($i + 1))
114		done
115		;;
116	*)
117		warn "bad unit for dz in: $i"
118		;;
119	esac
120	;;
121
122dhu[0-9]*|dh[0-9]*|dmf[0-9]*|dmz[0-9]*|vt[0-9]*)
123	case $i in
124	vt*)	name=vt; major=68; count=8
125		unit=${i#vt}
126		case $unit in
127		0) ch=w ;;
128		*) warn "bad unit for $name in: $i" ;;
129		esac
130		;;
131	dmz*)	name=dmz; major=37; count=24
132		warn "$i is not integrated yet"
133#		unit=${i#dmz}
134#		case $unit in
135#		0) ch=a ;;
136#		1) ch=b ;;
137#		2) ch=c ;;
138#		3) ch=e ;;
139#		4) ch=f ;;
140#		*) warn "bad unit for $name in: $i" ;;
141#		esac
142		;;
143	dmf*)	name=dmf; major=22; count=8
144		warn "$i is not integrated yet"
145##		XXX:
146##		 tty[EFGH]? have already been used by MI wscons so
147##		 new tty node names should be assigned once dmf(4) is committed
148#		unit=${i#dmf}
149#		case $unit in
150#		0) ch=A ;;
151#		1) ch=B ;;
152#		2) ch=C ;;
153#		3) ch=E ;;
154#		4) ch=F ;;
155#		5) ch=G ;;
156#		6) ch=H ;;
157#		7) ch=I ;;
158#		*) warn "bad unit for $name in: $i" ;;
159#		esac
160		;;
161	dhu*)	name=dhu; major=34; count=16
162		unit=${i#dhu}
163		case $unit in
164		0) ch=S ;;
165		1) ch=T ;;
166		2) ch=U ;;
167		3) ch=V ;;
168		4) ch=W ;;
169		5) ch=X ;;
170		6) ch=Y ;;
171		7) ch=Z ;;
172		*) warn "bad unit for $name in: $i" ;;
173		esac
174		;;
175	dh*)	name=dh; major=12; count=16
176		unit=${i#dh}
177		case $unit in
178		0) ch=h ;;
179		1) ch=i ;;
180		2) ch=j ;;
181		3) ch=k ;;
182		4) ch=l ;;
183		5) ch=m ;;
184		6) ch=n ;;
185		7) ch=o ;;
186		*) warn "bad unit for $name in: $i" ;;
187		esac
188		;;
189	esac
190	i=0
191	while [ $i -lt $count ]
192	do
193		mkdev tty$ch$(hexprint $i) c $major $(($unit * $count + $i))
194		i=$(($i + 1))
195	done
196
197	;;
198
199dl[0-9]*)
200	unit=${i#dl}
201	mkdev ttyJ$(hexprint $unit) c 66 $unit
202	;;
203
204lp[0-9]*|va[0-9]*|vp[0-9]*)
205	case $i in
206	lp*) name=lp; unit=${i#lp}; major=15;;
207	va*) name=va; unit=${i#va}; major=10;;
208	vp*) name=vp; unit=${i#vp}; major=6;;
209	esac
210	case $unit in
211	[0-7])
212		mkdev $i c $major $unit 666
213		;;
214	*)
215		warn "bad unit for $name in: $i"
216		;;
217	esac
218	;;
219
220np[0-9]*)
221	class=${i#np}
222	case $class in
223	0) offset=0 name=0;;
224	1) offset=16 name=1;;
225	2) offset=32 name=2;;
226	*) warn "bad unit for np in: $i" ;;
227	esac
228	case $class in
229	0|1|2)
230	i=0
231	while [ $i -lt 4 ]
232	do
233		oi=$(($offset + $i))
234		zoi=$(zeropad 2 $oi)
235		mkdev np$zoi c 39 $oi
236		i=$(($i + 1))
237	done
238	esac
239	;;
240
241dn[0-9]*|ik[0-9]*|ps[0-9]*|ad[0-9]*|ct[0-9]*)
242	case $i in
243	ct*) name=ct; unit=${i#ct}; chr=18;;
244	dn*) name=cu; unit=${i#dn}; chr=24;;
245	ps*) name=ps; unit=${i#ps}; chr=27;;
246	ad*) name=ad; unit=${i#ad}; chr=29;;
247	ik*) name=ik; unit=${i#ik}; chr=31;;
248	esac
249	case $unit in
250	[0-7])
251		mkdev ${name}${unit} c ${chr} ${unit} 666
252		;;
253	*)
254		warn "bad unit for $name in: $i"
255		;;
256	esac
257	;;
258
259qd[0-9]*)
260	unit=${i#qd}
261	mkdev qc$unit c 40 $(($unit * 4))
262	mkdev qd$unit c 40 $(($unit * 4 + 2))
263	;;
264
265qv0)
266	mkdev qv0 c 40 0
267	mkdev qvcons c 40 1
268	mkdev mouse c 40 2
269	;;
270