summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'x11-base/xorg-server/files/0001-compiler.h-split-MIPS-and-ARM-code.patch')
-rw-r--r--x11-base/xorg-server/files/0001-compiler.h-split-MIPS-and-ARM-code.patch94
1 files changed, 94 insertions, 0 deletions
diff --git a/x11-base/xorg-server/files/0001-compiler.h-split-MIPS-and-ARM-code.patch b/x11-base/xorg-server/files/0001-compiler.h-split-MIPS-and-ARM-code.patch
new file mode 100644
index 0000000..b858ecb
--- /dev/null
+++ b/x11-base/xorg-server/files/0001-compiler.h-split-MIPS-and-ARM-code.patch
@@ -0,0 +1,94 @@
+From 66482b79cf539e53a522787fce7fdfe74989a0e4 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Thu, 10 May 2012 13:11:12 -0400
+Subject: [PATCH 1/3] compiler.h: split MIPS and ARM code
+
+Signed-off-by: Matt Turner <mattst88@gmail.com>
+---
+ hw/xfree86/common/compiler.h | 55 ++++++++++++++++++++++++++++++++++++-----
+ 1 files changed, 48 insertions(+), 7 deletions(-)
+
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index 0abdfb6..27bce92 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -703,12 +703,8 @@ xf86WriteMmio32LeNB(__volatile__ void *base, const unsigned long offset,
+ :"r"(val), "r"(addr), "i"(ASI_PL));
+ }
+
+-#elif defined(__mips__) || (defined(__arm32__) && !defined(__linux__))
+-#ifdef __arm32__
+-#define PORT_SIZE long
+-#else
++#elif defined(__mips__)
+ #define PORT_SIZE short
+-#endif
+
+ _X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */
+
+@@ -754,7 +750,6 @@ inl(unsigned PORT_SIZE port)
+ IOPortBase);
+ }
+
+-#if defined(__mips__)
+ #ifdef linux /* don't mess with other OSs */
+ #if X_BYTE_ORDER == X_BIG_ENDIAN
+ static __inline__ unsigned int
+@@ -780,7 +775,53 @@ xf86WriteMmio32Be(__volatile__ void *base, const unsigned long offset,
+ }
+ #endif
+ #endif /* !linux */
+-#endif /* __mips__ */
++
++#elif (defined(__arm32__) && !defined(__linux__))
++#define PORT_SIZE long
++
++_X_EXPORT unsigned int IOPortBase; /* Memory mapped I/O port area */
++
++static __inline__ void
++outb(unsigned PORT_SIZE port, unsigned char val)
++{
++ *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
++ val;
++}
++
++static __inline__ void
++outw(unsigned PORT_SIZE port, unsigned short val)
++{
++ *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
++ val;
++}
++
++static __inline__ void
++outl(unsigned PORT_SIZE port, unsigned int val)
++{
++ *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) + IOPortBase) =
++ val;
++}
++
++static __inline__ unsigned int
++inb(unsigned PORT_SIZE port)
++{
++ return *(volatile unsigned char *) (((unsigned PORT_SIZE) (port)) +
++ IOPortBase);
++}
++
++static __inline__ unsigned int
++inw(unsigned PORT_SIZE port)
++{
++ return *(volatile unsigned short *) (((unsigned PORT_SIZE) (port)) +
++ IOPortBase);
++}
++
++static __inline__ unsigned int
++inl(unsigned PORT_SIZE port)
++{
++ return *(volatile unsigned int *) (((unsigned PORT_SIZE) (port)) +
++ IOPortBase);
++}
+
+ #elif (defined(linux) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__)) && defined(__powerpc__)
+
+--
+1.7.3.4
+