linux/arch/nds32/include/asm/assembler.h
<<
>>
Prefs
   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
  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__ */
  40