Commit dde7288f authored by Paul Burton's avatar Paul Burton Committed by Luis Henriques

MIPS: CPS: Stop dangling delay slot from has_mt.

commit 1e5fb282 upstream.

The has_mt macro ended with a branch, leaving its callers with a delay
slot that would be executed if Config3.MT is not set. However it would
not be executed if Config3 (or earlier Config registers) don't exist
which makes it somewhat inconsistent at best. Fill the delay slot in the
macro & fix the mips_cps_boot_vpes caller appropriately.
Signed-off-by: default avatarPaul Burton <paul.burton@imgtec.com>
Cc: Markos Chandras <markos.chandras@imgtec.com>
Cc: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Cc: linux-kernel@vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/10865/Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent 99c6cedf
...@@ -39,6 +39,7 @@ ...@@ -39,6 +39,7 @@
mfc0 \dest, CP0_CONFIG, 3 mfc0 \dest, CP0_CONFIG, 3
andi \dest, \dest, MIPS_CONF3_MT andi \dest, \dest, MIPS_CONF3_MT
beqz \dest, \nomt beqz \dest, \nomt
nop
.endm .endm
.section .text.cps-vec .section .text.cps-vec
...@@ -226,7 +227,6 @@ LEAF(mips_cps_core_init) ...@@ -226,7 +227,6 @@ LEAF(mips_cps_core_init)
#ifdef CONFIG_MIPS_MT #ifdef CONFIG_MIPS_MT
/* Check that the core implements the MT ASE */ /* Check that the core implements the MT ASE */
has_mt t0, 3f has_mt t0, 3f
nop
.set push .set push
.set mt .set mt
...@@ -309,8 +309,8 @@ LEAF(mips_cps_boot_vpes) ...@@ -309,8 +309,8 @@ LEAF(mips_cps_boot_vpes)
addu t0, t0, t1 addu t0, t0, t1
/* Calculate this VPEs ID. If the core doesn't support MT use 0 */ /* Calculate this VPEs ID. If the core doesn't support MT use 0 */
li t9, 0
has_mt t6, 1f has_mt t6, 1f
li t9, 0
/* Find the number of VPEs present in the core */ /* Find the number of VPEs present in the core */
mfc0 t1, CP0_MVPCONF0 mfc0 t1, CP0_MVPCONF0
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment