From 04c42f566c68b757fdadf54e0e0f9dfe9f3f9b06 Mon Sep 17 00:00:00 2001
From: eric miao <eric.miao@marvell.com>
Date: Tue, 19 Jun 2007 16:42:53 +0800
Subject: [PATCH] [PATCH] make zylonite boot

1. reuse head-xscale.S for XSC3

2. add a workaround for machine ID assignment, which should be done
   by boot loader
---
 arch/arm/boot/compressed/Makefile      |    4 ++++
 arch/arm/boot/compressed/head-xscale.S |    5 +++++
 2 files changed, 9 insertions(+)

Index: linux-2.6-pxa3/arch/arm/boot/compressed/Makefile
===================================================================
--- linux-2.6-pxa3.orig/arch/arm/boot/compressed/Makefile	2007-09-24 11:25:57.000000000 +0200
+++ linux-2.6-pxa3/arch/arm/boot/compressed/Makefile	2007-09-24 12:26:53.000000000 +0200
@@ -40,6 +40,10 @@
 OBJS		+= head-xscale.o
 endif
 
+ifeq ($(CONFIG_CPU_XSC3),y)
+OBJS		+= head-xscale.o
+endif
+
 ifeq ($(CONFIG_PXA_SHARPSL),y)
 OBJS		+= head-sharpsl.o
 endif
Index: linux-2.6-pxa3/arch/arm/boot/compressed/head-xscale.S
===================================================================
--- linux-2.6-pxa3.orig/arch/arm/boot/compressed/head-xscale.S	2007-09-24 11:42:27.000000000 +0200
+++ linux-2.6-pxa3/arch/arm/boot/compressed/head-xscale.S	2007-09-24 12:26:02.000000000 +0200
@@ -33,6 +33,11 @@
 		bic	r0, r0, #0x1000		@ clear Icache
 		mcr	p15, 0, r0, c1, c0, 0
 
+#ifdef CONFIG_MACH_ZYLONITE
+		mov	r7, #(MACH_TYPE_ZYLONITE & 0xff)
+		orr	r7, r7, #(MACH_TYPE_ZYLONITE & 0xff00)
+#endif
+
 #ifdef CONFIG_ARCH_COTULLA_IDP
 		mov	r7, #MACH_TYPE_COTULLA_IDP
 #endif