MOXA linux-2.6.x / linux-2.6.19-uc1 from UC-7110-LX-BOOTLOADER-1.9_VERSION-4.2.tgz
[linux-2.6.19-moxart.git] / arch / arm / mach-s3c44b0x / head.S
bloba8118c2cdb494e661c29ded74603fe108852ad8c
1 /*
2  *  linux/arch/armnommu/mach-s3c44b0x/head.S
3  */
4 #include <linux/linkage.h>
5 #include <linux/init.h>
7 #include <asm/assembler.h>
8 #include <asm/mach-types.h>
9 #include <asm/procinfo.h>
10 #include <asm/ptrace.h>
11 #include <asm/mach/arch.h>
12 #include <asm/arch/hardware.h>
14 #define MACHINFO_TYPE           0
15 #define MACHINFO_PHYSRAM        4
16 #define MACHINFO_PHYSIO         8
17 #define MACHINFO_PGOFFIO        12
18 #define MACHINFO_NAME           16
21  * Kernel startup entry point.
22  */
23         __INIT
24         .type   stext, #function
25 ENTRY(stext)
26         mov     r12, r0
27         /*
28         mov     r0, #PSR_F_BIT | PSR_I_BIT | SVC_MODE   @ make sure svc mode
29         */
30         mov     r0, #PSR_I_BIT | MODE_SVC               @ make sure svc mode
31         msr     cpsr_c, r0                              @ and all irqs disabled
33         adr     r5, LC0
34         ldmia   r5, {r5, r6, r8, r9, sp}                @ Setup stack
36         /*  Copy data sections to their new home.  */
39         /*  Clear BSS */
40         mov     r4, #0
41 1:      cmp     r5, r8                                  
42         strcc   r4, [r5],#4
43         bcc     1b
45         /* handle CPU Cache */
46         ldr     r4, =S3C44B0X_SYSCFG
47         mov     r5, #0x0e
48         str     r5, [r4]
49         
50         /*  Pretend we know what our processor code is (for arm_id)   */
53         ldr     r2, S3C44B0_PROCESSOR_TYPE
55         str     r2, [r6]
56         ldr     r2, S3C44B0_MACH_TYPE
57         str     r2, [r9]
59         mov     fp, #0
60         b       start_kernel
61         
62 LC0:    .long   __bss_start
63         .long   processor_id
64         .long   _end
65         .long   __machine_arch_type
66         .long   init_thread_union+8192
67         
68 S3C44B0_PROCESSOR_TYPE:
69         .long   0x44b07700
70 S3C44B0_MACH_TYPE:
71         .long   MACH_TYPE_S3C44B0
73 #include "../kernel/head-common.S"