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 "wdc.h"
31 #include "el.h"
32 #include "le.h"
33 #include "lnc.h"
34 #include "rdp.h"
35 #include "wl.h"
36 #include "pcm.h"
37 #include "pas.h"
38 #include "sb.h"
39 #include "sbxvi.h"
40 #include "sbmidi.h"
41 #include "awe.h"
42 #include "gus.h"
43 #include "mss.h"
44 #include "css.h"
45 #include "sscape.h"
46 #include "trix.h"
47 #include "opl.h"
48 #include "mpu.h"
49 #include "uart.h"
50 #include "mcd.h"
51 #include "scd.h"
52 #include "wt.h"
53 #include "ctx.h"
54 #include "spigot.h"
55 #include "gp.h"
56 #include "gsc.h"
57 #include "cy.h"
58 #include "dgb.h"
59 #include "labpc.h"
60 #include "rc.h"
61 #include "rp.h"
62 #include "tw.h"
63 #include "asc.h"
64 #include "stl.h"
65 #include "stli.h"
66 #include "loran.h"
67 #include "fla.h"
68
69 struct old_isa_driver {
70 int type;
71 struct isa_driver *driver;
72 };
73
74 extern struct isa_driver vtdriver;
75 extern struct isa_driver wdcdriver;
76 extern struct isa_driver eldriver;
77 extern struct isa_driver ledriver;
78 extern struct isa_driver lncdriver;
79 extern struct isa_driver rdpdriver;
80 extern struct isa_driver wldriver;
81 extern struct isa_driver pasdriver;
82 extern struct isa_driver sbdriver;
83 extern struct isa_driver sbxvidriver;
84 extern struct isa_driver sbmididriver;
85 extern struct isa_driver awedriver;
86 extern struct isa_driver gusdriver;
87 extern struct isa_driver mssdriver;
88 extern struct isa_driver cssdriver;
89 extern struct isa_driver sscapedriver;
90 extern struct isa_driver trixdriver;
91 extern struct isa_driver sscape_mssdriver;
92 extern struct isa_driver opldriver;
93 extern struct isa_driver mpudriver;
94 extern struct isa_driver uartdriver;
95 extern struct isa_driver mcddriver;
96 extern struct isa_driver scddriver;
97 extern struct isa_driver wtdriver;
98 extern struct isa_driver ctxdriver;
99 extern struct isa_driver spigotdriver;
100 extern struct isa_driver gpdriver;
101 extern struct isa_driver gscdriver;
102 extern struct isa_driver cydriver;
103 extern struct isa_driver dgbdriver;
104 extern struct isa_driver labpcdriver;
105 extern struct isa_driver rcdriver;
106 extern struct isa_driver rpdriver;
107 extern struct isa_driver twdriver;
108 extern struct isa_driver ascdriver;
109 extern struct isa_driver stldriver;
110 extern struct isa_driver stlidriver;
111 extern struct isa_driver lorandriver;
112
113
114 static struct old_isa_driver old_drivers[] = {
115
116 /* Sensitive TTY */
117
118 /* Sensitive BIO */
119
120 /* Sensitive NET */
121 #if NRDP > 0
122 { INTR_TYPE_NET, &rdpdriver },
123 #endif
124
125 /* Sensitive CAM */
126
127 /* TTY */
128
129 #if NVT > 0
130 { INTR_TYPE_TTY, &vtdriver },
131 #endif
132 #if NGP > 0
133 { INTR_TYPE_TTY, &gpdriver },
134 #endif
135 #if NGSC > 0
136 { INTR_TYPE_TTY, &gscdriver },
137 #endif
138 #if NCY > 0
139 { INTR_TYPE_TTY | INTR_TYPE_FAST, &cydriver },
140 #endif
141 #if NDGB > 0
142 { INTR_TYPE_TTY, &dgbdriver },
143 #endif
144 #if NLABPC > 0
145 { INTR_TYPE_TTY, &labpcdriver },
146 #endif
147 #if NRC > 0
148 { INTR_TYPE_TTY, &rcdriver },
149 #endif
150 #if NRP > 0
151 { INTR_TYPE_TTY, &rpdriver },
152 #endif
153 #if NTW > 0
154 { INTR_TYPE_TTY, &twdriver },
155 #endif
156 #if NASC > 0
157 { INTR_TYPE_TTY, &ascdriver },
158 #endif
159 #if NSTL > 0
160 { INTR_TYPE_TTY, &stldriver },
161 #endif
162 #if NSTLI > 0
163 { INTR_TYPE_TTY, &stlidriver },
164 #endif
165 #if NLORAN > 0
166 { INTR_TYPE_TTY | INTR_TYPE_FAST, &lorandriver },
167 #endif
168
169 /* BIO */
170
171 #if NWDC > 0
172 { INTR_TYPE_BIO, &wdcdriver },
173 #endif
174 #if NMCD > 0
175 { INTR_TYPE_BIO, &mcddriver },
176 #endif
177 #if NSCD > 0
178 { INTR_TYPE_BIO, &scddriver },
179 #endif
180 #if NWT > 0
181 { INTR_TYPE_BIO, &wtdriver },
182 #endif
183
184 /* NET */
185
186 #if NLE > 0
187 { INTR_TYPE_NET, &ledriver },
188 #endif
189 #if NLNC > 0
190 { INTR_TYPE_NET, &lncdriver },
191 #endif
192 #if NEL > 0
193 { INTR_TYPE_NET, &eldriver },
194 #endif
195 #if NWL > 0
196 { INTR_TYPE_NET, &wldriver },
197 #endif
198
199 /* MISC */
200
201 #if NPAS > 0
202 { INTR_TYPE_MISC, &pasdriver },
203 #endif
204 #if NSB > 0
205 { INTR_TYPE_MISC, &sbdriver },
206 #endif
207 #if NSBXVI > 0
208 { INTR_TYPE_MISC, &sbxvidriver },
209 #endif
210 #if NSBMIDI > 0
211 { INTR_TYPE_MISC, &sbmididriver },
212 #endif
213 #if NAWE > 0
214 { INTR_TYPE_MISC, &awedriver },
215 #endif
216 #if NGUS > 0
217 { INTR_TYPE_MISC, &gusdriver },
218 #endif
219 #if NMSS > 0
220 { INTR_TYPE_MISC, &mssdriver },
221 #endif
222 #if NCSS > 0
223 { INTR_TYPE_MISC, &cssdriver },
224 #endif
225 #if NSSCAPE > 0
226 { INTR_TYPE_MISC, &sscapedriver },
227 #endif
228 #if NTRIX > 0
229 { INTR_TYPE_MISC, &trixdriver },
230 #endif
231 #if NSSCAPE > 0
232 { INTR_TYPE_MISC, &sscape_mssdriver },
233 #endif
234 #if NOPL > 0
235 { INTR_TYPE_MISC, &opldriver },
236 #endif
237 #if NMPU > 0
238 { INTR_TYPE_MISC, &mpudriver },
239 #endif
240 #if NUART > 0
241 { INTR_TYPE_MISC, &uartdriver },
242 #endif
243 #if NCTX > 0
244 { INTR_TYPE_MISC, &ctxdriver },
245 #endif
246 #if NSPIGOT > 0
247 { INTR_TYPE_MISC, &spigotdriver },
248 #endif
249
250 };
251
252 #define old_drivers_count (sizeof(old_drivers) / sizeof(old_drivers[0]))
Cache object: 95064dabe827118f916fecb6247b4ab4
|