aboutsummaryrefslogtreecommitdiff
path: root/nx-X11
diff options
context:
space:
mode:
authorOrion Poplawski <orion@cora.nwra.com>2015-02-13 13:37:33 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-02-13 13:37:33 +0100
commit31cdd874cf2ca5b5cfad699ff1d283f0747821e4 (patch)
treea30787ea1e713c0bff10c6b8b0b3b19941b31aec /nx-X11
parentab8d1276f5c7ebef6f959cfb691cce5fff6867b4 (diff)
downloadnx-libs-31cdd874cf2ca5b5cfad699ff1d283f0747821e4.tar.gz
nx-libs-31cdd874cf2ca5b5cfad699ff1d283f0747821e4.tar.bz2
nx-libs-31cdd874cf2ca5b5cfad699ff1d283f0747821e4.zip
Provide build support for aarch64 architecture (606_nx-X11_build-on-aarch64.full.patch).
Diffstat (limited to 'nx-X11')
-rw-r--r--nx-X11/config/cf/Imake.cf3
-rw-r--r--nx-X11/config/cf/Imake.tmpl4
-rw-r--r--nx-X11/config/cf/linux.cf10
-rw-r--r--nx-X11/programs/Xserver/include/servermd.h22
4 files changed, 39 insertions, 0 deletions
diff --git a/nx-X11/config/cf/Imake.cf b/nx-X11/config/cf/Imake.cf
index 1be537b80..16b79c834 100644
--- a/nx-X11/config/cf/Imake.cf
+++ b/nx-X11/config/cf/Imake.cf
@@ -908,6 +908,9 @@ XCOMM Keep cpp from replacing path elements containing i486/i586/i686
# endif
# undef __ARMEB__
# endif
+# ifdef __aarch64__
+# define Arm64Architecture
+# endif
# ifdef mc68000
# define Mc68020Architecture
# undef mc68000
diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl
index 6ca974f57..595617267 100644
--- a/nx-X11/config/cf/Imake.tmpl
+++ b/nx-X11/config/cf/Imake.tmpl
@@ -526,6 +526,10 @@ XCOMM the platform-specific parameters - edit site.def to change
#define ByteOrder X_BIG_ENDIAN
#elif defined(Arm32Architecture)
#define ByteOrder X_LITTLE_ENDIAN
+#elif defined(Arm64ebArchitecture)
+#define ByteOrder X_BIG_ENDIAN
+#elif defined(Arm64Architecture)
+#define ByteOrder X_LITTLE_ENDIAN
#elif defined(RsArchitecture)
#define ByteOrder X_BIG_ENDIAN
#elif defined(PpcArchitecture) || defined(Ppc64Architecture)
diff --git a/nx-X11/config/cf/linux.cf b/nx-X11/config/cf/linux.cf
index 25d254787..32b7a8658 100644
--- a/nx-X11/config/cf/linux.cf
+++ b/nx-X11/config/cf/linux.cf
@@ -844,6 +844,16 @@ InstallNamedTargetNoClobber(install,file.ad,$(INSTAPPFLAGS),$(XAPPLOADDIR),class
# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
#endif /* Arm32Achitecture */
+#ifdef Arm64Architecture
+# define DefaultCCOptions
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O3
+# endif
+# define LinuxMachineDefines -D__aarch64__ -U__arm -Uarm
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines
+#endif /* Arm64Achitecture */
+
#ifdef HPArchitecture
# define OptimizedCDebugFlags -O2 GccAliasingArgs
# define LinuxMachineDefines -D__hppa__
diff --git a/nx-X11/programs/Xserver/include/servermd.h b/nx-X11/programs/Xserver/include/servermd.h
index cce6b329c..a04c2aa5e 100644
--- a/nx-X11/programs/Xserver/include/servermd.h
+++ b/nx-X11/programs/Xserver/include/servermd.h
@@ -154,6 +154,28 @@ SOFTWARE.
#endif /* __arm32__ */
+#ifdef __aarch64__
+
+#ifdef __AARCH64EL__
+#define IMAGE_BYTE_ORDER LSBFirst
+#define BITMAP_BIT_ORDER LSBFirst
+#endif
+#ifdef __AARCH64EB__
+#define IMAGE_BYTE_ORDER MSBFirst
+#define BITMAP_BIT_ORDER MSBFirst
+#endif
+
+# if defined(XF86MONOVGA) || defined(XF86VGA16)
+# define BITMAP_SCANLINE_UNIT 8
+# endif
+
+#define GLYPHPADBYTES 4
+#define GETLEFTBITS_ALIGNMENT 1
+#define LARGE_INSTRUCTION_CACHE
+#define AVOID_MEMORY_READ
+
+#endif /* __aarch64__ */
+
#if defined (hpux) || defined __hppa__
#define IMAGE_BYTE_ORDER MSBFirst