summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Brodkin <Alexey.Brodkin@synopsys.com>2014-05-01 15:39:29 +0300
committerKeith Packard <keithp@keithp.com>2014-05-22 16:15:21 -0700
commitc08d2b8ccb0158dbf1f529f80cc3236e66236cce (patch)
tree6aaa2f6143560634c49be9e73ec8b46ac66fca36
parent01e18af17f8dc91451fbd0902049045afd1cea7e (diff)
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 <abrodkin@synopsys.com> Acked-by: Adam Jackson <ajax@redhat.com> Reviewed-by: Egbert Eich <eich@freedesktop.org> Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--hw/xfree86/common/compiler.h4
-rw-r--r--hw/xfree86/os-support/linux/lnx_video.c3
-rw-r--r--include/servermd.h13
3 files changed, 17 insertions, 3 deletions
diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index fb95f58bf..0319de06b 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 47f5abc2c..40765fccf 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 <sys/io.h> to declare
diff --git a/include/servermd.h b/include/servermd.h
index 11f6c1022..2d1ccb19f 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.