rk30: smp: fix boot_secondary with l2 cache
author黄涛 <huangtao@rock-chips.com>
Fri, 9 Mar 2012 12:37:05 +0000 (20:37 +0800)
committer黄涛 <huangtao@rock-chips.com>
Fri, 9 Mar 2012 12:37:05 +0000 (20:37 +0800)
arch/arm/mach-rk30/platsmp.c

index ebcedb01f8b83df24dafe62db3d2f4d1e7286ae0..41752d90230007d3eec9d1e873f7111ded766528 100644 (file)
@@ -36,9 +36,10 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle)
        if (!copied) {
                unsigned long sz = 0x100;
 
-               memcpy(RK30_SCU_BASE + sz - 4, (void *)rk30_sram_secondary_startup + sz - 4, 4);
+               memcpy(RK30_IMEM_BASE + sz - 4, (void *)rk30_sram_secondary_startup + sz - 4, 4);
                memcpy(RK30_IMEM_BASE, rk30_sram_secondary_startup, sz);
                flush_icache_range((unsigned long)RK30_IMEM_BASE, (unsigned long)RK30_IMEM_BASE + sz);
+               outer_clean_range(0, sz);
                copied = true;
        }