summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRichard Sandiford <rsandifo@linux.vnet.ibm.com>2013-06-05 09:26:29 +0100
committerBrian Paul <brianp@vmware.com>2013-06-05 08:36:24 -0600
commit7bdf1f2f1a3d7779919e7d45b2d4a22fb227932a (patch)
treedc251df4f533897495177ac8ff01cae83a654757 /src
parent008fd036007a9e71f669ca49c87767fd19fd77e1 (diff)
downloadexternal_mesa3d-7bdf1f2f1a3d7779919e7d45b2d4a22fb227932a.zip
external_mesa3d-7bdf1f2f1a3d7779919e7d45b2d4a22fb227932a.tar.gz
external_mesa3d-7bdf1f2f1a3d7779919e7d45b2d4a22fb227932a.tar.bz2
gallium: System z support
The main change is to use MCJIT rather than the old JIT, which will never be supported for System z. The endianness part is by example since the patch was tested on a glibc system. Signed-off-by: Richard Sandiford <rsandifo@linux.vnet.ibm.com> Signed-off-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/gallivm/lp_bld_init.c2
-rw-r--r--src/gallium/include/pipe/p_config.h6
2 files changed, 6 insertions, 2 deletions
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index 4a428ee..3258f03 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -49,7 +49,7 @@
* - MC-JIT supports limited OSes (MacOSX and Linux)
* - standard JIT in LLVM 3.1, with backports
*/
-#if defined(PIPE_ARCH_PPC_64)
+#if defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390)
# define USE_MCJIT 1
# define HAVE_AVX 0
#elif HAVE_LLVM >= 0x0302 || (HAVE_LLVM == 0x0301 && defined(HAVE_JIT_AVX_SUPPORT))
diff --git a/src/gallium/include/pipe/p_config.h b/src/gallium/include/pipe/p_config.h
index 9a09cee..6b51160 100644
--- a/src/gallium/include/pipe/p_config.h
+++ b/src/gallium/include/pipe/p_config.h
@@ -110,6 +110,10 @@
#endif
#endif
+#if defined(__s390x__)
+#define PIPE_ARCH_S390
+#endif
+
/*
* Endian detection.
@@ -146,7 +150,7 @@
#if defined(PIPE_ARCH_X86) || defined(PIPE_ARCH_X86_64)
#define PIPE_ARCH_LITTLE_ENDIAN
-#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64)
+#elif defined(PIPE_ARCH_PPC) || defined(PIPE_ARCH_PPC_64) || defined(PIPE_ARCH_S390)
#define PIPE_ARCH_BIG_ENDIAN
#endif