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>
This commit is contained in:
Alexey Brodkin 2014-05-01 15:39:29 +03:00 committed by Keith Packard
parent 01e18af17f
commit c08d2b8ccb
3 changed files with 17 additions and 3 deletions

View File

@ -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)

View File

@ -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

View File

@ -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.