]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: Fix branch emulation for BLTC and BGEC instructions
authorMarkos Chandras <markos.chandras@imgtec.com>
Wed, 24 Jun 2015 08:52:00 +0000 (09:52 +0100)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 9 Jul 2015 09:10:40 +0000 (11:10 +0200)
commitecec5d48f91c901e095dabb12a2331ca7802881d
tree88be5c061e84c8f00c0ccf3319f25f5c4fda3584
parentae52bbd4e224d2a4def087f552d849512966c08a
MIPS: Fix branch emulation for BLTC and BGEC instructions

Commits 923b9feae0dcede89a60e01a1a6c1d959e6c2b0c ("MIPS: Emulate the
new MIPS R6 B{L,G}T{Z,}{AL,}C instructions") and commit
c3d54d09dd48a1ae6f30ce3a76181217c33295a8 ("MIPS: Emulate the new MIPS
R6 B{L,G}E{Z,}{AL,}C instructions") added support for emulating various
branch compact instructions. However, it missed the case for those which
use the old BLEZL and BGTZL opcodes leading to random crashes when the R6
emulator is disabled. We fix this by ensuring that the 'rt' field is not
zero which is always true for these branch compact instructions.

Fixes: 923b9feae0dc ("MIPS: Emulate the new MIPS R6 B{L,G}T{Z,}{AL,}C instructions")
Fixes: c3d54d09dd48 ("MIPS: Emulate the new MIPS R6 B{L,G}E{Z,}{AL,}C instructions")
Cc: <stable@vger.kernel.org> # 4.0+
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: Markos Chandras <markos.chandras@imgtec.com>
Patchwork: https://patchwork.linux-mips.org/patch/10582/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/kernel/branch.c
arch/mips/math-emu/cp1emu.c