Go to the documentation of this file.
12 #ifndef _ASM_IRQFLAGS_H
13 #define _ASM_IRQFLAGS_H
32 asm volatile(
" andcc gr0,gr0,gr0,icc2 \n"
42 asm volatile(
" oricc gr0,#1,gr0,icc2 \n"
43 " tihi icc2,gr0,#2 \n"
54 asm volatile(
"movsg ccr,%0"
78 asm volatile(
" xoricc %0,#1,gr0,icc2 \n"
80 " tihi icc2,gr0,#2 \n"
101 #define __arch_local_irq_disable() \
104 asm volatile(" movsg psr,%0 \n" \
105 " andi %0,%2,%0 \n" \
109 : "i" (PSR_PIL_14), "i" (~PSR_PIL) \
113 #define __arch_local_irq_enable() \
116 asm volatile(" movsg psr,%0 \n" \
117 " andi %0,%1,%0 \n" \
124 #define __arch_local_save_flags(flags) \
126 typecheck(unsigned long, flags); \
133 #define __arch_local_irq_save(flags) \
135 unsigned long npsr; \
136 typecheck(unsigned long, flags); \
137 asm volatile(" movsg psr,%0 \n" \
138 " andi %0,%3,%1 \n" \
141 : "=r"(flags), "=r"(npsr) \
142 : "i" (PSR_PIL_14), "i" (~PSR_PIL) \
146 #define __arch_local_irq_restore(flags) \
148 typecheck(unsigned long, flags); \
149 asm volatile(" movgs %0,psr \n" \
155 #define __arch_irqs_disabled() \
156 ((__get_PSR() & PSR_PIL) >= PSR_PIL_14)