summaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm
diff options
context:
space:
mode:
authorPaul Burton2019-04-10 01:19:48 +0200
committerPaul Burton2019-04-10 01:21:13 +0200
commitec86e545c19a5d7364b6da06dd755d43d130bf4f (patch)
tree25315bf12649fe91c3f51563ff4bc56c75c4814c /arch/mips/include/asm
parentMIPS: ralink: fix cpu clock of mt7621 and add dt clk devices (diff)
parentMIPS: Remove custom MIPS32 __kernel_fsid_t type (diff)
downloadkernel-qcow2-linux-ec86e545c19a5d7364b6da06dd755d43d130bf4f.tar.gz
kernel-qcow2-linux-ec86e545c19a5d7364b6da06dd755d43d130bf4f.tar.xz
kernel-qcow2-linux-ec86e545c19a5d7364b6da06dd755d43d130bf4f.zip
Merge tag 'mips_fixes_5.1_1' into mips-next
A small batch of MIPS fixes for 5.1: - An interrupt masking fix for Loongson-based Lemote 2F systems (fixing a regression from v3.19). - A relocation fix for configurations in which the devicetree is stored in an ELF section (fixing a regression from v4.7). - Fix jump labels for MIPSr6 kernels where they previously could inadvertently place a control transfer instruction in a forbidden slot & take unexpected exceptions (fixing MIPSr6 support added in v4.0). - Extend an existing USB power workaround for the Netgear WNDR3400 to v2 boards in addition to the v3 ones that already used it. - Remove the custom MIPS32 definition of __kernel_fsid_t to make it consistent with MIPS64 & every other architecture, in particular resolving issues for code which tries to print the val field whose type previously differed (though had identical memory layout). Merged into mips-next to gain the MIPSr6 jump label fix before enabling jump labels by default for generic kernel builds. Signed-off-by: Paul Burton <paul.burton@mips.com>
Diffstat (limited to 'arch/mips/include/asm')
-rw-r--r--arch/mips/include/asm/jump_label.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/mips/include/asm/jump_label.h b/arch/mips/include/asm/jump_label.h
index e77672539e8e..e4456e450f94 100644
--- a/arch/mips/include/asm/jump_label.h
+++ b/arch/mips/include/asm/jump_label.h
@@ -21,15 +21,15 @@
#endif
#ifdef CONFIG_CPU_MICROMIPS
-#define NOP_INSN "nop32"
+#define B_INSN "b32"
#else
-#define NOP_INSN "nop"
+#define B_INSN "b"
#endif
static __always_inline bool arch_static_branch(struct static_key *key, bool branch)
{
- asm_volatile_goto("1:\t" NOP_INSN "\n\t"
- "nop\n\t"
+ asm_volatile_goto("1:\t" B_INSN " 2f\n\t"
+ "2:\tnop\n\t"
".pushsection __jump_table, \"aw\"\n\t"
WORD_INSN " 1b, %l[l_yes], %0\n\t"
".popsection\n\t"