X-Git-Url: https://git.piment-noir.org/?p=deb_xorg-server.git;a=blobdiff_plain;f=debian%2Fpatches%2F08_xfree86_fix_ia64_inx_outx.diff;fp=debian%2Fpatches%2F08_xfree86_fix_ia64_inx_outx.diff;h=10dbbe913f744f689e2a6d3d735a7a829a53cf56;hp=0000000000000000000000000000000000000000;hb=7217e0ca50bba73dad94782e67980aeeb24ab693;hpb=a09e091a5c996d46a398abb27b06fe504591673f diff --git a/debian/patches/08_xfree86_fix_ia64_inx_outx.diff b/debian/patches/08_xfree86_fix_ia64_inx_outx.diff new file mode 100644 index 0000000..10dbbe9 --- /dev/null +++ b/debian/patches/08_xfree86_fix_ia64_inx_outx.diff @@ -0,0 +1,64 @@ +From: Stephan Schreiber +Subject: xfree86: restore {in,out}{b,w,l} on linux/ia64 + +Call the equivalent glibc functions. + +Debian bug #685750 + +--- a/hw/xfree86/common/compiler.h ++++ b/hw/xfree86/common/compiler.h +@@ -438,6 +438,54 @@ extern _X_EXPORT unsigned int inl(unsign + #include + #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