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 <[email protected]> --- 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 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
