]> git.baikalelectronics.ru Git - kernel.git/commit
MIPS: jump_label.c: Handle the microMIPS J instruction encoding
authorMaciej W. Rozycki <macro@codesourcery.com>
Mon, 17 Nov 2014 16:10:32 +0000 (16:10 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 19 Nov 2014 17:22:09 +0000 (18:22 +0100)
commitb9f76ee8e63ce91ca3eae2ea22333d8c15fdc30d
treee786a6f69c5c5f2f03ac85e5466906a6524fec18
parent2588d5ed1b06e20b14aeb6dc691084d0fe58980d
MIPS: jump_label.c: Handle the microMIPS J instruction encoding

Implement the microMIPS encoding of the J instruction for the purpose of
the static keys feature, fixing a crash early on in bootstrap as the
kernel is unhappy seeing the ISA bit set in jump table entries.  Make
sure the ISA bit correctly reflects the instruction encoding chosen for
the kernel, 0 for the standard MIPS and 1 for the microMIPS encoding.

Also make sure the instruction to patch is a 32-bit NOP in the microMIPS
mode as by default the 16-bit short encoding is assumed

Signed-off-by: Maciej W. Rozycki <macro@codesourcery.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/8516/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
arch/mips/include/asm/jump_label.h
arch/mips/kernel/jump_label.c