From 9cd3444e272bbffc5ca6dcf172577b0e7885a3d2 Mon Sep 17 00:00:00 2001 From: Marcin Bukat Date: Fri, 10 Jan 2014 08:56:40 +0100 Subject: rk27xx: Implement HAVE_INIT_ATTR magic This reclaims over 7kB of ram. Change-Id: I4a89c9a673ada7959311f320900060f6db303c07 --- firmware/target/arm/rk27xx/crt0.S | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'firmware/target/arm/rk27xx/crt0.S') diff --git a/firmware/target/arm/rk27xx/crt0.S b/firmware/target/arm/rk27xx/crt0.S index 2a6b2cc329..fb5f02dbdc 100644 --- a/firmware/target/arm/rk27xx/crt0.S +++ b/firmware/target/arm/rk27xx/crt0.S @@ -149,6 +149,20 @@ entry_point: strhi r1, [r2], #4 bhi 1b +#ifdef HAVE_INIT_ATTR + /* Copy init section to the codec buffer + * before .bss zeroing + */ + ldr r2, =_initstart + ldr r3, =_initend + ldr r4, =_initcopy +1: + cmp r3, r2 + ldrhi r1, [r4], #4 + strhi r1, [r2], #4 + bhi 1b +#endif + /* Initialise bss, ibss section to zero */ ldr r2, =_edata ldr r3, =_end -- cgit v1.2.3