diff options
Diffstat (limited to 'arch/arc/include/asm')
| -rw-r--r-- | arch/arc/include/asm/irqflags.h | 12 | 
1 files changed, 8 insertions, 4 deletions
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h index ccd84806b62..eac07166820 100644 --- a/arch/arc/include/asm/irqflags.h +++ b/arch/arc/include/asm/irqflags.h @@ -39,7 +39,7 @@ static inline long arch_local_irq_save(void)  	"	flag.nz %0		\n"  	: "=r"(temp), "=r"(flags)  	: "n"((STATUS_E1_MASK | STATUS_E2_MASK)) -	: "cc"); +	: "memory", "cc");  	return flags;  } @@ -53,7 +53,8 @@ static inline void arch_local_irq_restore(unsigned long flags)  	__asm__ __volatile__(  	"	flag %0			\n"  	: -	: "r"(flags)); +	: "r"(flags) +	: "memory");  }  /* @@ -73,7 +74,8 @@ static inline void arch_local_irq_disable(void)  	"	and %0, %0, %1		\n"  	"	flag %0			\n"  	: "=&r"(temp) -	: "n"(~(STATUS_E1_MASK | STATUS_E2_MASK))); +	: "n"(~(STATUS_E1_MASK | STATUS_E2_MASK)) +	: "memory");  }  /* @@ -85,7 +87,9 @@ static inline long arch_local_save_flags(void)  	__asm__ __volatile__(  	"	lr  %0, [status32]	\n" -	: "=&r"(temp)); +	: "=&r"(temp) +	: +	: "memory");  	return temp;  }  |