diff --git a/package/x11r7/xserver_xorg-server/xserver_xorg-server-add-support-for-arc.patch b/package/x11r7/xserver_xorg-server/xserver_xorg-server-add-support-for-arc.patch new file mode 100644 index 0000000000..4bf2018c72 --- /dev/null +++ b/package/x11r7/xserver_xorg-server/xserver_xorg-server-add-support-for-arc.patch @@ -0,0 +1,81 @@ +Upstream-Status: Backport (should be a part of 1.15.2 - remove then) + +http://cgit.freedesktop.org/xorg/xserver/commit/?id=c08d2b8ccb0158dbf1f529f80cc3236e66236cce + +From c08d2b8ccb0158dbf1f529f80cc3236e66236cce Mon Sep 17 00:00:00 2001 +From: Alexey Brodkin +Date: Thu, 01 May 2014 12:39:29 +0000 +Subject: ARC: Add support for ARC architecture + +Xorg server could be built for and run on Synopsys DesignWare ARC cores. +These changes are required for successful building and execution of the server. + +Both little-endian and big-endian flavors of ARC cores are supported. + +Signed-off-by: Alexey Brodkin +Acked-by: Adam Jackson +Reviewed-by: Egbert Eich +Signed-off-by: Keith Packard +--- +diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h +index fb95f58..0319de0 100644 +--- a/hw/xfree86/common/compiler.h ++++ b/hw/xfree86/common/compiler.h +@@ -1352,7 +1352,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__) && !defined(__aarch64__) ++#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__m32r__) && !defined(__aarch64__) && !defined(__arc__) + #ifdef GCCUSESGAS + + /* +@@ -1454,7 +1454,7 @@ inl(unsigned short port) + + #endif /* GCCUSESGAS */ + +-#else /* !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__m32r__) */ ++#else /* !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && !defined(__sh__) && !defined(__hppa__) && !defined(__m32r__) && !defined(__arc__) */ + + static __inline__ void + outb(unsigned short port, unsigned char val) +diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c +index 47f5abc..40765fc 100644 +--- a/hw/xfree86/os-support/linux/lnx_video.c ++++ b/hw/xfree86/os-support/linux/lnx_video.c +@@ -59,7 +59,8 @@ static Bool ExtendedEnabled = FALSE; + !defined(__mips__) && \ + !defined(__nds32__) && \ + !defined(__arm__) && \ +- !defined(__aarch64__) ++ !defined(__aarch64__) && \ ++ !defined(__arc__) + + /* + * Due to conflicts with "compiler.h", don't rely on to declare +diff --git a/include/servermd.h b/include/servermd.h +index 11f6c10..2d1ccb1 100644 +--- a/include/servermd.h ++++ b/include/servermd.h +@@ -300,6 +300,19 @@ SOFTWARE. + + #endif /* __aarch64__ */ + ++#if defined(__arc__) ++ ++#if defined(__BIG_ENDIAN__) ++#define IMAGE_BYTE_ORDER MSBFirst ++#define BITMAP_BIT_ORDER MSBFirst ++#else ++#define IMAGE_BYTE_ORDER LSBFirst ++#define BITMAP_BIT_ORDER LSBFirst ++#endif ++#define GLYPHPADBYTES 4 ++ ++#endif /* ARC */ ++ + /* 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. +-- +cgit v0.9.0.2-2-gbebe