summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-01-29 01:41:54 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-01-29 01:41:54 +0000
commitf969d69ba9f952e5bdd38278e25e26a3e4a61a70 (patch)
treeb3530d803df59d726afaabebc6626987dee1ca05 /arch/arm/boot
parenta10ce7ef2066b455d69187643ddf2073bfc4db24 (diff)
Merge with 2.3.27.
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/compressed/Makefile2
-rw-r--r--arch/arm/boot/compressed/head.S31
2 files changed, 27 insertions, 6 deletions
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 3c0478ab3..a9d71cb7b 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -8,7 +8,7 @@ OBJS = misc.o
SYSTEM = $(TOPDIR)/vmlinux
CFLAGS = -O2 -DSTDC_HEADERS $(CFLAGS_PROC)
FONTC = $(TOPDIR)/drivers/video/font_acorn_8x8.c
-ZLDFLAGS = -X -T vmlinux.lds
+ZLDFLAGS = -p -X -T vmlinux.lds
#
# Architecture dependencies
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 721967e4b..e87c0a72e 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -96,6 +96,8 @@ start:
*/
reloc_start: add r8, r5, r0
#if 0
+ mov r0, #'\n'
+ bl putc
mov r0, r6
mov r1, #8
bl phex
@@ -139,8 +141,8 @@ reloc_start: add r8, r5, r0
bl phex
mov r0, #'\n'
bl putc
- mov r0, r4
- bl memdump
+ mov r0, r4
+ bl memdump
#endif
eor r0, r6, #0x44 << 24 @ SA-110?
eor r0, r0, #0x01 << 16
@@ -155,6 +157,25 @@ call_kernel: mov r0, #0
phexbuf: .space 12
+#if 0
+ .macro loadsp, rb
+ mov \rb, #0x7c000000
+ .endm
+
+ .macro writeb, rb
+ strb \rb, [r3, #0x3f8]
+ .endm
+#else
+ .macro loadsp, rb
+ mov \rb, #0x03000000
+ orr \rb, \rb, #0x00010000
+ .endm
+
+ .macro writeb, rb
+ strb \rb, [r3, #0x3f8 << 2]
+ .endm
+#endif
+
phex: adr r3, phexbuf
mov r2, #0
strb r2, [r3, r1]
@@ -169,11 +190,11 @@ phex: adr r3, phexbuf
strb r2, [r3, r1]
b 1b
-puts: mov r3, #0x7c000000
+puts: loadsp r3
1: ldrb r2, [r0], #1
teq r2, #0
moveq pc, lr
-2: strb r2, [r3, #0x3f8]
+2: writeb r2
mov r1, #0x00020000
3: subs r1, r1, #1
bne 3b
@@ -186,7 +207,7 @@ puts: mov r3, #0x7c000000
putc:
mov r2, r0
mov r0, #0
- mov r3, #0x7c000000
+ loadsp r3
b 2b
memdump: mov r12, r0