| // SPDX-License-Identifier: GPL-2.0 | |
| // Copyright (C) 2005-2017 Andes Technology Corporation | |
| #ifndef __NDS32_ASSEMBLER_H__ | |
| #define __NDS32_ASSEMBLER_H__ | |
| .macro gie_disable | |
| setgie.d | |
| dsb | |
| .endm | |
| .macro gie_enable | |
| setgie.e | |
| dsb | |
| .endm | |
| .macro gie_save oldpsw | |
| mfsr \oldpsw, $ir0 | |
| setgie.d | |
| dsb | |
| .endm | |
| .macro gie_restore oldpsw | |
| andi \oldpsw, \oldpsw, #0x1 | |
| beqz \oldpsw, 7001f | |
| setgie.e | |
| dsb | |
| 7001: | |
| .endm | |
| #define USER(insn, reg, addr, opr) \ | |
| 9999: insn reg, addr, opr; \ | |
| .section __ex_table,"a"; \ | |
| .align 3; \ | |
| .long 9999b, 9001f; \ | |
| .previous | |
| #endif /* __NDS32_ASSEMBLER_H__ */ |