[U-Boot-Users] [PATCH] Unlock cache on mpc824x

Gleb Natapov gleb at nbase.co.il
Tue Sep 2 15:20:02 CEST 2003


Hello,

 MPC824x locks way0 of the cache while booting for use as initial RAM, but
it never unlocks it. The cache remains locked even after booting Linux.

Attached patch unlocks cache after relocation to RAM and invalidates locked
entries.

--
			Gleb.
-------------- next part --------------
--- u-boot/cpu/mpc824x/start.S	2003-07-25 02:39:07.000000000 +0300
+++ u-boot.p/cpu/mpc824x/start.S	2003-09-02 16:01:59.000000000 +0300
@@ -526,11 +526,26 @@
 	stwu	r0,-4(r7)
 	bdnz	3b
 
+4:
+#if !defined(CONFIG_BMW)
+/* Unlock the data cache and invalidate locked area */
+	xor	r0, r0, r0
+	mtspr	1011, r0
+	lis	r4, CFG_INIT_RAM_ADDR at h
+	ori	r4, r4, CFG_INIT_RAM_ADDR at l
+	li	r0, 128
+	mtctr	r0
+41:
+	dcbi	r0, r4
+	addi	r4, r4, 32
+	bdnz	41b
+#endif
+
 /*
  * Now flush the cache: note that we must start from a cache aligned
  * address. Otherwise we might miss one cache line.
  */
-4:	cmpwi	r6,0
+	cmpwi	r6,0
 	add	r5,r3,r5
 	beq	7f		/* Always flush prefetch queue in any case */
 	subi	r0,r6,1


More information about the U-Boot mailing list