Having received another series of whitespace patches I decided to do this once and for all rather than dealing with this kind of patches trickling in forever. Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
		
			
				
	
	
		
			42 lines
		
	
	
	
		
			1,006 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
	
		
			1,006 B
			
		
	
	
	
		
			ArmAsm
		
	
	
	
	
	
/*
 | 
						|
 * This file is subject to the terms and conditions of the GNU General Public
 | 
						|
 * License.  See the file "COPYING" in the main directory of this archive
 | 
						|
 * for more details.
 | 
						|
 *
 | 
						|
 * Copyright (C) 1995 - 1999 Ralf Baechle
 | 
						|
 * Copyright (C) 1999 Silicon Graphics, Inc.
 | 
						|
 *
 | 
						|
 * Cache error handler
 | 
						|
 */
 | 
						|
#include <asm/asm.h>
 | 
						|
#include <asm/regdef.h>
 | 
						|
#include <asm/mipsregs.h>
 | 
						|
#include <asm/stackframe.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * Game over.  Go to the button.  Press gently.	 Swear where allowed by
 | 
						|
 * legislation.
 | 
						|
 */
 | 
						|
	LEAF(except_vec2_generic)
 | 
						|
	.set	noreorder
 | 
						|
	.set	noat
 | 
						|
	.set	mips0
 | 
						|
	/*
 | 
						|
	 * This is a very bad place to be.  Our cache error
 | 
						|
	 * detection has triggered.  If we have write-back data
 | 
						|
	 * in the cache, we may not be able to recover.	 As a
 | 
						|
	 * first-order desperate measure, turn off KSEG0 cacheing.
 | 
						|
	 */
 | 
						|
	mfc0	k0,CP0_CONFIG
 | 
						|
	li	k1,~CONF_CM_CMASK
 | 
						|
	and	k0,k0,k1
 | 
						|
	ori	k0,k0,CONF_CM_UNCACHED
 | 
						|
	mtc0	k0,CP0_CONFIG
 | 
						|
	/* Give it a few cycles to sink in... */
 | 
						|
	nop
 | 
						|
	nop
 | 
						|
	nop
 | 
						|
 | 
						|
	j	cache_parity_error
 | 
						|
	nop
 | 
						|
	END(except_vec2_generic)
 |