]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - arch/sh/cpu/sh3/start.S
remove unnecessary version.h includes
[karo-tx-uboot.git] / arch / sh / cpu / sh3 / start.S
1 /*
2  * (C) Copyright 2007
3  * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4  *
5  * (C) Copyright 2007
6  * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
7  *
8  * SPDX-License-Identifier:     GPL-2.0+
9  */
10
11 #include <asm-offsets.h>
12 #include <config.h>
13
14         .text
15         .align  2
16
17         .global _start
18 _sh_start:
19         mov.l   ._lowlevel_init, r0
20 100:    bsrf    r0
21         nop
22
23         bsr     1f
24         nop
25 1:      sts     pr, r5
26         mov.l   ._reloc_dst, r4
27         add     #(_sh_start-1b), r5
28         mov.l   ._reloc_dst_end, r6
29
30 2:      mov.l   @r5+, r1
31         mov.l   r1, @r4
32         add     #4, r4
33         cmp/hs  r6, r4
34         bf      2b
35
36         mov.l   ._bss_start, r4
37         mov.l   ._bss_end, r5
38         mov     #0, r1
39
40 3:      mov.l   r1, @r4                 /* bss clear */
41         add     #4, r4
42         cmp/hs  r5, r4
43         bf      3b
44
45         mov.l   ._gd_init, r13          /* global data */
46         mov.l   ._stack_init, r15       /* stack */
47
48         mov.l   ._sh_generic_init, r0
49         jsr     @r0
50         nop
51
52 loop:
53         bra     loop
54
55         .align  2
56
57 ._lowlevel_init:        .long   (lowlevel_init - (100b + 4))
58 ._reloc_dst:            .long   reloc_dst
59 ._reloc_dst_end:        .long   reloc_dst_end
60 ._bss_start:            .long   bss_start
61 ._bss_end:              .long   bss_end
62 ._gd_init:              .long   (_sh_start - GENERATED_GBL_DATA_SIZE)
63 ._stack_init:   .long   (_sh_start - GENERATED_GBL_DATA_SIZE - CONFIG_SYS_MALLOC_LEN - 16)
64 ._sh_generic_init:      .long   sh_generic_init