@ -255,6 +255,14 @@ clbss_l:str r2, [r0] /* clear loop... */
* initialization, n o w r u n n i n g f r o m R A M .
* /
jump_2_ram :
/ *
* If I - c a c h e i s e n a b l e d i n v a l i d a t e i t
* /
# ifndef C O N F I G _ S Y S _ I C A C H E _ O F F
mcr p15 , 0 , r0 , c7 , c5 , 0 @ invalidate icache
mcr p15 , 0 , r0 , c7 , c10 , 4 @ DSB
mcr p15 , 0 , r0 , c7 , c5 , 4 @ ISB
# endif
ldr r0 , _ b o a r d _ i n i t _ r _ o f s
adr r1 , _ s t a r t
add l r , r0 , r1
@ -290,6 +298,9 @@ cpu_init_crit:
mov r0 , #0 @ set up for MCR
mcr p15 , 0 , r0 , c8 , c7 , 0 @ invalidate TLBs
mcr p15 , 0 , r0 , c7 , c5 , 0 @ invalidate icache
mcr p15 , 0 , r0 , c7 , c5 , 6 @ invalidate BP array
mcr p15 , 0 , r0 , c7 , c10 , 4 @ DSB
mcr p15 , 0 , r0 , c7 , c5 , 4 @ ISB
/ *
* disable M M U s t u f f a n d c a c h e s
@ -298,7 +309,12 @@ cpu_init_crit:
bic r0 , r0 , #0x00002000 @ clear bits 13 (--V-)
bic r0 , r0 , #0x00000007 @ clear bits 2:0 (-CAM)
orr r0 , r0 , #0x00000002 @ set bit 1 (--A-) Align
orr r0 , r0 , #0x00000800 @ set bit 12 (Z---) BTB
orr r0 , r0 , #0x00000800 @ set bit 11 (Z---) BTB
# ifdef C O N F I G _ S Y S _ I C A C H E _ O F F
bic r0 , r0 , #0x00001000 @ clear bit 12 (I) I-cache
# else
orr r0 , r0 , #0x00001000 @ set bit 12 (I) I-cache
# endif
mcr p15 , 0 , r0 , c1 , c0 , 0
/ *