From: 黄涛 Date: Wed, 29 Aug 2012 11:49:58 +0000 (+0800) Subject: rk30: smp: shrink rk30_sram_secondary_startup size to 16 bytes X-Git-Tag: firefly_0821_release~8777 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=d80e81fca4a4ee593064c6029ea849f29afac373;p=firefly-linux-kernel-4.4.55.git rk30: smp: shrink rk30_sram_secondary_startup size to 16 bytes --- diff --git a/arch/arm/mach-rk30/headsmp.S b/arch/arm/mach-rk30/headsmp.S index 48c3e1454a54..0e71e7d23f02 100644 --- a/arch/arm/mach-rk30/headsmp.S +++ b/arch/arm/mach-rk30/headsmp.S @@ -55,67 +55,5 @@ ENDPROC(rk30_secondary_startup) ENTRY(rk30_sram_secondary_startup) ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f - ldr pc, 1f 1: .long rk30_secondary_startup - PAGE_OFFSET + PLAT_PHYS_OFFSET ENDPROC(rk30_sram_secondary_startup) diff --git a/arch/arm/mach-rk30/include/mach/memory.h b/arch/arm/mach-rk30/include/mach/memory.h index 01d8387e106a..1a967f82de3a 100644 --- a/arch/arm/mach-rk30/include/mach/memory.h +++ b/arch/arm/mach-rk30/include/mach/memory.h @@ -7,7 +7,7 @@ /* * SRAM memory whereabouts */ -#define SRAM_CODE_OFFSET (RK30_IMEM_BASE + 0x0100) +#define SRAM_CODE_OFFSET (RK30_IMEM_BASE + 0x0010) #define SRAM_CODE_END (RK30_IMEM_BASE + 0x2FFF) #define SRAM_DATA_OFFSET (RK30_IMEM_BASE + 0x3000) #define SRAM_DATA_END (RK30_IMEM_BASE + 0x3FFF) diff --git a/arch/arm/mach-rk30/platsmp.c b/arch/arm/mach-rk30/platsmp.c index b36ecd42ed2d..6c3ff7a051df 100755 --- a/arch/arm/mach-rk30/platsmp.c +++ b/arch/arm/mach-rk30/platsmp.c @@ -76,11 +76,10 @@ int __cpuinit boot_secondary(unsigned int cpu, struct task_struct *idle) static bool first = true; if (first) { - unsigned long sz = 0x100; + unsigned long sz = 0x10; pmu_set_power_domain(PD_A9_1, false); - 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);