From d80e81fca4a4ee593064c6029ea849f29afac373 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E9=BB=84=E6=B6=9B?= Date: Wed, 29 Aug 2012 19:49:58 +0800 Subject: [PATCH] rk30: smp: shrink rk30_sram_secondary_startup size to 16 bytes --- arch/arm/mach-rk30/headsmp.S | 62 ------------------------ arch/arm/mach-rk30/include/mach/memory.h | 2 +- arch/arm/mach-rk30/platsmp.c | 3 +- 3 files changed, 2 insertions(+), 65 deletions(-) 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); -- 2.34.1