Skip to contentSkip to conversation

Use jr as register jump instruction

PATCH New Shinya Kuribayashi 2 participants 2 messages Apr 17, 2008 – Apr 18, 2008 Arm/actions semi architecture

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Use jr as register jump instruction

Current assembler codes are inconsistent in the way of register jump instruction usage; some use jr, some use j. Of course GNU as allows both usages, but as can be expected from Jump Register' the mnemonic jr' is more intuitive than j'. For example, Linux doesn't have j <reg>' usage at all.

---

 board/dbau1x00/lowlevel_init.S  |    2 +-
 board/gth2/lowlevel_init.S      |    2 +-
 board/incaip/lowlevel_init.S    |    8 ++++----
 board/pb1x00/lowlevel_init.S    |    2 +-
 board/purple/lowlevel_init.S    |    2 +-
 board/qemu-mips/lowlevel_init.S |    2 +-
 cpu/mips/cache.S                |    4 ++--
 cpu/mips/incaip_wdt.S           |    2 +-
 cpu/mips/start.S                |    6 +++---
 9 files changed, 15 insertions(+), 15 deletions(-)
board/dbau1x00/lowlevel_init.S +1 -1
index 14a7846..27b51f7 100644
@@ -586,5 +586,5 @@ noCacheJump:
 	sw	t1, 0(t0)
 	sync
 
-	j	ra
+	jr	ra
 	nop
board/gth2/lowlevel_init.S +1 -1
index eea378a..bf615c1 100644
@@ -450,7 +450,7 @@ mtc:	sw	zero, 0(t0)
 	nop
 	nop
 memtestend:
-	j	ra
+	jr	ra
 	nop
 
 memhang:
board/incaip/lowlevel_init.S +4 -4
index b39f93d..08f7f21 100644
@@ -105,7 +105,7 @@ __ebu_init:
 	li	t2, 0x684143FD
 	sw	t2, EBU_BUSCON1(t1)
 3:
-	j	ra
+	jr	ra
 	nop
 
 	.end	ebu_init
@@ -170,7 +170,7 @@ __cgu_init:
 	li	t2, 0x80000001
 	sw	t2, CGU_MUXCR(t1)
 5:
-	j	ra
+	jr	ra
 	nop
 
 	.end	cgu_init
@@ -266,7 +266,7 @@ __sdram_init:
 	li	t2, 0x00000001
 	sw	t2, MC_CTRLENA(t1)
 
-	j	ra
+	jr	ra
 	nop
 
 	.end	sdram_init
@@ -298,7 +298,7 @@ lowlevel_init:
 	nop
 	move	ra, t0
 
-	j	ra
+	jr	ra
 	nop
 
 	.end	lowlevel_init
board/pb1x00/lowlevel_init.S +1 -1
index e851e2f..98bb394 100644
@@ -388,5 +388,5 @@ skip_memsetup:
 	*/
 	sync
 
-	j	ra
+	jr	ra
 	nop
board/purple/lowlevel_init.S +1 -1
index 668124a..b9d03fc 100644
@@ -33,5 +33,5 @@ lowlevel_init:
 	li	t0, MC_IOGP
 	li	t1, 0xf24
 	sw	t1, 0(t0)
-	j	ra
+	jr	ra
 	nop
board/qemu-mips/lowlevel_init.S +1 -1
index 28166bc..836e027 100644
@@ -37,5 +37,5 @@ lowlevel_init:
 	mtc0	zero, CP0_WIRED
 	nop
 
-	j	ra
+	jr	ra
 	nop
cpu/mips/cache.S +2 -2
index 89ada71..f593968 100644
@@ -282,7 +282,7 @@ LEAF(dcache_disable)
 	and	t0, t0, t1
 	ori	t0, t0, CONF_CM_UNCACHED
 	mtc0	t0, CP0_CONFIG
-	j	ra
+	jr	ra
 	END(dcache_disable)
 
 #ifdef CFG_INIT_RAM_LOCK_MIPS
@@ -308,7 +308,7 @@ mips_cache_lock:
 	move	a1, a2
 	icacheop(a0,a1,a2,a3,0x1d)
 
-	j	ra
+	jr	ra
 
 	.end	mips_cache_lock
 #endif /* CFG_INIT_RAM_LOCK_MIPS */
cpu/mips/incaip_wdt.S +1 -1
index 71adaa1..2ebcc91 100644
@@ -68,5 +68,5 @@ disable_incaip_wdt:
 	li	t1, WD_WRITE_ENDINIT
 	sw	t1, WD_CON0(t0)		/* end command */
 
-	j	ra
+	jr	ra
 	nop
cpu/mips/start.S +3 -3
index baac2ce..6e1a78c 100644
@@ -286,7 +286,7 @@ reset:
 	la	sp, 0(t0)
 
 	la	t9, board_init_f
-	j	t9
+	jr	t9
 	nop
 
 /*
@@ -342,7 +342,7 @@ relocate_code:
 	/* Jump to where we've relocated ourselves.
 	 */
 	addi	t0, a2, in_ram - _start
-	j	t0
+	jr	t0
 	nop
 
 	.gpword	_GLOBAL_OFFSET_TABLE_	/* _GLOBAL_OFFSET_TABLE_ - _gp	*/
@@ -387,7 +387,7 @@ in_ram:
 
 	move	a0, a1
 	la	t9, board_init_r
-	j	t9
+	jr	t9
 	move	a1, a2		/* delay slot			*/
 
 	.end	relocate_code
#1 lore raw

PATCH 1/1 Use jr as register jump instruction

Quoted 9 lines · In message <[email protected]> you wrote:

Current assembler codes are inconsistent in the way of register jump instruction usage; some use jr, some use j. Of course GNU as allows both usages, but as can be expected from Jump Register' the mnemonic jr' is more intuitive than j'. For example, Linux doesn't have j <reg>' usage at all.

---

Quoted 10 lines
 board/dbau1x00/lowlevel_init.S  |    2 +-
 board/gth2/lowlevel_init.S      |    2 +-
 board/incaip/lowlevel_init.S    |    8 ++++----
 board/pb1x00/lowlevel_init.S    |    2 +-
 board/purple/lowlevel_init.S    |    2 +-
 board/qemu-mips/lowlevel_init.S |    2 +-
 cpu/mips/cache.S                |    4 ++--
 cpu/mips/incaip_wdt.S           |    2 +-
 cpu/mips/start.S                |    6 +++---
 9 files changed, 15 insertions(+), 15 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Signature · 7 lines
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
READ THIS BEFORE OPENING PACKAGE: According to Certain Suggested Ver-
sions of the Grand Unified Theory, the Primary Particles Constituting
this Product May Decay to Nothingness Within the  Next  Four  Hundred
Million Years.