summaryrefslogtreecommitdiff
path: root/x11-base/xorg-server/files/xorg-server-1.12-ia64-fix_inx_outx.patch
diff options
context:
space:
mode:
Diffstat (limited to 'x11-base/xorg-server/files/xorg-server-1.12-ia64-fix_inx_outx.patch')
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.12-ia64-fix_inx_outx.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/x11-base/xorg-server/files/xorg-server-1.12-ia64-fix_inx_outx.patch b/x11-base/xorg-server/files/xorg-server-1.12-ia64-fix_inx_outx.patch
new file mode 100644
index 00000000..24a5a02f
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.12-ia64-fix_inx_outx.patch
@@ -0,0 +1,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>