--- /dev/null
+From dc8d0688471695ec5a8db5fef93fbcfc064891d5 Mon Sep 17 00:00:00 2001
+From: Max Filippov <jcmvbkbc@gmail.com>
+Date: Mon, 2 Jun 2014 01:17:31 +0400
+Subject: [PATCH] xtensa: add support for xtensa architecture
+
+Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+Signed-off-by: Keith Packard <keithp@keithp.com>
+---
+Backported from: dc8d0688471695ec5a8db5fef93fbcfc064891d5
+
+ hw/xfree86/common/compiler.h | 5 ++++-
+ hw/xfree86/os-support/linux/lnx_video.c | 3 ++-
+ include/servermd.h | 14 ++++++++++++++
+ 3 files changed, 20 insertions(+), 2 deletions(-)
+
+diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
+index 0319de0..1bd8def 100644
+--- a/hw/xfree86/common/compiler.h
++++ b/hw/xfree86/common/compiler.h
+@@ -1352,7 +1352,10 @@ 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__) && !defined(__arc__)
++#if !defined(FAKEIT) && !defined(__mc68000__) && !defined(__arm__) && \
++ !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && \
++ !defined(__m32r__) && !defined(__aarch64__) && !defined(__arc__) && \
++ !defined(__xtensa__)
+ #ifdef GCCUSESGAS
+
+ /*
+diff --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c
+index 40765fc..652f963 100644
+--- a/hw/xfree86/os-support/linux/lnx_video.c
++++ b/hw/xfree86/os-support/linux/lnx_video.c
+@@ -60,7 +60,8 @@ static Bool ExtendedEnabled = FALSE;
+ !defined(__nds32__) && \
+ !defined(__arm__) && \
+ !defined(__aarch64__) && \
+- !defined(__arc__)
++ !defined(__arc__) && \
++ !defined(__xtensa__)
+
+ /*
+ * 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 2d1ccb1..081123b 100644
+--- a/include/servermd.h
++++ b/include/servermd.h
+@@ -313,6 +313,20 @@ SOFTWARE.
+
+ #endif /* ARC */
+
++#ifdef __xtensa__
++
++#ifdef __XTENSA_EL__
++#define IMAGE_BYTE_ORDER LSBFirst
++#define BITMAP_BIT_ORDER LSBFirst
++#endif
++#ifdef __XTENSA_EB__
++#define IMAGE_BYTE_ORDER MSBFirst
++#define BITMAP_BIT_ORDER MSBFirst
++#endif
++#define GLYPHPADBYTES 4
++
++#endif /* __xtensa__ */
++
+ /* 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.7.7.6
+