]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.5.1/powerpc-add-memory-attribute-for-mfmsr.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.5.1 / powerpc-add-memory-attribute-for-mfmsr.patch
1 From b416c9a10baae6a177b4f9ee858b8d309542fbef Mon Sep 17 00:00:00 2001
2 From: Tiejun Chen <tiejun.chen@windriver.com>
3 Date: Wed, 11 Jul 2012 14:22:46 +1000
4 Subject: powerpc: Add "memory" attribute for mfmsr()
5
6 From: Tiejun Chen <tiejun.chen@windriver.com>
7
8 commit b416c9a10baae6a177b4f9ee858b8d309542fbef upstream.
9
10 Add "memory" attribute in inline assembly language as a compiler
11 barrier to make sure 4.6.x GCC don't reorder mfmsr().
12
13 Signed-off-by: Tiejun Chen <tiejun.chen@windriver.com>
14 Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
15 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
16
17 ---
18 arch/powerpc/include/asm/reg.h | 3 ++-
19 1 file changed, 2 insertions(+), 1 deletion(-)
20
21 --- a/arch/powerpc/include/asm/reg.h
22 +++ b/arch/powerpc/include/asm/reg.h
23 @@ -1024,7 +1024,8 @@
24 /* Macros for setting and retrieving special purpose registers */
25 #ifndef __ASSEMBLY__
26 #define mfmsr() ({unsigned long rval; \
27 - asm volatile("mfmsr %0" : "=r" (rval)); rval;})
28 + asm volatile("mfmsr %0" : "=r" (rval) : \
29 + : "memory"); rval;})
30 #ifdef CONFIG_PPC_BOOK3S_64
31 #define __mtmsrd(v, l) asm volatile("mtmsrd %0," __stringify(l) \
32 : : "r" (v) : "memory")