From 299f89ab57d7a5df1031f6b4c28588bb878a7ddb Mon Sep 17 00:00:00 2001 From: Alexey Brodkin Date: Mon, 26 May 2014 11:49:18 +0400 Subject: [PATCH] xserver_xorg-server: add support of ARC architecture Support of ARC was added after 1.15.1 release so until the next official release happens this patch enables building and execution of Xorg server on ARC. Upstream commit: http://cgit.freedesktop.org/xorg/xserver/commit/?id=c08d2b8ccb0158dbf1f529f80cc3236e66236cce Signed-off-by: Alexey Brodkin Cc: Bernd Kuhls Cc: Thomas Petazzoni Cc: Peter Korsgaard Signed-off-by: Peter Korsgaard --- ...rver_xorg-server-add-support-for-arc.patch | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) create mode 100644 package/x11r7/xserver_xorg-server/xserver_xorg-server-add-support-for-arc.patch 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 -- 2.30.2