浏览代码

MIPS: CMP: Fix physical core number calculation logic

The CPUNum Field in EBase register is 10bit wide, so after 1 bit right
shift, the mask value should be 0x1ff.

Signed-off-by: jerin jacob <jerinjacobk@gmail.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/4420/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
jerin jacob 13 年之前
父节点
当前提交
0cc40dac86
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      arch/mips/kernel/smp-cmp.c

+ 1 - 1
arch/mips/kernel/smp-cmp.c

@@ -97,7 +97,7 @@ static void cmp_init_secondary(void)
 
 
 	/* Enable per-cpu interrupts: platform specific */
 	/* Enable per-cpu interrupts: platform specific */
 
 
-	c->core = (read_c0_ebase() >> 1) & 0xff;
+	c->core = (read_c0_ebase() >> 1) & 0x1ff;
 #if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_MIPS_MT_SMTC)
 #if defined(CONFIG_MIPS_MT_SMP) || defined(CONFIG_MIPS_MT_SMTC)
 	c->vpe_id = (read_c0_tcbind() >> TCBIND_CURVPE_SHIFT) & TCBIND_CURVPE;
 	c->vpe_id = (read_c0_tcbind() >> TCBIND_CURVPE_SHIFT) & TCBIND_CURVPE;
 #endif
 #endif