| 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 |