Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | /* |
| 2 | * Code to call _setup_L2CR to flus, invalidate and disable the L2, |
| 3 | * and if present, do the same to the L3. |
| 4 | */ |
| 5 | |
| 6 | #define CLEAR_CACHES \ |
| 7 | bl _setup_L2CR; \ |
| 8 | \ |
| 9 | /* If 745x, turn off L3CR as well */ \ |
| 10 | mfspr r8,SPRN_PVR; \ |
| 11 | srwi r8,r8,16; \ |
| 12 | \ |
| 13 | cmpli cr0,r8,0x8000; /* 7450 */ \ |
| 14 | cmpli cr1,r8,0x8001; /* 7455 */ \ |
| 15 | cmpli cr2,r8,0x8002; /* 7457 */ \ |
| 16 | /* Now test if any are true. */ \ |
| 17 | cror 4*cr0+eq,4*cr0+eq,4*cr1+eq; \ |
| 18 | cror 4*cr0+eq,4*cr0+eq,4*cr2+eq; \ |
| 19 | beql _setup_L3CR |