[U-Boot] [PATCH] arch/arm/cpu/arm_cortexa8/omap3/cache.S: make build with older tools

Paulraj, Sandeep s-paulraj at ti.com
Fri Jun 18 16:12:14 CEST 2010



> Subject: [PATCH] arch/arm/cpu/arm_cortexa8/omap3/cache.S: make build with
> older tools
> 
> The push / pop instructions used in this file are available only with
> more recent tool chains:
> 
> cache.S: Assembler messages:
> cache.S:133: Error: bad instruction `push {r0,r1,r2,lr}'
> cache.S:160: Error: bad instruction `pop {r1,r2,r3,pc}'
> cache.S:164: Error: bad instruction `push {r0,r1,r2,lr}'
> cache.S:191: Error: bad instruction `pop {r1,r2,r3,pc}'
> 
> Change push/pop into stmfd/ldmfd instructions to support older
> versions of binutils as well.
> 
> I verified that the modified source code generates exactly the same
> binary code.

Wolfgang, Thanks for taking acre of this.

I do run MAKEALL but the toolchain I use is the latest from Codesourcery


> 
> Signed-off-by: Wolfgang Denk <wd at denx.de>
> Cc: Sandeep Paulraj <s-paulraj at ti.com>
> Cc: Tom Rix <tom at bumblecow.com>
> ---
>  arch/arm/cpu/arm_cortexa8/omap3/cache.S |    8 ++++----
>  1 files changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/arch/arm/cpu/arm_cortexa8/omap3/cache.S
> b/arch/arm/cpu/arm_cortexa8/omap3/cache.S
> index 0f63815..4b65ac5 100644
> --- a/arch/arm/cpu/arm_cortexa8/omap3/cache.S
> +++ b/arch/arm/cpu/arm_cortexa8/omap3/cache.S
> @@ -130,7 +130,7 @@ finished_inval:
> 
> 
>  l2_cache_enable:
> -	push	{r0, r1, r2, lr}
> +	stmfd	r13!, {r0, r1, r2, lr}
>  	@ ES2 onwards we can disable/enable L2 ourselves
>  	bl	get_cpu_rev
>  	cmp	r0, #CPU_3XX_ES20
> @@ -157,11 +157,11 @@ l2_cache_enable_EARLIER_THAN_ES2:
>  	mov	ip, r3
>  	str	r3, [sp, #4]
>  l2_cache_enable_END:
> -	pop	{r1, r2, r3, pc}
> +	ldmfd	r13!, {r1, r2, r3, pc}
> 
> 
>  l2_cache_disable:
> -	push	{r0, r1, r2, lr}
> +	stmfd	r13!, {r0, r1, r2, lr}
>  	@ ES2 onwards we can disable/enable L2 ourselves
>  	bl	get_cpu_rev
>  	cmp	r0, #CPU_3XX_ES20
> @@ -188,4 +188,4 @@ l2_cache_disable_EARLIER_THAN_ES2:
>  	mov	ip, r3
>  	str	r3, [sp, #4]
>  l2_cache_disable_END:
> -	pop	{r1, r2, r3, pc}
> +	ldmfd	r13!, {r1, r2, r3, pc}
> --
> 1.7.0.1



More information about the U-Boot mailing list