summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorChristophe Leroy2016-08-05 13:28:05 +0200
committerMichael Ellerman2017-06-02 11:20:43 +0200
commit362957c27ed0d9ff485d3266ed22d944cbfea6cc (patch)
treeb8122105e2234b9c6dc446fe4c8c6b8e35f371a4 /arch/powerpc/kernel
parentpowerpc/mm: The 8xx doesn't call do_page_fault() for breakpoints (diff)
downloadkernel-qcow2-linux-362957c27ed0d9ff485d3266ed22d944cbfea6cc.tar.gz
kernel-qcow2-linux-362957c27ed0d9ff485d3266ed22d944cbfea6cc.tar.xz
kernel-qcow2-linux-362957c27ed0d9ff485d3266ed22d944cbfea6cc.zip
powerpc/40x: Clear MSR_DR in one insn instead of two
Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Diffstat (limited to 'arch/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/misc_32.S6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/misc_32.S b/arch/powerpc/kernel/misc_32.S
index 84db14e435f5..3f7a9a2d2435 100644
--- a/arch/powerpc/kernel/misc_32.S
+++ b/arch/powerpc/kernel/misc_32.S
@@ -244,8 +244,7 @@ _GLOBAL(_nmask_and_or_msr)
*/
_GLOBAL(real_readb)
mfmsr r7
- ori r0,r7,MSR_DR
- xori r0,r0,MSR_DR
+ rlwinm r0,r7,0,~MSR_DR
sync
mtmsr r0
sync
@@ -262,8 +261,7 @@ _GLOBAL(real_readb)
*/
_GLOBAL(real_writeb)
mfmsr r7
- ori r0,r7,MSR_DR
- xori r0,r0,MSR_DR
+ rlwinm r0,r7,0,~MSR_DR
sync
mtmsr r0
sync