blob: 24a5a02f4fd6c4f8f4ce8deea1647b6213d8fad9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
diff -r --context xorg-server-1.12.3/hw/xfree86/common/compiler.h xorg-server-1.12.3-fix/hw/xfree86/common/compiler.h
*** xorg-server-1.12.3/hw/xfree86/common/compiler.h 2012-07-06 07:17:19.000000000 +0200
--- xorg-server-1.12.3-fix/hw/xfree86/common/compiler.h 2012-08-29 00:14:39.000000000 +0200
***************
*** 421,426 ****
--- 421,474 ----
#include <machine/pio.h>
#endif /* __NetBSD__ */
+ #elif defined(linux) && defined(__ia64__)
+ /* for Linux on ia64, we use the LIBC _inx/_outx routines */
+ /* note that the appropriate setup via "ioperm" needs to be done */
+ /* *before* any inx/outx is done. */
+
+ extern _X_EXPORT void _outb(unsigned char val, unsigned long port);
+ extern _X_EXPORT void _outw(unsigned short val, unsigned long port);
+ extern _X_EXPORT void _outl(unsigned int val, unsigned long port);
+ extern _X_EXPORT unsigned int _inb(unsigned long port);
+ extern _X_EXPORT unsigned int _inw(unsigned long port);
+ extern _X_EXPORT unsigned int _inl(unsigned long port);
+
+ static __inline__ void
+ outb(unsigned long port, unsigned char val)
+ {
+ _outb(val, port);
+ }
+
+ static __inline__ void
+ outw(unsigned long port, unsigned short val)
+ {
+ _outw(val, port);
+ }
+
+ static __inline__ void
+ outl(unsigned long port, unsigned int val)
+ {
+ _outl(val, port);
+ }
+
+ static __inline__ unsigned int
+ inb(unsigned long port)
+ {
+ return _inb(port);
+ }
+
+ static __inline__ unsigned int
+ inw(unsigned long port)
+ {
+ return _inw(port);
+ }
+
+ static __inline__ unsigned int
+ inl(unsigned long port)
+ {
+ return _inl(port);
+ }
+
#elif (defined(linux) || defined(__FreeBSD__)) && defined(__amd64__)
#include <inttypes.h>
|