|
@@ -123,9 +123,15 @@ static void __init cps_prepare_cpus(unsigned int max_cpus)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- /* Patch the start of mips_cps_core_entry to provide the CM base */
|
|
|
+ /*
|
|
|
+ * Patch the start of mips_cps_core_entry to provide:
|
|
|
+ *
|
|
|
+ * v0 = CM base address
|
|
|
+ * s0 = kseg0 CCA
|
|
|
+ */
|
|
|
entry_code = (u32 *)&mips_cps_core_entry;
|
|
|
UASM_i_LA(&entry_code, 3, (long)mips_cm_base);
|
|
|
+ uasm_i_addiu(&entry_code, 16, 0, cca);
|
|
|
dma_cache_wback_inv((unsigned long)&mips_cps_core_entry,
|
|
|
(void *)entry_code - (void *)&mips_cps_core_entry);
|
|
|
|