[PATCH 3.19.y-ckt 014/155] MIPS: CPS: Stop dangling delay slot from has_mt.
Kamal Mostafa
kamal at canonical.com
Thu Nov 12 23:16:08 UTC 2015
3.19.8-ckt10 -stable review patch. If anyone has any objections, please let me know.
------------------
From: Paul Burton <paul.burton at imgtec.com>
commit 1e5fb282f8eda889776ee83f9214d5df9edaa26d 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: Paul Burton <paul.burton at imgtec.com>
Cc: Markos Chandras <markos.chandras at imgtec.com>
Cc: James Hogan <james.hogan at imgtec.com>
Cc: linux-mips at linux-mips.org
Cc: linux-kernel at vger.kernel.org
Patchwork: https://patchwork.linux-mips.org/patch/10865/
Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
arch/mips/kernel/cps-vec.S | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S
index 55b759a..24b8c0b6 100644
--- a/arch/mips/kernel/cps-vec.S
+++ b/arch/mips/kernel/cps-vec.S
@@ -39,6 +39,7 @@
mfc0 \dest, CP0_CONFIG, 3
andi \dest, \dest, MIPS_CONF3_MT
beqz \dest, \nomt
+ nop
.endm
.section .text.cps-vec
@@ -226,7 +227,6 @@ LEAF(mips_cps_core_init)
#ifdef CONFIG_MIPS_MT
/* Check that the core implements the MT ASE */
has_mt t0, 3f
- nop
.set push
.set mips32r2
@@ -310,8 +310,8 @@ LEAF(mips_cps_boot_vpes)
addu t0, t0, t1
/* Calculate this VPEs ID. If the core doesn't support MT use 0 */
+ li t9, 0
has_mt t6, 1f
- li t9, 0
/* Find the number of VPEs present in the core */
mfc0 t1, CP0_MVPCONF0
--
1.9.1
More information about the kernel-team
mailing list