diff options
Diffstat (limited to 'arch/arm')
| -rw-r--r-- | arch/arm/cpu/arm1136/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/arm1176/start.S | 9 | ||||
| -rw-r--r-- | arch/arm/cpu/arm720t/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/arm920t/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/arm925t/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/arm946es/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/arm_intcm/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/armv7/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/ixp/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/lh7a40x/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/pxa/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/s3c44b0/start.S | 8 | ||||
| -rw-r--r-- | arch/arm/cpu/sa1100/start.S | 8 | 
13 files changed, 65 insertions, 40 deletions
| diff --git a/arch/arm/cpu/arm1136/start.S b/arch/arm/cpu/arm1136/start.S index c0db96cb1..2483c63ef 100644 --- a/arch/arm/cpu/arm1136/start.S +++ b/arch/arm/cpu/arm1136/start.S @@ -251,10 +251,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  #endif	/* #ifndef CONFIG_SPL_BUILD */  /* diff --git a/arch/arm/cpu/arm1176/start.S b/arch/arm/cpu/arm1176/start.S index 848144a85..d61364109 100644 --- a/arch/arm/cpu/arm1176/start.S +++ b/arch/arm/cpu/arm1176/start.S @@ -351,11 +351,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l - +	b	clbss_l +clbss_e:  #ifndef CONFIG_NAND_SPL  	bl coloured_LED_init  	bl red_led_on diff --git a/arch/arm/cpu/arm720t/start.S b/arch/arm/cpu/arm720t/start.S index 540e3c2f7..3b97e804a 100644 --- a/arch/arm/cpu/arm720t/start.S +++ b/arch/arm/cpu/arm720t/start.S @@ -228,10 +228,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  	bl coloured_LED_init  	bl red_led_on diff --git a/arch/arm/cpu/arm920t/start.S b/arch/arm/cpu/arm920t/start.S index 8c5612c31..9b8604e90 100644 --- a/arch/arm/cpu/arm920t/start.S +++ b/arch/arm/cpu/arm920t/start.S @@ -271,10 +271,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  	bl coloured_LED_init  	bl red_led_on diff --git a/arch/arm/cpu/arm925t/start.S b/arch/arm/cpu/arm925t/start.S index dbb93ef09..1a5441686 100644 --- a/arch/arm/cpu/arm925t/start.S +++ b/arch/arm/cpu/arm925t/start.S @@ -265,10 +265,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  	bl coloured_LED_init  	bl red_led_on diff --git a/arch/arm/cpu/arm946es/start.S b/arch/arm/cpu/arm946es/start.S index 89ba5587e..b4d1d2dd1 100644 --- a/arch/arm/cpu/arm946es/start.S +++ b/arch/arm/cpu/arm946es/start.S @@ -236,10 +236,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	blo	clbss_l +	b	clbss_l +clbss_e:  #endif  /* diff --git a/arch/arm/cpu/arm_intcm/start.S b/arch/arm/cpu/arm_intcm/start.S index 2033b362f..b85e7d442 100644 --- a/arch/arm/cpu/arm_intcm/start.S +++ b/arch/arm/cpu/arm_intcm/start.S @@ -232,10 +232,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  	bl coloured_LED_init  	bl red_led_on diff --git a/arch/arm/cpu/armv7/start.S b/arch/arm/cpu/armv7/start.S index 22a3cedcb..aee27fdc4 100644 --- a/arch/arm/cpu/armv7/start.S +++ b/arch/arm/cpu/armv7/start.S @@ -259,10 +259,12 @@ clear_bss:  #endif  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  /*   * We are done. Do not return, instead branch to second part of board diff --git a/arch/arm/cpu/ixp/start.S b/arch/arm/cpu/ixp/start.S index cb32121a0..59c359a35 100644 --- a/arch/arm/cpu/ixp/start.S +++ b/arch/arm/cpu/ixp/start.S @@ -334,10 +334,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  	bl coloured_LED_init  	bl red_led_on diff --git a/arch/arm/cpu/lh7a40x/start.S b/arch/arm/cpu/lh7a40x/start.S index 62de8b8fc..bd68cd47c 100644 --- a/arch/arm/cpu/lh7a40x/start.S +++ b/arch/arm/cpu/lh7a40x/start.S @@ -245,10 +245,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  #endif  /* diff --git a/arch/arm/cpu/pxa/start.S b/arch/arm/cpu/pxa/start.S index ba0de8f1d..33c73f67b 100644 --- a/arch/arm/cpu/pxa/start.S +++ b/arch/arm/cpu/pxa/start.S @@ -258,10 +258,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  #endif	/* #ifndef CONFIG_SPL_BUILD */  /* diff --git a/arch/arm/cpu/s3c44b0/start.S b/arch/arm/cpu/s3c44b0/start.S index a29d5b496..8daf26c4f 100644 --- a/arch/arm/cpu/s3c44b0/start.S +++ b/arch/arm/cpu/s3c44b0/start.S @@ -217,10 +217,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  	bl coloured_LED_init  	bl red_led_on diff --git a/arch/arm/cpu/sa1100/start.S b/arch/arm/cpu/sa1100/start.S index 92546d8ba..bcea2a8de 100644 --- a/arch/arm/cpu/sa1100/start.S +++ b/arch/arm/cpu/sa1100/start.S @@ -221,10 +221,12 @@ clear_bss:  	add	r1, r1, r4  	mov	r2, #0x00000000		/* clear			    */ -clbss_l:str	r2, [r0]		/* clear loop...		    */ +clbss_l:cmp	r0, r1			/* clear loop... */ +	bhs	clbss_e			/* if reached end of bss, exit */ +	str	r2, [r0]  	add	r0, r0, #4 -	cmp	r0, r1 -	bne	clbss_l +	b	clbss_l +clbss_e:  #endif  /* |