]>
Commit | Line | Data |
---|---|---|
e1d82de6 GH |
1 | // SPDX-License-Identifier: GPL-2.0 |
2 | // Copyright (C) 2005-2017 Andes Technology Corporation | |
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 /* __NDS32_ASSEMBLER_H__ */ |