From 31cdd874cf2ca5b5cfad699ff1d283f0747821e4 Mon Sep 17 00:00:00 2001 From: Orion Poplawski Date: Fri, 13 Feb 2015 13:37:33 +0100 Subject: Provide build support for aarch64 architecture (606_nx-X11_build-on-aarch64.full.patch). --- nx-X11/config/cf/Imake.cf | 3 +++ nx-X11/config/cf/Imake.tmpl | 4 ++++ nx-X11/config/cf/linux.cf | 10 ++++++++++ nx-X11/programs/Xserver/include/servermd.h | 22 ++++++++++++++++++++++ 4 files changed, 39 insertions(+) (limited to 'nx-X11') 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 -- cgit v1.2.3