diff options
| author | Jeroen Hofstee <jeroen@myspectrum.nl> | 2013-09-21 14:04:41 +0200 | 
|---|---|---|
| committer | Albert ARIBAUD <albert.u.boot@aribaud.net> | 2013-09-23 18:00:02 +0200 | 
| commit | fe1378a961e508b31b1f29a2bb08ba1dac063155 (patch) | |
| tree | 83fdb3942c96af386587a5fe1d58f734cfe2e670 /arch/arm/lib | |
| parent | a81872ff27bb66578ae515ec5079cf191656b1c1 (diff) | |
| download | olio-uboot-2014.01-fe1378a961e508b31b1f29a2bb08ba1dac063155.tar.xz olio-uboot-2014.01-fe1378a961e508b31b1f29a2bb08ba1dac063155.zip | |
ARM: use r9 for gd
To be more EABI compliant and as a preparation for building
with clang, use the platform-specific r9 register for gd
instead of r8.
note: The FIQ is not updated since it is not used in u-boot,
and under discussion for the time being.
The following checkpatch warning is ignored:
WARNING: Use of volatile is usually wrong: see
Documentation/volatile-considered-harmful.txt
Signed-off-by: Jeroen Hofstee <jeroen@myspectrum.nl>
cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
Diffstat (limited to 'arch/arm/lib')
| -rw-r--r-- | arch/arm/lib/crt0.S | 16 | 
1 files changed, 8 insertions, 8 deletions
| diff --git a/arch/arm/lib/crt0.S b/arch/arm/lib/crt0.S index 960d12e73..ac54b9359 100644 --- a/arch/arm/lib/crt0.S +++ b/arch/arm/lib/crt0.S @@ -69,7 +69,7 @@ ENTRY(_main)  	bic	sp, sp, #7	/* 8-byte alignment for ABI compliance */  	sub	sp, #GD_SIZE	/* allocate one GD above SP */  	bic	sp, sp, #7	/* 8-byte alignment for ABI compliance */ -	mov	r8, sp		/* GD is above SP */ +	mov	r9, sp		/* GD is above SP */  	mov	r0, #0  	bl	board_init_f @@ -81,15 +81,15 @@ ENTRY(_main)   * 'here' but relocated.   */ -	ldr	sp, [r8, #GD_START_ADDR_SP]	/* sp = gd->start_addr_sp */ +	ldr	sp, [r9, #GD_START_ADDR_SP]	/* sp = gd->start_addr_sp */  	bic	sp, sp, #7	/* 8-byte alignment for ABI compliance */ -	ldr	r8, [r8, #GD_BD]		/* r8 = gd->bd */ -	sub	r8, r8, #GD_SIZE		/* new GD is below bd */ +	ldr	r9, [r9, #GD_BD]		/* r9 = gd->bd */ +	sub	r9, r9, #GD_SIZE		/* new GD is below bd */  	adr	lr, here -	ldr	r0, [r8, #GD_RELOC_OFF]		/* r0 = gd->reloc_off */ +	ldr	r0, [r9, #GD_RELOC_OFF]		/* r0 = gd->reloc_off */  	add	lr, lr, r0 -	ldr	r0, [r8, #GD_RELOCADDR]		/* r0 = gd->relocaddr */ +	ldr	r0, [r9, #GD_RELOCADDR]		/* r0 = gd->relocaddr */  	b	relocate_code  here: @@ -111,8 +111,8 @@ clbss_l:cmp	r0, r1			/* while not at end of BSS */  	bl red_led_on  	/* call board_init_r(gd_t *id, ulong dest_addr) */ -	mov	r0, r8			/* gd_t */ -	ldr	r1, [r8, #GD_RELOCADDR]	/* dest_addr */ +	mov     r0, r9                  /* gd_t */ +	ldr	r1, [r9, #GD_RELOCADDR]	/* dest_addr */  	/* call board_init_r */  	ldr	pc, =board_init_r	/* this is auto-relocated! */ |