summaryrefslogtreecommitdiffstats
path: root/uClinux-2.4.20-uc1/arch/armnommu/kernel/head-armv.S
diff options
context:
space:
mode:
Diffstat (limited to 'uClinux-2.4.20-uc1/arch/armnommu/kernel/head-armv.S')
-rw-r--r--uClinux-2.4.20-uc1/arch/armnommu/kernel/head-armv.S38
1 files changed, 38 insertions, 0 deletions
diff --git a/uClinux-2.4.20-uc1/arch/armnommu/kernel/head-armv.S b/uClinux-2.4.20-uc1/arch/armnommu/kernel/head-armv.S
index b297678..31a91f0 100644
--- a/uClinux-2.4.20-uc1/arch/armnommu/kernel/head-armv.S
+++ b/uClinux-2.4.20-uc1/arch/armnommu/kernel/head-armv.S
@@ -143,6 +143,8 @@ __entry:
mov r1, #MACH_TYPE_SNDS100
#elif defined (CONFIG_BOARD_SMDK40100)
mov r1, #MACH_TYPE_S3C3410
+#elif defined (CONFIG_BOARD_W90N745)
+ mov r1, #MACH_TYPE_W90N745
#endif
mov r0, #F_BIT | I_BIT | MODE_SVC @ make sure svc mode
@@ -199,6 +201,42 @@ LC0: .long __bss_start
.long init_task_union+8192
#endif
+#if defined(CONFIG_BOARD_W90N745)
+
+ adr r5, LC0
+ ldmia r5, {r5, r6, r8, r9, sp} @ Setup stack
+
+ /* Copy data sections to their new home. */
+
+
+ /* Clear BSS */
+ mov r4, #0
+1: cmp r5, r8
+ strcc r4, [r5],#4
+ bcc 1b
+
+ /* Pretend we know what our processor code is (for arm_id) */
+
+ ldr r2, W90N745_PROCESSOR_TYPE
+
+ str r2, [r6]
+ mov r2, #MACH_TYPE_W90N745
+ str r2, [r9]
+
+ mov fp, #0
+ b start_kernel
+
+LC0: .long __bss_start
+ .long processor_id
+ .long _end
+ .long __machine_arch_type
+ .long init_task_union+8192
+
+W90N745_PROCESSOR_TYPE:
+ .long 0x32103201
+#endif
+
+
#if defined(CONFIG_BOARD_SNDS100)
adr r5, LC0