diff options
author | Helge Deller <deller@gmx.de> | 2019-04-27 23:57:49 +0200 |
---|---|---|
committer | Helge Deller <deller@gmx.de> | 2019-05-03 23:47:40 +0200 |
commit | 2d94a832e246ac00fd32eec241e6f1aa6fbc5700 (patch) | |
tree | 7a22a12eea8643e4e216d9392cd80486bf97f3b6 | |
parent | parisc: Add memory clobber to TLB purges (diff) | |
download | linux-2d94a832e246ac00fd32eec241e6f1aa6fbc5700.tar.xz linux-2d94a832e246ac00fd32eec241e6f1aa6fbc5700.zip |
parisc: Add memory barrier to asm pdc and sync instructions
Add compiler memory barriers to ensure the compiler doesn't reorder memory
operations around these instructions.
Cc: stable@vger.kernel.org # v4.20+
Fixes: 3847dab77421 ("parisc: Add alternative coding infrastructure")
Signed-off-by: Helge Deller <deller@gmx.de>
-rw-r--r-- | arch/parisc/include/asm/cache.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/parisc/include/asm/cache.h b/arch/parisc/include/asm/cache.h index c18351cf5876..4016fe1c65a9 100644 --- a/arch/parisc/include/asm/cache.h +++ b/arch/parisc/include/asm/cache.h @@ -56,10 +56,10 @@ void parisc_setup_cache_timing(void); #define asm_io_fdc(addr) asm volatile("fdc %%r0(%0)" \ ALTERNATIVE(ALT_COND_NO_DCACHE, INSN_NOP) \ ALTERNATIVE(ALT_COND_NO_IOC_FDC, INSN_NOP) \ - : : "r" (addr)) + : : "r" (addr) : "memory") #define asm_io_sync() asm volatile("sync" \ ALTERNATIVE(ALT_COND_NO_DCACHE, INSN_NOP) \ - ALTERNATIVE(ALT_COND_NO_IOC_FDC, INSN_NOP) :: ) + ALTERNATIVE(ALT_COND_NO_IOC_FDC, INSN_NOP) :::"memory") #endif /* ! __ASSEMBLY__ */ |