tags 769490 + patch
thanks
Description: Add arm64 support
Author: dann frazier <[email protected]>
Last-Update: 2014-11-13
diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/Imake.cf vnc4-4.1.1+X4.3.0/unix/xc/config/cf/Imake.cf
--- vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/Imake.cf 2003-02-18 16:51:45.000000000 +0000
+++ vnc4-4.1.1+X4.3.0/unix/xc/config/cf/Imake.cf 2014-11-13 22:56:20.646494516 +0000
@@ -211,6 +211,10 @@ XCOMM $XFree86: xc/config/cf/Imake.cf,v
# define PpcArchitecture
# undef __powerpc__
# endif
+# ifdef __aarch64__
+# define Aarch64Architecture
+# undef __powerpc__
+# endif
#endif /* NetBSD */
#ifdef __FreeBSD__
@@ -727,6 +731,10 @@ XCOMM Keep cpp from replacing path eleme
# define s390Architecture
# undef __s390__
# endif /* s390 */
+# ifdef __aarch64__
+# define Aarch64Architecture
+# undef __aarch64__
+# endif
# ifdef __alpha
# define AlphaArchitecture
# undef __alpha
diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/linux.cf vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf
--- vnc4-4.1.1+X4.3.0.orig/unix/xc/config/cf/linux.cf 2014-11-13 23:52:53.000000000 +0000
+++ vnc4-4.1.1+X4.3.0/unix/xc/config/cf/linux.cf 2014-11-13 23:00:43.786494516 +0000
@@ -748,6 +748,17 @@ InstallNamedTargetNoClobber(install,file
# define VendorHasX11R6_3libXext YES /* XC or XFree86 >= 3.3.1 */
#endif
+#ifdef Aarch64Architecture
+/* Cargoculted from Arm32Architecture w/ -D_XSERVER64 added */
+# define DefaultCCOptions -fsigned-char
+# ifndef OptimizedCDebugFlags
+# define OptimizedCDebugFlags -O3
+# endif
+# define LinuxMachineDefines -D__aarch64__
+# define ServerOSDefines XFree86ServerOSDefines -DDDXTIME -DPART_NET
+# define ServerExtraDefines -DGCCUSESGAS XFree86ServerDefines -D_XSERVER64
+#endif /* Aarch64Architecture */
+
#ifdef AlphaArchitecture
# ifndef OptimizedCDebugFlags
# define OptimizedCDebugFlags DefaultGcc2AxpOpt
diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/include/Xmd.h vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h
--- vnc4-4.1.1+X4.3.0.orig/unix/xc/include/Xmd.h 2014-11-13 23:52:53.000000000 +0000
+++ vnc4-4.1.1+X4.3.0/unix/xc/include/Xmd.h 2014-11-13 23:02:10.936494516 +0000
@@ -58,7 +58,8 @@ SOFTWARE.
#ifdef CRAY
#define WORD64 /* 64-bit architecture */
#endif
-#if defined(__alpha) || defined(__alpha__) || \
+#if defined (__aarch64__) || \
+ defined(__alpha) || defined(__alpha__) || \
defined(__ia64__) || defined(ia64) || \
defined(__sparc64__) || defined(__powerpc64__) || \
defined(__s390x__) || \
diff -urpN vnc4-4.1.1+X4.3.0.orig/unix/xc/programs/Xserver/include/servermd.h vnc4-4.1.1+X4.3.0/unix/xc/programs/Xserver/include/servermd.h
--- vnc4-4.1.1+X4.3.0.orig/unix/xc/programs/Xserver/include/servermd.h 2002-05-31 18:46:04.000000000 +0000
+++ vnc4-4.1.1+X4.3.0/unix/xc/programs/Xserver/include/servermd.h 2014-11-13 23:16:54.886494516 +0000
@@ -132,6 +132,28 @@ SOFTWARE.
#endif /* vax */
+#ifdef __aarch64__
+/* Heavily cargo-culted from arm32 */
+#define IMAGE_BYTE_ORDER LSBFirst
+
+# if defined(XF86MONOVGA) || defined(XF86VGA16) || defined(XF86MONO)
+# define BITMAP_BIT_ORDER MSBFirst
+# else
+# define BITMAP_BIT_ORDER LSBFirst
+# 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
+#define PLENTIFUL_REGISTERS
+
+#endif /* __aarch64__ */
+
#ifdef __arm32__
#define IMAGE_BYTE_ORDER LSBFirst