diff options
author | Paul Burton <paul.burton@imgtec.com> | 2015-08-05 18:42:37 -0400 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2015-09-30 12:15:51 -0400 |
commit | a5b0f6db0e6cf6224e50f6585e9c8f0c2d38a8f8 (patch) | |
tree | 9f7a9eabc5800785e186fec920cb5a2cd3068cc3 /arch | |
parent | 1e5fb282f8eda889776ee83f9214d5df9edaa26d (diff) |
MIPS: CPS: Don't include MT code in non-MT kernels.
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: <stable@vger.kernel.org> # 3.16+
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>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/mips/kernel/cps-vec.S | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S index fa159aab252c..57642f56dffb 100644 --- a/arch/mips/kernel/cps-vec.S +++ b/arch/mips/kernel/cps-vec.S | |||
@@ -311,6 +311,7 @@ LEAF(mips_cps_boot_vpes) | |||
311 | 311 | ||
312 | /* Calculate this VPEs ID. If the core doesn't support MT use 0 */ | 312 | /* Calculate this VPEs ID. If the core doesn't support MT use 0 */ |
313 | li t9, 0 | 313 | li t9, 0 |
314 | #ifdef CONFIG_MIPS_MT | ||
314 | has_mt ta2, 1f | 315 | has_mt ta2, 1f |
315 | 316 | ||
316 | /* Find the number of VPEs present in the core */ | 317 | /* Find the number of VPEs present in the core */ |
@@ -330,6 +331,7 @@ LEAF(mips_cps_boot_vpes) | |||
330 | /* Retrieve the VPE ID from EBase.CPUNum */ | 331 | /* Retrieve the VPE ID from EBase.CPUNum */ |
331 | mfc0 t9, $15, 1 | 332 | mfc0 t9, $15, 1 |
332 | and t9, t9, t1 | 333 | and t9, t9, t1 |
334 | #endif | ||
333 | 335 | ||
334 | 1: /* Calculate a pointer to this VPEs struct vpe_boot_config */ | 336 | 1: /* Calculate a pointer to this VPEs struct vpe_boot_config */ |
335 | li t1, VPEBOOTCFG_SIZE | 337 | li t1, VPEBOOTCFG_SIZE |