diff options
author | Paul Burton <paul.burton@imgtec.com> | 2014-04-16 12:10:57 +0200 |
---|---|---|
committer | Paul Burton <paul.burton@imgtec.com> | 2014-05-28 17:20:33 +0200 |
commit | 0155a06529d4c8425573596720829b6c578c05f2 (patch) | |
tree | 6fdb76eedde5ee9b4d4cd21a86bc6a0d7b7e298d /arch/mips/kernel/cps-vec.S | |
parent | MIPS: smp-cps: set a coherent default CCA (diff) | |
download | linux-0155a06529d4c8425573596720829b6c578c05f2.tar.xz linux-0155a06529d4c8425573596720829b6c578c05f2.zip |
MIPS: smp-cps: duplicate core0 CCA on secondary cores
Rather than hardcoding CCA=0x5 for secondary cores, re-use the CCA from
the boot CPU. This allows overrides of the CCA using the cca= kernel
parameter to take effect on all CPUs for consistency.
Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Diffstat (limited to 'arch/mips/kernel/cps-vec.S')
-rw-r--r-- | arch/mips/kernel/cps-vec.S | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/mips/kernel/cps-vec.S b/arch/mips/kernel/cps-vec.S index 1c865ae922a5..6f4f739dad96 100644 --- a/arch/mips/kernel/cps-vec.S +++ b/arch/mips/kernel/cps-vec.S @@ -45,10 +45,12 @@ LEAF(mips_cps_core_entry) /* - * These first 8 bytes will be patched by cps_smp_setup to load the - * base address of the CM GCRs into register v1. + * These first 12 bytes will be patched by cps_smp_setup to load the + * base address of the CM GCRs into register v1 and the CCA to use into + * register s0. */ .quad 0 + .word 0 /* Check whether we're here due to an NMI */ mfc0 k0, CP0_STATUS @@ -139,10 +141,11 @@ icache_done: add a0, a0, t0 dcache_done: - /* Set Kseg0 cacheable, coherent, write-back, write-allocate */ + /* Set Kseg0 CCA to that in s0 */ mfc0 t0, CP0_CONFIG ori t0, 0x7 - xori t0, 0x2 + xori t0, 0x7 + or t0, t0, s0 mtc0 t0, CP0_CONFIG ehb |