@ -636,6 +636,33 @@ _start:
dcbz r0 ,r3
dcbz r0 ,r3
addi r3 ,r3 ,3 2
addi r3 ,r3 ,3 2
bdnz . . d _ a g
bdnz . . d _ a g
/ *
* Lock t h e i n i t - r a m / s t a c k i n d - c a c h e , s o t h a t o t h e r r e g i o n s
* may u s e d - c a c h e a s w e l l
* Note, t h a t t h i s c u r r e n t i m p l e m e n t a t i o n l o c k s e x a c t l y 4 k
* of d - c a c h e , s o p l e a s e m a k e s u r e t h a t y o u d o n ' t d e f i n e a
* bigger i n i t - r a m a r e a . T a k e a l o o k a t t h e l w m o n 5 4 4 0 E P x
* implementation a s a r e f e r e n c e .
* /
msync
isync
/* 8. set TFLOOR/NFLOOR to 8 (-> 8*16*32 bytes locked -> 4k) */
lis r1 ,0 x02 0 1
ori r1 ,r1 ,0 x f80 8
mtspr d v l i m ,r1
lis r1 ,0 x08 0 8
ori r1 ,r1 ,0 x08 0 8
mtspr d n v0 ,r1
mtspr d n v1 ,r1
mtspr d n v2 ,r1
mtspr d n v3 ,r1
mtspr d t v0 ,r1
mtspr d t v1 ,r1
mtspr d t v2 ,r1
mtspr d t v3 ,r1
msync
isync
# endif / * C F G _ I N I T _ R A M _ D C A C H E * /
# endif / * C F G _ I N I T _ R A M _ D C A C H E * /
/* 440EP & 440GR are only 440er PPC's without internal SRAM */
/* 440EP & 440GR are only 440er PPC's without internal SRAM */
@ -1345,6 +1372,31 @@ relocate_code:
mr r4 ,r10
mr r4 ,r10
mr r5 ,r11
mr r5 ,r11
# endif
# endif
# ifdef C F G _ I N I T _ R A M _ D C A C H E
/ *
* Unlock t h e p r e v i o u s l y l o c k e d d - c a c h e
* /
msync
isync
/* set TFLOOR/NFLOOR to 0 again */
lis r6 ,0 x00 0 1
ori r6 ,r6 ,0 x f80 0
mtspr d v l i m ,r6
lis r6 ,0 x00 0 0
ori r6 ,r6 ,0 x00 0 0
mtspr d n v0 ,r6
mtspr d n v1 ,r6
mtspr d n v2 ,r6
mtspr d n v3 ,r6
mtspr d t v0 ,r6
mtspr d t v1 ,r6
mtspr d t v2 ,r6
mtspr d t v3 ,r6
msync
isync
# endif / * C F G _ I N I T _ R A M _ D C A C H E * /
# if d e f i n e d ( C O N F I G _ 4 4 0 E P ) | | d e f i n e d ( C O N F I G _ 4 4 0 G R ) | | \
# if d e f i n e d ( C O N F I G _ 4 4 0 E P ) | | d e f i n e d ( C O N F I G _ 4 4 0 G R ) | | \
defined( C O N F I G _ 4 4 0 E P X ) | | d e f i n e d ( C O N F I G _ 4 4 0 G R X ) | | \
defined( C O N F I G _ 4 4 0 E P X ) | | d e f i n e d ( C O N F I G _ 4 4 0 G R X ) | | \
defined( C O N F I G _ 4 4 0 S P ) | | d e f i n e d ( C O N F I G _ 4 4 0 S P E )
defined( C O N F I G _ 4 4 0 S P ) | | d e f i n e d ( C O N F I G _ 4 4 0 S P E )