summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/head_32.S
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2005-11-23 07:58:13 +0100
committerPaul Mackerras <paulus@samba.org>2006-01-09 04:49:58 +0100
commitd7f3945420b5d8114f2d4d85e90abe5063cc196a (patch)
treeed09dbc5b91827c09d62af225ff826e2153e42af /arch/powerpc/kernel/head_32.S
parent[PATCH] powerpc: Unify udbg (#2) (diff)
downloadlinux-d7f3945420b5d8114f2d4d85e90abe5063cc196a.tar.xz
linux-d7f3945420b5d8114f2d4d85e90abe5063cc196a.zip
[PATCH] powerpc: Add back support for booting from BootX (#2)
ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'arch/powerpc/kernel/head_32.S')
-rw-r--r--arch/powerpc/kernel/head_32.S13
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/head_32.S b/arch/powerpc/kernel/head_32.S
index fdd34dbd8797..6359e364fe66 100644
--- a/arch/powerpc/kernel/head_32.S
+++ b/arch/powerpc/kernel/head_32.S
@@ -125,6 +125,19 @@ __start:
bl prom_init
trap
+/*
+ * Check for BootX signature when supporting PowerMac and branch to
+ * appropriate trampoline if it's present
+ */
+#ifdef CONFIG_PPC_PMAC
+1: lis r31,0x426f
+ ori r31,r31,0x6f58
+ cmpw 0,r3,r31
+ bne 1f
+ bl bootx_init
+ trap
+#endif /* CONFIG_PPC_PMAC */
+
1: mr r31,r3 /* save parameters */
mr r30,r4
li r24,0 /* cpu # */