diff options
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.S | 38 |
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 |