summaryrefslogtreecommitdiffstats
path: root/arch/arm/boot
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2000-06-19 22:45:37 +0000
committerRalf Baechle <ralf@linux-mips.org>2000-06-19 22:45:37 +0000
commit6d403070f28cd44860fdb3a53be5da0275c65cf4 (patch)
tree0d0e7fe7b5fb7568d19e11d7d862b77a866ce081 /arch/arm/boot
parentecf1bf5f6c2e668d03b0a9fb026db7aa41e292e1 (diff)
Merge with 2.4.0-test1-ac21 + pile of MIPS cleanups to make merging
possible. Chainsawed RM200 kernel to compile again. Jazz machine status unknown.
Diffstat (limited to 'arch/arm/boot')
-rw-r--r--arch/arm/boot/compressed/Makefile2
-rw-r--r--arch/arm/boot/compressed/head-sa1100.S1
-rw-r--r--arch/arm/boot/compressed/head.S34
3 files changed, 26 insertions, 11 deletions
diff --git a/arch/arm/boot/compressed/Makefile b/arch/arm/boot/compressed/Makefile
index 632126213..f8ff4124c 100644
--- a/arch/arm/boot/compressed/Makefile
+++ b/arch/arm/boot/compressed/Makefile
@@ -89,7 +89,7 @@ $(HEAD): $(HEAD:.o=.S)
piggy.o: $(SYSTEM)
$(OBJCOPY) $(SYSTEM) piggy
- gzip -9 < piggy > piggy.gz
+ gzip $(GZFLAGS) < piggy > piggy.gz
$(LD) -r -o $@ -b binary piggy.gz
rm -f piggy piggy.gz
diff --git a/arch/arm/boot/compressed/head-sa1100.S b/arch/arm/boot/compressed/head-sa1100.S
index 411a210cf..7b12ecef6 100644
--- a/arch/arm/boot/compressed/head-sa1100.S
+++ b/arch/arm/boot/compressed/head-sa1100.S
@@ -133,6 +133,5 @@ UART1_BASE: .long 0x80010000
#endif
@ Restore initial r0/r1
- @ (r8 preserved)
mov r0, r8
mov r1, r9
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 2c329295d..10c2290a0 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -84,9 +84,7 @@ start:
b 1f
.word 0x016f2818 @ Magic numbers to help the loader
.word start
-1: adr r8, start @ get the start address of the code
- @ (used for locating the page tables)
-
+1:
/*
* some architecture specific code can be inserted
* by the linker here, but it should preserve r0, r1
@@ -178,9 +176,13 @@ LC0: .word __bss_start
.align 5
cache_on: ldr r1, proc_sa110_type
eor r1, r1, r6
- movs r1, r1, lsr #5
+ movs r1, r1, lsr #5 @ catch SA110 and SA1100
+ beq 1f
+ ldr r1, proc_sa1110_type
+ eor r1, r1, r6
+ movs r1, r1, lsr #4
movne pc, lr
-
+1:
sub r3, r4, #16384 @ Page directory size
bic r3, r3, #0xff @ Align the pointer
bic r3, r3, #0x3f
@@ -259,6 +261,11 @@ proc_sa110_type:
.word 0x4401a100
.size proc_sa110_type, . - proc_sa110_type
+ .type proc_sa1110_type,#object
+proc_sa1110_type:
+ .word 0x6901b110
+ .size proc_sa1110_type, . - proc_sa1110_type
+
/*
* Turn off StrongARM cache and MMU. It is safe to
* leave the I-cache on.
@@ -273,8 +280,13 @@ proc_sa110_type:
.align 5
cache_off: ldr r1, proc_sa110_type
eor r1, r1, r6
- movs r1, r1, lsr #5
+ movs r1, r1, lsr #5 @ catch SA110 and SA1100
+ beq 1f
+ ldr r1, proc_sa1110_type
+ eor r1, r1, r6
+ movs r1, r1, lsr #4
movne pc, lr
+1:
mrc p15, 0, r0, c1, c0
bic r0, r0, #0x000d
mcr p15, 0, r0, c1, c0
@@ -292,11 +304,15 @@ cache_off: ldr r1, proc_sa110_type
*/
.align 5
cache_clean_flush:
- ldr r1, proc_sa110_type @ SA-110 or SA-1100?
+ ldr r1, proc_sa110_type
+ eor r1, r1, r6
+ movs r1, r1, lsr #5 @ catch SA110 and SA1100
+ beq 1f
+ ldr r1, proc_sa1110_type
eor r1, r1, r6
- movs r1, r1, lsr #5
+ movs r1, r1, lsr #4
movne pc, lr
-
+1:
bic r1, pc, #31
add r2, r1, #32768
1: ldr r12, [r1], #32 @ s/w flush D cache