mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-25 21:24:08 +08:00
add memory barrier to arch_local_irq_restore
arch_local_irq_save() and friends are required to act as compiler memory barriers. This patch adds a "memory" clobber to the inline asm code in arch_local_irq_restore() which is used as the building block for other functions needing to set/clear the interrupt enable in the CSR register. Signed-off-by: Mark Salter <msalter@redhat.com>
This commit is contained in:
parent
31880c37c1
commit
f934af05cb
@ -27,7 +27,7 @@ static inline unsigned long arch_local_save_flags(void)
|
||||
/* set interrupt enabled status */
|
||||
static inline void arch_local_irq_restore(unsigned long flags)
|
||||
{
|
||||
asm volatile (" mvc .s2 %0,CSR\n" : : "b"(flags));
|
||||
asm volatile (" mvc .s2 %0,CSR\n" : : "b"(flags) : "memory");
|
||||
}
|
||||
|
||||
/* unconditionally enable interrupts */
|
||||
|
Loading…
Reference in New Issue
Block a user