[PATCH v2] ARC: Add support for ARC architecture
Alexey Brodkin
Alexey.Brodkin at synopsys.com
Fri May 9 04:22:12 PDT 2014
On Thu, 2014-05-01 at 15:39 +0300, Alexey Brodkin wrote:
> 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.
Any chance to get this one reviewed/applied?
Regards,
Alexey
More information about the xorg-devel
mailing list