]> git.karo-electronics.de Git - karo-tx-linux.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)
commit935c2dbec4d6d3163ee8e7409996904a734ad89a
treee786a6f69c5c5f2f03ac85e5466906a6524fec18
parent99436f7d69045800ffd1d66912f85d37150c7e2b
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