Remove L2 Cache invalidate polling.

This commit is contained in:
Jon Loeliger 2006-05-19 13:14:15 -05:00
parent f35ec68fb0
commit cccce5d058
1 changed files with 17 additions and 11 deletions

View File

@ -28,7 +28,7 @@
* Most of this code is taken from 74xx_7xx/cache.S
* and then cleaned up a bit
*/
/*
* Invalidate L1 instruction cache.
*/
@ -316,24 +316,30 @@ _GLOBAL(dcache_status)
blr
/*
* Invalidate L2 cache using L2I and polling L2IP
* Invalidate L2 cache using L2I, assume L2 is enabled
*/
_GLOBAL(l2cache_invalidate)
sync
oris r3, r3, L2CR_L2I@h
mfspr r3, l2cr
rlwinm. r3, r3, 0, 0, 0
beq 1f
mfspr r3, l2cr
rlwinm r3, r3, 0, 1, 31
#ifdef CONFIG_ALTIVEC
dssall
#endif
sync
mtspr l2cr, r3
sync
1: mfspr r3, l2cr
oris r3, r3, L2CR_L2I@h
mtspr l2cr, r3
invl2:
mfspr r3, l2cr
andi. r3, r3, L2CR_L2IP
andi. r3, r3, L2CR_L2I@h
bne invl2
/* turn off the global invalidate bit */
mfspr r3, l2cr
rlwinm r3, r3, 0, 11, 9
sync
mtspr l2cr, r3
sync
blr
/*