android_kernel_xiaomi_sm7250/arch/powerpc
Paul Mackerras 4c75f84f2c powerpc: Add compiler memory barrier to mtmsr macro
On 32-bit non-Book E, local_irq_restore() turns into just mtmsr(),
which doesn't currently have a compiler memory barrier.  This means
that accesses to memory inside a local_irq_save/restore section,
or a spin_lock_irqsave/spin_unlock_irqrestore section on UP, can
be reordered by the compiler to occur outside that section.

To fix this, this adds a compiler memory barrier to mtmsr for both
32-bit and 64-bit.  Having a compiler memory barrier in mtmsr makes
sense because it will almost always be changing something about the
context in which memory accesses are done, so in general we don't want
memory accesses getting moved from one side of an mtmsr to the other.

With the barrier in mtmsr(), some of the explicit barriers in
hw_irq.h are now redundant, so this removes them.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
2009-06-15 13:27:37 +10:00
..
boot powerpc/install: Bail with error code on error in install script 2009-06-15 13:26:16 +10:00
configs Merge commit 'origin/master' into next 2009-06-12 16:53:38 +10:00
include/asm powerpc: Add compiler memory barrier to mtmsr macro 2009-06-15 13:27:37 +10:00
kernel powerpc: Only build prom_init.o when CONFIG_PPC_OF_BOOT_TRAMPOLINE=y 2009-06-15 13:27:36 +10:00
kvm KVM: Fix interrupt unhalting a vcpu when it shouldn't 2009-06-10 11:48:33 +03:00
lib powerpc: Move dma-noncoherent.c from arch/powerpc/lib to arch/powerpc/mm 2009-05-27 16:32:05 +10:00
math-emu powerpc/math-emu: Fix efp dependence 2009-03-11 06:00:08 -05:00
mm Merge commit 'origin/master' into next 2009-06-15 10:36:54 +10:00
oprofile powerpc/oprofile: Remove unused dump_pmcs() in FSL oprofile 2009-05-19 00:46:13 -05:00
platforms powerpc/iseries: Mark signal_vsp_instruction() as maybe unused 2009-06-15 13:27:37 +10:00
sysdev Merge commit 'origin/master' into next 2009-06-12 16:53:38 +10:00
xmon powerpc/xmon: Remove unused variable in xmon.c 2009-06-09 16:47:40 +10:00
Kconfig powerpc: Don't do generic calibrate_delay() 2009-06-15 13:26:17 +10:00
Kconfig.debug powerpc: Keep track of emulated instructions 2009-05-21 15:44:26 +10:00
Makefile powerpc: Move VMX and VSX asm code to vector.S 2009-06-09 16:46:25 +10:00