]> 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)
commite1969790ddc2613f4fd95d9378d610e153cce4a5
treee786a6f69c5c5f2f03ac85e5466906a6524fec18
parentdc301b17914c6db7749ce87fcc1869972c0949ac
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