[xserver] Add definitions for the AArch64 architecture

Submitted by Marcin Juszkiewicz on Jan. 7, 2013, 12:34 p.m.

Details

Message ID 50EAC0C4.9020707@linaro.org
State Superseded
Headers show

Not browsing as part of any series.

Commit Message

Marcin Juszkiewicz Jan. 7, 2013, 12:34 p.m.
W dniu 03.01.2013 16:33, Thomas Petazzoni pisze:
> AArch64 is the new 64 bits architecture from ARM, for which a few
> definitions are needed in the X.org server to make it build properly.
> 
> Like for the ARM 32 bits architecture, we for now assume that AArch64
> will be used in Little Endian mode for Linux.

I subscribed to ML to send it directly (as previous one got to
moderation queue).

> +/* linux on AArch64 */
> +#if defined(linux) && defined(__aarch64__)
> +
> +#define IMAGE_BYTE_ORDER       LSBFirst
> +#define BITMAP_BIT_ORDER       LSBFirst
> +#define GLYPHPADBYTES          4
> +
> +#endif

Order is reverse. I went that way first time but image booted in AArch64
commercial fast model shown distorted xterm [1]. Changed to MSBFirst and
xterm starts and displays properly [2].

Attached patch.

1. https://plus.google.com/u/0/105007947798310229700/posts/grcK83g5jys
2. https://plus.google.com/u/0/105007947798310229700/posts/dRu2UVEv9gz

Patch hide | download patch | download mbox

From 4e0ad136c0964d7cf7d5660b970cfdc08f2cf680 Mon Sep 17 00:00:00 2001
From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Date: Mon, 7 Jan 2013 12:20:32 +0100
Subject: [PATCH] Add definitions for the AArch64 architecture

AArch64 is the new 64 bits architecture from ARM, for which a few
definitions are needed in the X.org server to make it build properly.

Checked in AArch64 commercial fast model (with graphics support).

Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
---
 include/servermd.h | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/include/servermd.h b/include/servermd.h
index d6a9a3a..090da1c 100644
--- a/include/servermd.h
+++ b/include/servermd.h
@@ -245,6 +245,13 @@  SOFTWARE.
 /* ???? */
 #endif                          /* AMD64 */
 
+#if defined(__aarch64__) || defined(aarch64) || defined(__aarch64)
+#define IMAGE_BYTE_ORDER	MSBFirst
+#define BITMAP_BIT_ORDER       MSBFirst
+#define GLYPHPADBYTES		4
+/* ???? */
+#endif                          /* AArch64 */
+
 #if	defined(SVR4) && (defined(__i386__) || defined(__i386) ) ||	\
 	defined(__alpha__) || defined(__alpha) || \
 	defined(__i386__) || \
-- 
1.8.0