Skip to contentSkip to conversation

mpc83xx: use r4 instead of r2 in lock_ram_in_cache and unlock_ram_in_cache

PATCH New Nick Spence 1 participant 1 message Aug 28, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mpc83xx: use r4 instead of r2 in lock_ram_in_cache and unlock_ram_in_cache

This is needed in unlock_ram_in_cache() because it is called from C and will corrupt the small data area anchor that is kept in R2.

lock_ram_in_cache() is modified similarly as good coding practice, but is not called from C.

---
 cpu/mpc83xx/start.S |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
cpu/mpc83xx/start.S +5 -4
index 16ed494..75ad36c 100644
@@ -1060,9 +1060,9 @@ lock_ram_in_cache:
 	 */
 	lis	r3, (CFG_INIT_RAM_ADDR & ~31)@h
 	ori	r3, r3, (CFG_INIT_RAM_ADDR & ~31)@l
-	li	r2, ((CFG_INIT_RAM_END & ~31) + \
+	li	r4, ((CFG_INIT_RAM_END & ~31) + \
 		     (CFG_INIT_RAM_ADDR & 31) + 31) / 32
-	mtctr	r2
+	mtctr	r4
 1:
 	dcbz	r0, r3
 	addi	r3, r3, 32
@@ -1082,8 +1082,9 @@ unlock_ram_in_cache:
 	/* invalidate the INIT_RAM section */
 	lis	r3, (CFG_INIT_RAM_ADDR & ~31)@h
 	ori	r3, r3, (CFG_INIT_RAM_ADDR & ~31)@l
-	li	r2,512
-	mtctr	r2
+	li	r4, ((CFG_INIT_RAM_END & ~31) + \
+		     (CFG_INIT_RAM_ADDR & 31) + 31) / 32
+	mtctr	r4
 1:	icbi	r0, r3
 	dcbi	r0, r3
 	addi	r3, r3, 32
Signature · 1 line
1.5.2.2