]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
MIPS: CPS: Don't include MT code in non-MT kernels.
authorPaul Burton <paul.burton@imgtec.com>
Wed, 5 Aug 2015 22:42:37 +0000 (15:42 -0700)
committerLuis Henriques <luis.henriques@canonical.com>
Wed, 28 Oct 2015 10:33:05 +0000 (10:33 +0000)
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@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/10866/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
[ luis: backported to 3.16: adjusted context ]
Signed-off-by: Luis Henriques <luis.henriques@canonical.com>
arch/mips/kernel/cps-vec.S

index 5652af5786effa23e2193d39ae24d6acd52c37f1..acd9bd6daf993d063282aeb398f345db9a94ed2f 100644 (file)
@@ -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