aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-01-26 16:14:23 -0500
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-06-17 05:09:40 -0400
commit4a8d57a54fb21f32ee17e0a61ca54c7a6f8f83da (patch)
treee63465bea306778518c6d8e3b3107d2a8a2975cf
parent88237c25aa4fe0dad177ae11214136ad78bc908f (diff)
ARM: zImage: some comments for __armv3_mpu_cache_on
__armv3_mpu_cache_on seems broken. As there is noone around who knows about these machines just keep the code as is but point out the strange things. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
-rw-r--r--arch/arm/boot/compressed/head.S6
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/arm/boot/compressed/head.S b/arch/arm/boot/compressed/head.S
index 390aa92ef04d..7b7d95c84641 100644
--- a/arch/arm/boot/compressed/head.S
+++ b/arch/arm/boot/compressed/head.S
@@ -396,12 +396,18 @@ __armv3_mpu_cache_on:
396 396
397 mov r0, #0 397 mov r0, #0
398 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 398 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
399 /*
400 * ?? ARMv3 MMU does not allow reading the control register,
401 * does this really work on ARMv3 MPU?
402 */
399 mrc p15, 0, r0, c1, c0, 0 @ read control reg 403 mrc p15, 0, r0, c1, c0, 0 @ read control reg
400 @ .... .... .... WC.M 404 @ .... .... .... WC.M
401 orr r0, r0, #0x000d @ .... .... .... 11.1 405 orr r0, r0, #0x000d @ .... .... .... 11.1
406 /* ?? this overwrites the value constructed above? */
402 mov r0, #0 407 mov r0, #0
403 mcr p15, 0, r0, c1, c0, 0 @ write control reg 408 mcr p15, 0, r0, c1, c0, 0 @ write control reg
404 409
410 /* ?? invalidate for the second time? */
405 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3 411 mcr p15, 0, r0, c7, c0, 0 @ invalidate whole cache v3
406 mov pc, lr 412 mov pc, lr
407 413