[PATCH v2] ARC: Add support for ARC architecture
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Thu May 1 05:39:29 PDT 2014
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 at synopsys.com>
Cc: Vineet Gupta <vgupta at synopsys.com>
Cc: Andreas Schwab <schwab at suse.de>
Cc: Mark Kettenis <kettenis at openbsd.org>
Cc: Adam Jackson <ajax at redhat.com>
Cc: Egbert Eich <eich at freedesktop.org>
Cc: Aaron Watry <awatry at gmail.com>
Cc: Keith Packard <keithp at keithp.com>
---
Compared to v1 only fixed pre-processor string (added "&") to fix compilation.
Thanks for Aaron Watry.
This v2 was tested with actual building and execution on a target.
hw/xfree86/common/compiler.h | 4 ++--
hw/xfree86/os-support/linux/lnx_video.c | 3 ++-
include/servermd.h | 13 +++++++++++++
3 files changed, 17 insertions(+), 3 deletions(-)
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 <sys/io.h> 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.
--
1.9.0
More information about the xorg-devel
mailing list