powerpc: Fix emulation of mfocrf in emulate_step()
authorAnton Blanchard <anton@samba.org>
Wed, 14 Jun 2017 23:46:39 +0000 (09:46 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 12 Jul 2017 06:43:48 +0000 (16:43 +1000)
commit64e756c55aa46fc18fd53e8f3598b73b528d8637
treed068e4650693d6d5b06fc9cfd9042ccec9df7a08
parent87c4b83e0fe234a1f0eed131ab6fa232036860d5
powerpc: Fix emulation of mfocrf in emulate_step()

From POWER4 onwards, mfocrf() only places the specified CR field into
the destination GPR, and the rest of it is set to 0. The PowerPC AS
from version 3.0 now requires this behaviour.

The emulation code currently puts the entire CR into the destination GPR.
Fix it.

Fixes: 6888199f7fe5 ("[POWERPC] Emulate more instructions in software")
Cc: stable@vger.kernel.org # v2.6.22+
Signed-off-by: Anton Blanchard <anton@samba.org>
Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/lib/sstep.c