]> git.ipfire.org Git - people/ms/u-boot.git/blame - arch/sh/cpu/sh4/start.S
Add GPL-2.0+ SPDX-License-Identifier to source files
[people/ms/u-boot.git] / arch / sh / cpu / sh4 / start.S
CommitLineData
0b135cfc 1/*
2024b968 2 * (C) Copyright 2007, 2010
0b135cfc
NI
3 * Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
4 *
1a459660 5 * SPDX-License-Identifier: GPL-2.0+
0b135cfc
NI
6 */
7
25ddd1fb 8#include <asm-offsets.h>
0b135cfc
NI
9#include <config.h>
10#include <version.h>
11
12 .text
13 .align 2
14
15 .global _start
2024b968 16_sh_start:
0b135cfc
NI
17 mov.l ._lowlevel_init, r0
18100: bsrf r0
19 nop
20
21 bsr 1f
22 nop
231: sts pr, r5
61fb15c5 24 mov.l ._reloc_dst, r4
2024b968 25 add #(_sh_start-1b), r5
61fb15c5 26 mov.l ._reloc_dst_end, r6
0b135cfc
NI
27
282: mov.l @r5+, r1
29 mov.l r1, @r4
30 add #4, r4
31 cmp/hs r6, r4
32 bf 2b
61fb15c5
WD
33
34 mov.l ._bss_start, r4
35 mov.l ._bss_end, r5
0b135cfc
NI
36 mov #0, r1
37
61fb15c5 383: mov.l r1, @r4 /* bss clear */
0b135cfc
NI
39 add #4, r4
40 cmp/hs r5, r4
41 bf 3b
42
43 mov.l ._gd_init, r13 /* global data */
44 mov.l ._stack_init, r15 /* stack */
45
46 mov.l ._sh_generic_init, r0
61fb15c5
WD
47 jsr @r0
48 nop
0b135cfc
NI
49
50loop:
51 bra loop
52
53 .align 2
54
55._lowlevel_init: .long (lowlevel_init - (100b + 4))
56._reloc_dst: .long reloc_dst
57._reloc_dst_end: .long reloc_dst_end
58._bss_start: .long bss_start
59._bss_end: .long bss_end
2024b968
NI
60._gd_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE)
61._stack_init: .long (_sh_start - GENERATED_GBL_DATA_SIZE - CONFIG_SYS_MALLOC_LEN - 16)
0b135cfc 62._sh_generic_init: .long sh_generic_init