blob: 5e7c569260494105db01c9e51c87b91668ec9b1e [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0 */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002// 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
287001:
29.endm
30
31
32#define USER(insn, reg, addr, opr) \
339999: insn reg, addr, opr; \
34 .section __ex_table,"a"; \
35 .align 3; \
36 .long 9999b, 9001f; \
37 .previous
38
39#endif /* __NDS32_ASSEMBLER_H__ */