[PATCH] initial aarch64 support
Mark Salter
msalter at redhat.com
Fri Jun 7 08:41:56 PDT 2013
Basic suport for AArch64 (64bit ARM) architecture. This is enough to get things
to build. Hardware is not yet available for testing, so a more thorough port
will be needed once hardware does become available.
Signed-off-by: Mark Salter <msalter at redhat.com>
---
configure.ac | 3 +++
fb/fb.h | 2 +-
hw/xfree86/common/compiler.h | 2 +-
include/servermd.h | 15 ++++++++++++++-
4 files changed, 19 insertions(+), 3 deletions(-)
diff --git a/configure.ac b/configure.ac
index b31559d..13d279f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -317,6 +317,9 @@ DEFAULT_INT10="x86emu"
dnl Override defaults as needed for specific platforms:
case $host_cpu in
+ aarch64*)
+ GLX_ARCH_DEFINES="-D__GLX_ALIGN64"
+ ;;
alpha*)
ALPHA_VIDEO=yes
case $host_os in
diff --git a/fb/fb.h b/fb/fb.h
index b869d12..af509a7 100644
--- a/fb/fb.h
+++ b/fb/fb.h
@@ -114,7 +114,7 @@ typedef unsigned __int64 FbBits;
defined(__sparc64__) || defined(_LP64) || \
defined(__s390x__) || \
defined(amd64) || defined (__amd64__) || \
- defined (__powerpc64__)
+ defined (__powerpc64__) || defined (__aarch64__)
typedef unsigned long FbBits;
#else
typedef unsigned long long FbBits;
diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index c980bee..3a57186 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -1351,7 +1351,7 @@ stl_u(unsigned long val, unsigned int *p)
#else /* ix86 */
#if !defined(__SUNPRO_C)
-#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__)
+#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) && !defined(__aarch64__)
#ifdef GCCUSESGAS
/*
diff --git a/include/servermd.h b/include/servermd.h
index d6a9a3a..b65d410 100644
--- a/include/servermd.h
+++ b/include/servermd.h
@@ -245,10 +245,16 @@ SOFTWARE.
/* ???? */
#endif /* AMD64 */
+#if defined(__aarch64__)
+#define IMAGE_BYTE_ORDER LSBFirst
+#define BITMAP_BIT_ORDER LSBFirst
+#define GLYPHPADBYTES 4
+#endif /* AArch64 */
+
#if defined(SVR4) && (defined(__i386__) || defined(__i386) ) || \
defined(__alpha__) || defined(__alpha) || \
defined(__i386__) || \
- defined(__s390x__) || defined(__s390__)
+ defined(__s390x__) || defined(__s390__) || defined(__aarch64__)
#ifndef IMAGE_BYTE_ORDER
#define IMAGE_BYTE_ORDER LSBFirst
@@ -286,6 +292,13 @@ SOFTWARE.
#define GLYPHPADBYTES 4
#endif /* linux/s390 */
+/* linux on AArch64 */
+#if defined(linux) && defined(__aarch64__)
+#define IMAGE_BYTE_ORDER LSBFirst
+#define BITMAP_BIT_ORDER LSBFirst
+#define GLYPHPADBYTES 4
+#endif
+
/* size of buffer to use with GetImage, measured in bytes. There's obviously
* a trade-off between the amount of heap used and the number of times the
* ddx routine has to be called.
--
1.8.1.4
More information about the xorg-devel
mailing list