瀏覽代碼

MIPS: microMIPS: Fix incorrect mask for jump immediate.

Jump or branch target addresses have the first bit set. The
original mask did not take this into account and will cause
a field overflow warning for the target address when a jump
immediate instruction is built.

Signed-off-by: Steven J. Hill <Steven.Hill@imgtec.com>
Steven J. Hill 12 年之前
父節點
當前提交
8fe4bb98e4
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      arch/mips/mm/uasm-micromips.c

+ 2 - 1
arch/mips/mm/uasm-micromips.c

@@ -130,7 +130,8 @@ static inline __uasminit u32 build_bimm(s32 arg)
 
 static inline __uasminit u32 build_jimm(u32 arg)
 {
-	WARN(arg & ~(JIMM_MASK << 2),
+
+	WARN(arg & ~((JIMM_MASK << 2) | 1),
 	     KERN_WARNING "Micro-assembler field overflow\n");
 
 	return (arg >> 1) & JIMM_MASK;