1
2
3
4 #ifndef __NDS32_ASSEMBLER_H__
5 #define __NDS32_ASSEMBLER_H__
6
7 .macro gie_disable
8 setgie.d
9 dsb
10 .endm
11
12 .macro gie_enable
13 setgie.e
14 dsb
15 .endm
16
17 .macro gie_save oldpsw
18 mfsr \oldpsw, $ir0
19 setgie.d
20 dsb
21 .endm
22
23 .macro gie_restore oldpsw
24 andi \oldpsw, \oldpsw, #0x1
25 beqz \oldpsw, 7001f
26 setgie.e
27 dsb
28 7001:
29 .endm
30
31
32 #define USER(insn, reg, addr, opr) \
33 9999: insn reg, addr, opr; \
34 .section __ex_table,"a"; \
35 .align 3; \
36 .long 9999b, 9001f; \
37 .previous
38
39 #endif