kernel tree reorganization stage 1: Major cvs repository work (not logged as
[dragonfly.git] / sys / bus / isa / i386 / 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: src/sys/i386/isa/isa_compat.h,v 1.27.2.11 2002/10/05 18:31:48 scottl Exp $
27  * $DragonFly: src/sys/bus/isa/i386/isa_compat.h,v 1.3 2003/08/07 21:16:46 dillon Exp $
28  */
29
30 #include "use_vt.h"
31 #include "use_wdc.h"
32 #include "use_cx.h"
33 #include "use_el.h"
34 #include "use_le.h"
35 #include "use_lnc.h"
36 #include "use_rdp.h"
37 #include "use_wl.h"
38 #include "use_pcm.h"
39 #include "use_pas.h"
40 #include "use_sb.h"
41 #include "use_sbxvi.h"
42 #include "use_sbmidi.h"
43 #include "use_awe.h"
44 #include "use_gus.h"
45 #include "use_mss.h"
46 #include "use_css.h"
47 #include "use_sscape.h"
48 #include "use_trix.h"
49 #include "use_opl.h"
50 #include "use_mpu.h"
51 #include "use_uart.h"
52 #include "use_mcd.h"
53 #include "use_scd.h"
54 #include "use_wt.h"
55 #include "use_ctx.h"
56 #include "use_spigot.h"
57 #include "use_gp.h"
58 #include "use_gsc.h"
59 #include "use_cy.h"
60 #include "use_dgb.h"
61 #include "use_labpc.h"
62 #include "use_rc.h"
63 #include "use_rp.h"
64 #include "use_tw.h"
65 #include "use_asc.h"
66 #include "use_stl.h"
67 #include "use_stli.h"
68 #include "use_fla.h"
69
70 struct old_isa_driver {
71         int                     type;
72         struct isa_driver       *driver;
73 };
74
75 extern struct isa_driver  vtdriver;
76 extern struct isa_driver wdcdriver;
77 extern struct isa_driver  cxdriver;
78 extern struct isa_driver  eldriver;
79 extern struct isa_driver  ledriver;
80 extern struct isa_driver lncdriver;
81 extern struct isa_driver rdpdriver;
82 extern struct isa_driver  wldriver;
83 extern struct isa_driver pasdriver;
84 extern struct isa_driver  sbdriver;
85 extern struct isa_driver sbxvidriver;
86 extern struct isa_driver sbmididriver;
87 extern struct isa_driver awedriver;
88 extern struct isa_driver gusdriver;
89 extern struct isa_driver mssdriver;
90 extern struct isa_driver cssdriver;
91 extern struct isa_driver sscapedriver;
92 extern struct isa_driver trixdriver;
93 extern struct isa_driver sscape_mssdriver;
94 extern struct isa_driver opldriver;
95 extern struct isa_driver mpudriver;
96 extern struct isa_driver uartdriver;
97 extern struct isa_driver mcddriver;
98 extern struct isa_driver scddriver;
99 extern struct isa_driver  wtdriver;
100 extern struct isa_driver ctxdriver;
101 extern struct isa_driver spigotdriver;
102 extern struct isa_driver  gpdriver;
103 extern struct isa_driver gscdriver;
104 extern struct isa_driver  cydriver;
105 extern struct isa_driver dgbdriver;
106 extern struct isa_driver labpcdriver;
107 extern struct isa_driver  rcdriver;
108 extern struct isa_driver  rpdriver;
109 extern struct isa_driver  twdriver;
110 extern struct isa_driver ascdriver;
111 extern struct isa_driver stldriver;
112 extern struct isa_driver stlidriver;
113 extern struct isa_driver lorandriver;
114
115
116 static struct old_isa_driver old_drivers[] = {
117
118 /* Sensitive TTY */
119
120 /* Sensitive BIO */
121
122 /* Sensitive NET */
123 #if NRDP > 0
124         { INTR_TYPE_NET, &rdpdriver },
125 #endif
126
127 /* Sensitive CAM */
128
129 /* TTY */
130
131 #if NVT > 0
132         { INTR_TYPE_TTY, &vtdriver },
133 #endif
134 #if NGP > 0
135         { INTR_TYPE_TTY, &gpdriver },
136 #endif
137 #if NGSC > 0
138         { INTR_TYPE_TTY, &gscdriver },
139 #endif
140 #if NCY > 0
141         { INTR_TYPE_TTY | INTR_TYPE_FAST, &cydriver },
142 #endif
143 #if NDGB > 0
144         { INTR_TYPE_TTY, &dgbdriver },
145 #endif
146 #if NLABPC > 0
147         { INTR_TYPE_TTY, &labpcdriver },
148 #endif
149 #if NRC > 0
150         { INTR_TYPE_TTY, &rcdriver },
151 #endif
152 #if NRP > 0
153         { INTR_TYPE_TTY, &rpdriver },
154 #endif
155 #if NTW > 0
156         { INTR_TYPE_TTY, &twdriver },
157 #endif
158 #if NASC > 0
159         { INTR_TYPE_TTY, &ascdriver },
160 #endif
161 #if NSTL > 0
162         { INTR_TYPE_TTY, &stldriver },
163 #endif
164 #if NSTLI > 0
165         { INTR_TYPE_TTY, &stlidriver },
166 #endif
167 #if NLORAN > 0
168         { INTR_TYPE_TTY | INTR_TYPE_FAST, &lorandriver },
169 #endif
170
171 /* BIO */
172
173 #if NWDC > 0
174         { INTR_TYPE_BIO, &wdcdriver },
175 #endif
176 #if NMCD > 0
177         { INTR_TYPE_BIO, &mcddriver },
178 #endif
179 #if NSCD > 0
180         { INTR_TYPE_BIO, &scddriver },
181 #endif
182 #if NWT > 0
183         { INTR_TYPE_BIO, &wtdriver },
184 #endif
185
186 /* NET */
187
188 #if NLE > 0
189         { INTR_TYPE_NET, &ledriver },
190 #endif
191 #if NLNC > 0
192         { INTR_TYPE_NET, &lncdriver },
193 #endif
194 #if NCX > 0
195         { INTR_TYPE_NET, &cxdriver },
196 #endif
197 #if NEL > 0
198         { INTR_TYPE_NET, &eldriver },
199 #endif
200 #if NWL > 0
201         { INTR_TYPE_NET, &wldriver },
202 #endif
203
204 /* MISC */
205
206 #if NPAS > 0
207         { INTR_TYPE_MISC, &pasdriver },
208 #endif
209 #if NSB > 0
210         { INTR_TYPE_MISC, &sbdriver },
211 #endif
212 #if NSBXVI > 0
213         { INTR_TYPE_MISC, &sbxvidriver },
214 #endif
215 #if NSBMIDI > 0
216         { INTR_TYPE_MISC, &sbmididriver },
217 #endif
218 #if NAWE > 0
219         { INTR_TYPE_MISC, &awedriver },
220 #endif
221 #if NGUS > 0
222         { INTR_TYPE_MISC, &gusdriver },
223 #endif
224 #if NMSS > 0
225         { INTR_TYPE_MISC, &mssdriver },
226 #endif
227 #if NCSS > 0
228         { INTR_TYPE_MISC, &cssdriver },
229 #endif
230 #if NSSCAPE > 0
231         { INTR_TYPE_MISC, &sscapedriver },
232 #endif
233 #if NTRIX > 0
234         { INTR_TYPE_MISC, &trixdriver },
235 #endif
236 #if NSSCAPE > 0
237         { INTR_TYPE_MISC, &sscape_mssdriver },
238 #endif
239 #if NOPL > 0
240         { INTR_TYPE_MISC, &opldriver },
241 #endif
242 #if NMPU > 0
243         { INTR_TYPE_MISC, &mpudriver },
244 #endif
245 #if NUART > 0
246         { INTR_TYPE_MISC, &uartdriver },
247 #endif
248 #if NCTX > 0
249         { INTR_TYPE_MISC, &ctxdriver },
250 #endif
251 #if NSPIGOT > 0
252         { INTR_TYPE_MISC, &spigotdriver },
253 #endif
254
255 };
256
257 #define old_drivers_count (sizeof(old_drivers) / sizeof(old_drivers[0]))