52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			52 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
|  * Copyright 1998 by Metro Link Incorporated
 | |
|  *
 | |
|  * Permission to use, copy, modify, distribute, and sell this software
 | |
|  * and its documentation for any purpose is hereby granted without fee,
 | |
|  * provided that the above copyright notice appear in all copies and that
 | |
|  * both that copyright notice and this permission notice appear in
 | |
|  * supporting documentation, and that the name of Metro Link
 | |
|  * Incorporated not be used in advertising or publicity pertaining to
 | |
|  * distribution of the software without specific, written prior
 | |
|  * permission.  Metro Link Incorporated makes no representations
 | |
|  * about the suitability of this software for any purpose.  It is
 | |
|  * provided "as is" without express or implied warranty.
 | |
|  *
 | |
|  * METRO LINK INCORPORATED DISCLAIMS ALL WARRANTIES WITH REGARD
 | |
|  * TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
 | |
|  * AND FITNESS, IN NO EVENT SHALL METRO LINK INCORPORATED BE
 | |
|  * LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY
 | |
|  * DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 | |
|  * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 | |
|  * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 | |
|  * SOFTWARE.
 | |
|  */
 | |
| 
 | |
| void ppc_flush_icache()
 | |
| {
 | |
| __asm__ __volatile__ (" \
 | |
| 	mflr 0 ;\
 | |
| 	stw 31,-4(1) ;\
 | |
| 	stw 0,8(1) ;\
 | |
| 	stwu 1,-64(1) ;\
 | |
| 	mr 31,1 ;\
 | |
| 	stw 3,88(31) ;\
 | |
| 	li 6, 0 ;\
 | |
| 	dcbf 3, 6 ;\
 | |
| 	li 5, 32 ;\
 | |
| 	dcbf 3, 5 ;\
 | |
| 	sync ;\
 | |
| 	li 4,0 ;\
 | |
| 	icbi  3,4 ;\
 | |
| 	li 7,32 ;\
 | |
| 	icbi  3,7 ;\
 | |
| 	sync ;\
 | |
| 	isync ;\
 | |
| 	lwz 1,0(1) ;\
 | |
| 	lwz 0,8(1) ;\
 | |
| 	mtlr 0 ;\
 | |
| 	lwz 31,-4(1) ;\
 | |
| 	blr ;\
 | |
| ");
 | |
| }
 |