![]() |
|
|||
0001 /* 0002 * This file is subject to the terms and conditions of the GNU General Public 0003 * License. See the file "COPYING" in the main directory of this archive 0004 * for more details. 0005 * 0006 * Copyright (C) 1995 - 1999 Ralf Baechle 0007 * Copyright (C) 1999 Silicon Graphics, Inc. 0008 * 0009 * Cache error handler 0010 */ 0011 #include <asm/asm.h> 0012 #include <asm/regdef.h> 0013 #include <asm/mipsregs.h> 0014 #include <asm/stackframe.h> 0015 0016 /* 0017 * Game over. Go to the button. Press gently. Swear where allowed by 0018 * legislation. 0019 */ 0020 LEAF(except_vec2_generic) 0021 .set noreorder 0022 .set noat 0023 .set mips0 0024 /* 0025 * This is a very bad place to be. Our cache error 0026 * detection has triggered. If we have write-back data 0027 * in the cache, we may not be able to recover. As a 0028 * first-order desperate measure, turn off KSEG0 cacheing. 0029 */ 0030 mfc0 k0,CP0_CONFIG 0031 li k1,~CONF_CM_CMASK 0032 and k0,k0,k1 0033 ori k0,k0,CONF_CM_UNCACHED 0034 mtc0 k0,CP0_CONFIG 0035 /* Give it a few cycles to sink in... */ 0036 nop 0037 nop 0038 nop 0039 0040 j cache_parity_error 0041 nop 0042 END(except_vec2_generic)
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.1.0 LXR engine. The LXR team |
![]() ![]() |