annotate libdha/AsmMacros.h @ 4148:3b29772a4fb2

S->C
author nick
date Mon, 14 Jan 2002 10:34:38 +0000
parents 3822582553d6
children 2e3262002acb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3973
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
1 /* $XConsortium: AsmMacros.h /main/13 1996/10/25 11:33:12 kaleb $ */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
2 /*
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
3 * (c) Copyright 1993,1994 by David Wexelblat <dwex@xfree86.org>
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
4 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
5 * Permission is hereby granted, free of charge, to any person obtaining a
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
6 * copy of this software and associated documentation files (the "Software"),
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
7 * to deal in the Software without restriction, including without limitation
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
9 * and/or sell copies of the Software, and to permit persons to whom the
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
10 * Software is furnished to do so, subject to the following conditions:
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
11 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
12 * The above copyright notice and this permission notice shall be included in
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
13 * all copies or substantial portions of the Software.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
14 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
16 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
18 * DAVID WEXELBLAT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
19 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
20 * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
21 * SOFTWARE.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
22 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
23 * Except as contained in this notice, the name of David Wexelblat shall not be
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
24 * used in advertising or otherwise to promote the sale, use or other dealings
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
25 * in this Software without prior written authorization from David Wexelblat.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
26 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
27 */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
28 /*
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
29 * Copyright 1997
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
30 * Digital Equipment Corporation. All rights reserved.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
31 * This software is furnished under license and may be used and copied only in
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
32 * accordance with the following terms and conditions. Subject to these
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
33 * conditions, you may download, copy, install, use, modify and distribute
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
34 * this software in source and/or binary form. No title or ownership is
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
35 * transferred hereby.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
36 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
37 * 1) Any source code used, modified or distributed must reproduce and retain
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
38 * this copyright notice and list of conditions as they appear in the source
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
39 * file.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
40 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
41 * 2) No right is granted to use any trade name, trademark, or logo of Digital
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
42 * Equipment Corporation. Neither the "Digital Equipment Corporation" name
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
43 * nor any trademark or logo of Digital Equipment Corporation may be used
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
44 * to endorse or promote products derived from this software without the
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
45 * prior written permission of Digital Equipment Corporation.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
46 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
47 * 3) This software is provided "AS-IS" and any express or implied warranties,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
48 * including but not limited to, any implied warranties of merchantability,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
49 * fitness for a particular purpose, or non-infringement are disclaimed. In
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
50 * no event shall DIGITAL be liable for any damages whatsoever, and in
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
51 * particular, DIGITAL shall not be liable for special, indirect,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
52 * consequential, or incidental damages or damages for
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
53 * lost profits, loss of revenue or loss of use, whether such damages arise
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
54 * in contract,
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
55 * negligence, tort, under statute, in equity, at law or otherwise, even if
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
56 * advised of the possibility of such damage.
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
57 *
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
58 */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
59
4102
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
60 /* $XFree86: xc/programs/Xserver/hw/xfree86/drivers/chips/util/AsmMacros.h,v 1.1 2001/11/16 21:13:34 tsi Exp $ */
3973
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
61
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
62 #if defined(__GNUC__)
4102
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
63 #if defined(linux) && (defined(__alpha__) || defined(__ia64__))
4112
3822582553d6 Alpha patch by Falk Hueffner <falk.hueffner@student.uni-tuebingen.de>
nick
parents: 4102
diff changeset
64 #include <sys/io.h>
3973
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
65 #else
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
66 #if defined(__sparc__)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
67 #ifndef ASI_PL
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
68 #define ASI_PL 0x88
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
69 #endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
70
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
71 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
72 outb(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
73 unsigned long port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
74 char val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
75 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
76 __asm__ __volatile__("stba %0, [%1] %2" : : "r" (val), "r" (port), "i" (ASI_PL));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
77 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
78
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
79 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
80 outw(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
81 unsigned long port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
82 char val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
83 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
84 __asm__ __volatile__("stha %0, [%1] %2" : : "r" (val), "r" (port), "i" (ASI_PL));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
85 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
86
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
87 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
88 outl(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
89 unsigned long port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
90 char val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
91 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
92 __asm__ __volatile__("sta %0, [%1] %2" : : "r" (val), "r" (port), "i" (ASI_PL));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
93 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
94
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
95 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
96 inb(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
97 unsigned long port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
98 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
99 unsigned char ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
100 __asm__ __volatile__("lduba [%1] %2, %0" : "=r" (ret) : "r" (port), "i" (ASI_PL));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
101 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
102 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
103
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
104 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
105 inw(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
106 unsigned long port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
107 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
108 unsigned char ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
109 __asm__ __volatile__("lduha [%1] %2, %0" : "=r" (ret) : "r" (port), "i" (ASI_PL));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
110 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
111 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
112
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
113 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
114 inl(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
115 unsigned long port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
116 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
117 unsigned char ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
118 __asm__ __volatile__("lda [%1] %2, %0" : "=r" (ret) : "r" (port), "i" (ASI_PL));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
119 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
120 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
121 #else
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
122 #ifdef __arm32__
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
123 unsigned int IOPortBase; /* Memory mapped I/O port area */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
124
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
125 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
126 outb(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
127 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
128 char val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
129 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
130 if ((unsigned short)port >= 0x400) return;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
131
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
132 *(volatile unsigned char*)(((unsigned short)(port))+IOPortBase) = val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
133 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
134
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
135 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
136 outw(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
137 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
138 short val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
139 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
140 if ((unsigned short)port >= 0x400) return;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
141
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
142 *(volatile unsigned short*)(((unsigned short)(port))+IOPortBase) = val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
143 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
144
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
145 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
146 outl(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
147 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
148 int val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
149 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
150 if ((unsigned short)port >= 0x400) return;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
151
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
152 *(volatile unsigned long*)(((unsigned short)(port))+IOPortBase) = val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
153 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
154
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
155 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
156 inb(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
157 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
158 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
159 if ((unsigned short)port >= 0x400) return((unsigned int)-1);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
160
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
161 return(*(volatile unsigned char*)(((unsigned short)(port))+IOPortBase));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
162 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
163
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
164 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
165 inw(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
166 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
167 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
168 if ((unsigned short)port >= 0x400) return((unsigned int)-1);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
169
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
170 return(*(volatile unsigned short*)(((unsigned short)(port))+IOPortBase));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
171 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
172
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
173 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
174 inl(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
175 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
176 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
177 if ((unsigned short)port >= 0x400) return((unsigned int)-1);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
178
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
179 return(*(volatile unsigned long*)(((unsigned short)(port))+IOPortBase));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
180 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
181 #else /* __arm32__ */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
182 #if defined(Lynx) && defined(__powerpc__)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
183 extern unsigned char *ioBase;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
184
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
185 static volatile void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
186 eieio()
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
187 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
188 __asm__ __volatile__ ("eieio");
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
189 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
190
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
191 static void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
192 outb(port, value)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
193 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
194 unsigned char value;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
195 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
196 *(uchar *)(ioBase + port) = value; eieio();
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
197 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
198
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
199 static void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
200 outw(port, value)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
201 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
202 unsigned short value;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
203 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
204 *(unsigned short *)(ioBase + port) = value; eieio();
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
205 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
206
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
207 static void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
208 outl(port, value)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
209 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
210 unsigned long value;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
211 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
212 *(unsigned long *)(ioBase + port) = value; eieio();
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
213 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
214
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
215 static unsigned char
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
216 inb(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
217 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
218 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
219 unsigned char val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
220
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
221 val = *((unsigned char *)(ioBase + port)); eieio();
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
222 return(val);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
223 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
224
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
225 static unsigned short
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
226 inw(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
227 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
228 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
229 unsigned short val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
230
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
231 val = *((unsigned short *)(ioBase + port)); eieio();
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
232 return(val);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
233 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
234
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
235 static unsigned long
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
236 inl(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
237 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
238 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
239 unsigned long val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
240
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
241 val = *((unsigned long *)(ioBase + port)); eieio();
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
242 return(val);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
243 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
244
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
245 #else
4102
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
246 #if defined(__FreeBSD__) && defined(__alpha__)
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
247
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
248 #include <sys/types.h>
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
249
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
250 extern void outb(u_int32_t port, u_int8_t val);
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
251 extern void outw(u_int32_t port, u_int16_t val);
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
252 extern void outl(u_int32_t port, u_int32_t val);
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
253 extern u_int8_t inb(u_int32_t port);
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
254 extern u_int16_t inw(u_int32_t port);
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
255 extern u_int32_t inl(u_int32_t port);
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
256
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
257 #else
3973
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
258 #ifdef GCCUSESGAS
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
259 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
260 outb(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
261 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
262 char val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
263 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
264 __asm__ __volatile__("outb %0,%1" : :"a" (val), "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
265 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
266
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
267 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
268 outw(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
269 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
270 short val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
271 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
272 __asm__ __volatile__("outw %0,%1" : :"a" (val), "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
273 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
274
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
275 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
276 outl(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
277 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
278 unsigned int val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
279 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
280 __asm__ __volatile__("outl %0,%1" : :"a" (val), "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
281 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
282
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
283 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
284 inb(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
285 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
286 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
287 unsigned char ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
288 __asm__ __volatile__("inb %1,%0" :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
289 "=a" (ret) :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
290 "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
291 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
292 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
293
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
294 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
295 inw(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
296 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
297 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
298 unsigned short ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
299 __asm__ __volatile__("inw %1,%0" :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
300 "=a" (ret) :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
301 "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
302 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
303 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
304
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
305 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
306 inl(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
307 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
308 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
309 unsigned int ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
310 __asm__ __volatile__("inl %1,%0" :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
311 "=a" (ret) :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
312 "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
313 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
314 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
315
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
316 #else /* GCCUSESGAS */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
317
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
318 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
319 outb(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
320 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
321 char val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
322 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
323 __asm__ __volatile__("out%B0 (%1)" : :"a" (val), "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
324 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
325
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
326 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
327 outw(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
328 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
329 short val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
330 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
331 __asm__ __volatile__("out%W0 (%1)" : :"a" (val), "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
332 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
333
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
334 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
335 outl(port, val)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
336 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
337 unsigned int val;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
338 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
339 __asm__ __volatile__("out%L0 (%1)" : :"a" (val), "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
340 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
341
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
342 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
343 inb(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
344 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
345 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
346 unsigned int ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
347 __asm__ __volatile__("in%B0 (%1)" :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
348 "=a" (ret) :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
349 "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
350 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
351 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
352
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
353 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
354 inw(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
355 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
356 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
357 unsigned int ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
358 __asm__ __volatile__("in%W0 (%1)" :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
359 "=a" (ret) :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
360 "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
361 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
362 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
363
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
364 static __inline__ unsigned int
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
365 inl(port)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
366 short port;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
367 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
368 unsigned int ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
369 __asm__ __volatile__("in%L0 (%1)" :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
370 "=a" (ret) :
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
371 "d" (port));
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
372 return ret;
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
373 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
374
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
375 #endif /* GCCUSESGAS */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
376 #endif /* Lynx && __powerpc__ */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
377 #endif /* arm32 */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
378 #endif /* linux && __sparc__ */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
379 #endif /* linux && __alpha__ */
4102
7b85e545cfb9 Sync with XFree86-4.1.99.5+
nick
parents: 3973
diff changeset
380 #endif /* __FreeBSD__ && __alpha__ */
3973
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
381
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
382 #if defined(linux) || defined(__arm32__) || (defined(Lynx) && defined(__powerpc__))
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
383
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
384 #define intr_disable()
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
385 #define intr_enable()
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
386
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
387 #else
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
388
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
389 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
390 intr_disable()
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
391 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
392 __asm__ __volatile__("cli");
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
393 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
394
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
395 static __inline__ void
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
396 intr_enable()
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
397 {
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
398 __asm__ __volatile__("sti");
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
399 }
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
400
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
401 #endif /* else !linux && !__arm32__ */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
402
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
403 #else /* __GNUC__ */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
404
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
405 #if defined(_MINIX) && defined(_ACK)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
406
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
407 /* inb, outb, inw and outw are defined in the library */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
408 /* ... but I've no idea if the same is true for inl & outl */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
409
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
410 u8_t inb(U16_t);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
411 void outb(U16_t, U8_t);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
412 u16_t inw(U16_t);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
413 void outw(U16_t, U16_t);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
414 u32_t inl(U16_t);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
415 void outl(U16_t, U32_t);
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
416
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
417 #else /* not _MINIX and _ACK */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
418
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
419 # if defined(__STDC__) && (__STDC__ == 1)
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
420 # ifndef NCR
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
421 # define asm __asm
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
422 # endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
423 # endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
424 # ifdef SVR4
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
425 # include <sys/types.h>
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
426 # ifndef __USLC__
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
427 # define __USLC__
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
428 # endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
429 # endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
430 #ifndef SCO325
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
431 # include <sys/inline.h>
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
432 #else
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
433 # include "../common/scoasm.h"
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
434 #endif
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
435 #define intr_disable() asm("cli")
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
436 #define intr_enable() asm("sti")
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
437
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
438 #endif /* _MINIX and _ACK */
138800dfbe22 preliminary support of direct hardware access
nick
parents:
diff changeset
439 #endif /* __GNUC__ */