[3.16.y-ckt stable] Patch "MIPS: CPS: Don't include MT code in non-MT kernels." has been added to staging queue

Luis Henriques luis.henriques at canonical.com
Wed Oct 21 14:35:00 UTC 2015


This is a note to let you know that I have just added a patch titled

    MIPS: CPS: Don't include MT code in non-MT kernels.

to the linux-3.16.y-queue branch of the 3.16.y-ckt extended stable tree 
which can be found at:

    http://kernel.ubuntu.com/git/ubuntu/linux.git/log/?h=linux-3.16.y-queue

This patch is scheduled to be released in version 3.16.7-ckt19.

If you, or anyone else, feels it should not be added to this tree, please 
reply to this email.

For more information about the 3.16.y-ckt tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable

Thanks.
-Luis

------

>From 87f17a3c0acae2c36b29e0571f240fea2f925f72 Mon Sep 17 00:00:00 2001
From: Paul Burton <paul.burton at imgtec.com>
Date: Wed, 5 Aug 2015 15:42:37 -0700
Subject: MIPS: CPS: Don't include MT code in non-MT kernels.

commit a5b0f6db0e6cf6224e50f6585e9c8f0c2d38a8f8 upstream.

The MT-specific code in mips_cps_boot_vpes can safely be omitted from
kernels which don't support MT, with the default VPE==0 case being used
as it would be after the has_mt (Config3.MT) check failed at runtime.
Discarding the code entirely will save us a few bytes & allow cleaner
handling of MT ASE instructions by later patches.

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/10866/
Signed-off-by: Ralf Baechle <ralf at linux-mips.org>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques at canonical.com>
---
 arch/mips/kernel/cps-vec.S | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S
index 5652af5786ef..acd9bd6daf99 100644
--- a/arch/mips/kernel/cps-vec.S
+++ b/arch/mips/kernel/cps-vec.S
@@ -310,6 +310,7 @@ LEAF(mips_cps_boot_vpes)

 	/* Calculate this VPEs ID. If the core doesn't support MT use 0 */
 	li	t9, 0
+#ifdef CONFIG_MIPS_MT
 	has_mt	t6, 1f

 	/* Find the number of VPEs present in the core */
@@ -329,6 +330,7 @@ LEAF(mips_cps_boot_vpes)
 	/* Retrieve the VPE ID from EBase.CPUNum */
 	mfc0	t9, $15, 1
 	and	t9, t9, t1
+#endif

 1:	/* Calculate a pointer to this VPEs struct vpe_boot_config */
 	li	t1, VPEBOOTCFG_SIZE




More information about the kernel-team mailing list