patch-2.1.110 linux/arch/arm/kernel/head-armv.S
Next file: linux/arch/arm/kernel/iic.c
Previous file: linux/arch/arm/kernel/entry-common.S
Back to the patch index
Back to the overall index
- Lines: 116
- Date:
Sat Jul 18 11:55:23 1998
- Orig file:
v2.1.109/linux/arch/arm/kernel/head-armv.S
- Orig date:
Fri May 8 23:14:42 1998
diff -u --recursive --new-file v2.1.109/linux/arch/arm/kernel/head-armv.S linux/arch/arm/kernel/head-armv.S
@@ -22,18 +22,20 @@
* MMU off. Note! These should be unique!!! Please read Documentation/ARM-README
* for more information.
*
- * r1 = 0 -> ebsa110 (Ram @ 0x00000000)
- * r1 = 1 -> RPC (Ram @ 0x10000000)
- * r1 = 2 -> ebsit (???)
+ * r1 = 0 -> ebsa110
+ * r1 = 1 -> RPC
+ * r1 = 2 -> ebsit
* r1 = 3 -> nexuspci
- * r1 = 4 -> ebsa285 (Ram @ 0x00000000)
+ * r1 = 4 -> ebsa285
+ * r1 = 5 -> vnc
+ * r1 = 6 -> CATS
*/
ENTRY(stext)
ENTRY(_stext)
__entry:
teq r0, #0 @ check for illegal entry...
bne .Lerror @ loop indefinitely
- cmp r1, #5 @ Unknown machine architecture
+ cmp r1, #7 @ Unknown machine architecture
bge .Lerror
@
@ First thing to do is to get the page tables set up so that we can call the kernel
@@ -119,7 +121,8 @@
@ we lose this page!
mov pc, lr
-.Lerror: mov r0, #0x02000000
+.Lerror:
+1: mov r0, #0x02000000
mov r1, #0x11
orr r1, r1, r1, lsl #8
orr r1, r1, r1, lsl #16
@@ -127,7 +130,7 @@
str r1, [r0], #4
str r1, [r0], #4
str r1, [r0], #4
- b .Lerror
+ b 1b
.Lbranch: .long .Lalready_done_mmap @ Real address of routine
@@ -156,12 +159,22 @@
.long 0
@ EBSA285
- .long SYMBOL_NAME(swapper_pg_dir) - 0xc0000000 @ Address of page tables (physical)
+ .long SYMBOL_NAME(swapper_pg_dir) - 0xc0000000 @ Address of page tables (physical)
.long 0 @ Address of RAM
.long 0x24000000 @ I/O base address (0x42000000 -> 0xFE000000)
.long 0
+ @ Corel VNC
+ .long SYMBOL_NAME(swapper_pg_dir) - 0xc0000000 @ Address of page tables (physical)
+ .long 0 @ Address of RAM
+ .long 0x24000000 @ I/O base address (0x42000000 -> 0xfe000000)
+ .long 0
+ @ CATS
+ .long SYMBOL_NAME(swapper_pg_dir) - 0xc0000000 @ Address of page tables (physical)
+ .long 0 @ Address of RAM
+ .long 0x24000000 @ I/O base address (0x42000000 -> 0xfe000000)
+ .long 0
.LCProcTypes: @ ARM6 / 610
.long 0x41560600
@@ -170,13 +183,20 @@
b .Larmv3_flush_early @ arm v3 flush & ctrl early setup
mov pc, lr
- @ ARM7 / 710
+ @ ARM7
.long 0x41007000
.long 0xfffff000
.long 0x00000c12
b .Larmv3_flush_late @ arm v3 flush & ctrl late setup
mov pc, lr
+ @ ARM710
+ .long 0x41007000
+ .long 0xfff8f000 @ arm710 processors are weird
+ .long 0x00000c12
+ b .Larmv3_flush_late @ arm v3 flush & ctrl late setup
+ mov pc, lr
+
@ StrongARM
.long 0x4401a100
.long 0xfffffff0
@@ -267,6 +287,7 @@
.macro busyuart,rd,rx
1002: ldrb \rd, [\rx, #0x14]
and \rd, \rd, #0x60
+ teq \rd, #0x60
bne 1002b
.endm
@@ -289,6 +310,7 @@
.macro busyuart,rd,rx
1002: ldrb \rd, [\rx, #0x14]
and \rd, \rd, #0x60
+ teq \rd, #0x60
bne 1002b
.endm
@@ -298,7 +320,7 @@
beq 1001b
.endm
-#elif defined(CONFIG_ARCH_EBSA285)
+#elif defined(CONFIG_ARCH_EBSA285) || defined(CONFIG_ARCH_VNC)
.macro addruart,rx
mov \rx, #0xfe000000
.endm
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov