Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/nds32/nds32_init.inc @ 131:84e7813d76e9
gcc-8.2
author | mir3636 |
---|---|
date | Thu, 25 Oct 2018 07:37:49 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
111:04ced10e8804 | 131:84e7813d76e9 |
---|---|
1 /* | |
2 * nds32_init.inc | |
3 * | |
4 * NDS32 architecture startup assembler header file | |
5 * | |
6 */ | |
7 | |
8 .macro nds32_init | |
9 | |
10 ! Initialize GP for data access | |
11 la $gp, _SDA_BASE_ | |
12 | |
13 #if defined(__NDS32_EXT_EX9__) | |
14 ! Check HW for EX9 | |
15 mfsr $r0, $MSC_CFG | |
16 li $r1, (1 << 24) | |
17 and $r2, $r0, $r1 | |
18 beqz $r2, 1f | |
19 | |
20 ! Initialize the table base of EX9 instruction | |
21 la $r0, _ITB_BASE_ | |
22 mtusr $r0, $ITB | |
23 1: | |
24 #endif | |
25 | |
26 #if defined(__NDS32_EXT_FPU_DP__) || defined(__NDS32_EXT_FPU_SP__) | |
27 ! Enable FPU | |
28 mfsr $r0, $FUCOP_CTL | |
29 ori $r0, $r0, #0x1 | |
30 mtsr $r0, $FUCOP_CTL | |
31 dsb | |
32 | |
33 ! Enable denormalized flush-to-Zero mode | |
34 fmfcsr $r0 | |
35 ori $r0,$r0,#0x1000 | |
36 fmtcsr $r0 | |
37 dsb | |
38 #endif | |
39 | |
40 ! Initialize default stack pointer | |
41 la $sp, _stack | |
42 | |
43 .endm |