]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - sys/pc98/pc98/isa_compat.h
This commit was generated by cvs2svn to compensate for changes in r53910,
[FreeBSD/FreeBSD.git] / sys / pc98 / pc98 / isa_compat.h
1 /*-
2  * Copyright (c) 1998 Doug Rabson
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions
7  * are met:
8  * 1. Redistributions of source code must retain the above copyright
9  *    notice, this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright
11  *    notice, this list of conditions and the following disclaimer in the
12  *    documentation and/or other materials provided with the distribution.
13  *
14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24  * SUCH DAMAGE.
25  *
26  * $FreeBSD$
27  */
28
29 #include "vt.h"
30 #include "adv.h"
31 #include "wdc.h"
32 #include "mse.h"
33 #include "ar.h"
34 #include "cs.h"
35 #include "cx.h"
36 #include "el.h"
37 #include "ed.h"
38 #include "fe.h"
39 #include "ie.h"
40 #include "le.h"
41 #include "lnc.h"
42 #include "rdp.h"
43 #include "sr.h"
44 #include "wl.h"
45 #include "ze.h"
46 #include "zp.h"
47 #include "oltr.h"
48 #include "pcm.h"
49 #include "pas.h"
50 #include "sb.h"
51 #include "sbxvi.h"
52 #include "sbmidi.h"
53 #include "awe.h"
54 #include "gus.h"
55 #include "mss.h"
56 #include "css.h"
57 #include "sscape.h"
58 #include "trix.h"
59 #include "opl.h"
60 #include "mpu.h"
61 #include "uart.h"
62 #include "pca.h"
63 #include "mcd.h"
64 #include "scd.h"
65 #include "matcd.h"
66 #include "wt.h"
67 #include "ctx.h"
68 #include "spigot.h"
69 #include "gp.h"
70 #include "gsc.h"
71 #include "joy.h"
72 #include "cy.h"
73 #include "dgb.h"
74 #include "dgm.h"
75 #include "labpc.h"
76 #include "rc.h"
77 #include "rp.h"
78 #include "tw.h"
79 #include "si.h"
80 #include "asc.h"
81 #include "stl.h"
82 #include "stli.h"
83 #include "loran.h"
84 #include "pcf.h"
85 #include "isic.h"
86 #include "tina.h"
87 #include "ppc.h"
88 #include "fla.h"
89 #ifdef PC98
90 #include "bs.h"
91 #endif
92
93 struct old_isa_driver {
94         int                     type;
95         struct isa_driver       *driver;
96 };
97
98 extern struct isa_driver  vtdriver;
99 extern struct isa_driver advdriver;
100 extern struct isa_driver wdcdriver;
101 extern struct isa_driver msedriver;
102 extern struct isa_driver  ardriver;
103 extern struct isa_driver  csdriver;
104 extern struct isa_driver  cxdriver;
105 extern struct isa_driver  eddriver;
106 extern struct isa_driver  eldriver;
107 extern struct isa_driver  fedriver;
108 extern struct isa_driver  iedriver;
109 extern struct isa_driver  ledriver;
110 extern struct isa_driver lncdriver;
111 extern struct isa_driver rdpdriver;
112 extern struct isa_driver  srdriver;
113 extern struct isa_driver  wldriver;
114 extern struct isa_driver  zedriver;
115 extern struct isa_driver  zpdriver;
116 extern struct isa_driver oltrdriver;
117 extern struct isa_driver pasdriver;
118 extern struct isa_driver  sbdriver;
119 extern struct isa_driver sbxvidriver;
120 extern struct isa_driver sbmididriver;
121 extern struct isa_driver awedriver;
122 extern struct isa_driver gusdriver;
123 extern struct isa_driver mssdriver;
124 extern struct isa_driver cssdriver;
125 extern struct isa_driver sscapedriver;
126 extern struct isa_driver trixdriver;
127 extern struct isa_driver sscape_mssdriver;
128 extern struct isa_driver opldriver;
129 extern struct isa_driver mpudriver;
130 extern struct isa_driver uartdriver;
131 extern struct isa_driver pcadriver;
132 extern struct isa_driver mcddriver;
133 extern struct isa_driver scddriver;
134 extern struct isa_driver matcddriver;
135 extern struct isa_driver  wtdriver;
136 extern struct isa_driver ctxdriver;
137 extern struct isa_driver spigotdriver;
138 extern struct isa_driver  gpdriver;
139 extern struct isa_driver gscdriver;
140 extern struct isa_driver joydriver;
141 extern struct isa_driver  cydriver;
142 extern struct isa_driver dgbdriver;
143 extern struct isa_driver dgmdriver;
144 extern struct isa_driver labpcdriver;
145 extern struct isa_driver  rcdriver;
146 extern struct isa_driver  rpdriver;
147 extern struct isa_driver  twdriver;
148 extern struct isa_driver  sidriver;
149 extern struct isa_driver ascdriver;
150 extern struct isa_driver stldriver;
151 extern struct isa_driver stlidriver;
152 extern struct isa_driver lorandriver;
153 extern struct isa_driver pcfdriver;
154 extern struct isa_driver isicdriver;
155 extern struct isa_driver tinadriver;
156 extern struct isa_driver ppcdriver;
157 #ifdef PC98
158 extern struct isa_driver bsdriver;
159 #endif
160
161
162 static struct old_isa_driver old_drivers[] = {
163
164 /* Sensitive TTY */
165
166 /* Sensitive BIO */
167
168 /* Sensitive NET */
169 #if NFE > 0
170         { INTR_TYPE_NET, &fedriver },
171 #endif
172 #if NRDP > 0
173         { INTR_TYPE_NET, &rdpdriver },
174 #endif
175
176 /* Sensitive CAM */
177
178 /* TTY */
179
180 #if NVT > 0
181         { INTR_TYPE_TTY, &vtdriver },
182 #endif
183 #if NMSE > 0
184         { INTR_TYPE_TTY, &msedriver },
185 #endif
186 #if NPCA > 0
187         { INTR_TYPE_TTY, &pcadriver },
188 #endif
189 #if NGP > 0
190         { INTR_TYPE_TTY, &gpdriver },
191 #endif
192 #if NGSC > 0
193         { INTR_TYPE_TTY, &gscdriver },
194 #endif
195 #if NCY > 0
196         { INTR_TYPE_TTY, &cydriver },
197 #endif
198 #if NDGB > 0
199         { INTR_TYPE_TTY, &dgbdriver },
200 #endif
201 #if NDGM > 0
202         { INTR_TYPE_TTY, &dgmdriver },
203 #endif
204 #if NLABPC > 0
205         { INTR_TYPE_TTY, &labpcdriver },
206 #endif
207 #if NRCD > 0
208         { INTR_TYPE_TTY, &rcdriver },
209 #endif
210 #if NRP > 0
211         { INTR_TYPE_TTY, &rpdriver },
212 #endif
213 #if NTW > 0
214         { INTR_TYPE_TTY, &twdriver },
215 #endif
216 #if NSI > 0
217         { INTR_TYPE_TTY, &sidriver },
218 #endif
219 #if NASC > 0
220         { INTR_TYPE_TTY, &ascdriver },
221 #endif
222 #if NSTL > 0
223         { INTR_TYPE_TTY, &stldriver },
224 #endif
225 #if NSTLI > 0
226         { INTR_TYPE_TTY, &stlidriver },
227 #endif
228 #if NLORAN > 0
229         { INTR_TYPE_TTY, &lorandriver },
230 #endif
231 #if NPPC > 0
232         { INTR_TYPE_TTY, &ppcdriver },
233 #endif
234
235 /* BIO */
236
237 #if NWDC > 0
238         { INTR_TYPE_BIO, &wdcdriver },
239 #endif
240 #if NMCD > 0
241         { INTR_TYPE_BIO, &mcddriver },
242 #endif
243 #if NSCD > 0
244         { INTR_TYPE_BIO, &scddriver },
245 #endif
246 #if NMATCD > 0
247         { INTR_TYPE_BIO, &matcddriver },
248 #endif
249 #if NWT > 0
250         { INTR_TYPE_BIO, &wtdriver },
251 #endif
252
253 /* NET */
254
255 #if NIE > 0
256         { INTR_TYPE_NET, &iedriver },
257 #endif
258 #if NED > 0
259         { INTR_TYPE_NET, &eddriver },
260 #endif
261 #if NLE > 0
262         { INTR_TYPE_NET, &ledriver },
263 #endif
264 #if NLNC > 0
265         { INTR_TYPE_NET, &lncdriver },
266 #endif
267 #if NZE > 0
268         { INTR_TYPE_NET, &zedriver },
269 #endif
270 #if NZP > 0
271         { INTR_TYPE_NET, &zpdriver },
272 #endif
273 #if NCS > 0
274         { INTR_TYPE_NET, &csdriver },
275 #endif
276 #if NAR > 0
277         { INTR_TYPE_NET, &ardriver },
278 #endif
279 #if NCX > 0
280         { INTR_TYPE_NET, &cxdriver },
281 #endif
282 #if NEL > 0
283         { INTR_TYPE_NET, &eldriver },
284 #endif
285 #if NSR > 0
286         { INTR_TYPE_NET, &srdriver },
287 #endif
288 #if NWL > 0
289         { INTR_TYPE_NET, &wldriver },
290 #endif
291 #if NPCF > 0
292         { INTR_TYPE_NET, &pcfdriver },
293 #endif
294 #if NISIC > 0
295         { INTR_TYPE_NET, &isicdriver },
296 #endif
297 #if NTINA > 0
298         { INTR_TYPE_NET, &tinadriver },
299 #endif
300
301 /* CAM */
302
303 #ifndef PC98
304 #if NADV > 0
305         { INTR_TYPE_CAM, &advdriver },
306 #endif
307 #endif
308
309 #ifdef PC98
310 #if NBS > 0
311         { INTR_TYPE_CAM, &bsdriver },
312 #endif
313 #endif
314
315 /* MISC */
316
317 #if NOLTR > 0
318         { INTR_TYPE_MISC, &oltrdriver },
319 #endif
320 #if NPAS > 0
321         { INTR_TYPE_MISC, &pasdriver },
322 #endif
323 #if NSB > 0
324         { INTR_TYPE_MISC, &sbdriver },
325 #endif
326 #if NSBXVI > 0
327         { INTR_TYPE_MISC, &sbxvidriver },
328 #endif
329 #if NSBMIDI > 0
330         { INTR_TYPE_MISC, &sbmididriver },
331 #endif
332 #if NAWE > 0
333         { INTR_TYPE_MISC, &awedriver },
334 #endif
335 #if NGUS > 0
336         { INTR_TYPE_MISC, &gusdriver },
337 #endif
338 #if NMSS > 0
339         { INTR_TYPE_MISC, &mssdriver },
340 #endif
341 #if NCSS > 0
342         { INTR_TYPE_MISC, &cssdriver },
343 #endif
344 #if NSSCAPE > 0
345         { INTR_TYPE_MISC, &sscapedriver },
346 #endif
347 #if NTRIX > 0
348         { INTR_TYPE_MISC, &trixdriver },
349 #endif
350 #if NSSCAPE > 0
351         { INTR_TYPE_MISC, &sscape_mssdriver },
352 #endif
353 #if NOPL > 0
354         { INTR_TYPE_MISC, &opldriver },
355 #endif
356 #if NMPU > 0
357         { INTR_TYPE_MISC, &mpudriver },
358 #endif
359 #if NUART > 0
360         { INTR_TYPE_MISC, &uartdriver },
361 #endif
362 #if NCTX > 0
363         { INTR_TYPE_MISC, &ctxdriver },
364 #endif
365 #if NSPIGOT > 0
366         { INTR_TYPE_MISC, &spigotdriver },
367 #endif
368 #if NJOY > 0
369         { INTR_TYPE_MISC, &joydriver },
370 #endif
371
372 };
373
374 #define old_drivers_count (sizeof(old_drivers) / sizeof(old_drivers[0]))