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