Changeset 49a39c2 in mainline for arch/mips32/src/exception.c
- Timestamp:
- 2006-02-06T21:14:29Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8a1da55
- Parents:
- 7febdde5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/mips32/src/exception.c
r7febdde5 r49a39c2 79 79 } 80 80 81 static void unhandled_exception(int n, void *data) 82 { 83 struct exception_regdump *pstate = (struct exception_regdump *)data; 84 81 static void unhandled_exception(int n, struct exception_regdump *pstate) 82 { 85 83 print_regdump(pstate); 86 84 panic("unhandled exception %s\n", exctable[n]); 87 85 } 88 86 89 static void breakpoint_exception(int n, void *data) 90 { 91 struct exception_regdump *pstate = (struct exception_regdump *)data; 92 87 static void breakpoint_exception(int n, struct exception_regdump *pstate) 88 { 93 89 #ifdef CONFIG_DEBUG 94 90 debugger_bpoint(pstate); … … 101 97 } 102 98 103 static void tlbmod_exception(int n, void *data) 104 { 105 struct exception_regdump *pstate = (struct exception_regdump *)data; 99 static void tlbmod_exception(int n, struct exception_regdump *pstate) 100 { 106 101 tlb_modified(pstate); 107 102 } 108 103 109 static void tlbinv_exception(int n, void *data) 110 { 111 struct exception_regdump *pstate = (struct exception_regdump *)data; 104 static void tlbinv_exception(int n, struct exception_regdump *pstate) 105 { 112 106 tlb_invalid(pstate); 113 107 } 114 108 115 109 #ifdef CONFIG_FPU_LAZY 116 static void cpuns_exception(int n, void *data)110 static void cpuns_exception(int n, struct exception_regdump *pstate) 117 111 { 118 112 if (cp0_cause_coperr(cp0_cause_read()) == fpu_cop_id) … … 123 117 #endif 124 118 125 static void interrupt_exception(int n, void*pstate)119 static void interrupt_exception(int n, struct exception_regdump *pstate) 126 120 { 127 121 __u32 cause; … … 138 132 #include <debug.h> 139 133 /** Handle syscall userspace call */ 140 static void syscall_exception(int n, void *data) 141 { 142 struct exception_regdump *pstate = (struct exception_regdump *)data; 143 134 static void syscall_exception(int n, struct exception_regdump *pstate) 135 { 144 136 if (pstate->a3 < SYSCALL_END) 145 137 pstate->v0 = syscall_table[pstate->a3](pstate->a0, … … 198 190 /* Clear exception table */ 199 191 for (i=0;i < IVT_ITEMS; i++) 200 exc_register(i, "undef", unhandled_exception);201 exc_register(EXC_Bp, "bkpoint", breakpoint_exception);202 exc_register(EXC_Mod, "tlb_mod", tlbmod_exception);203 exc_register(EXC_TLBL, "tlbinvl", tlbinv_exception);204 exc_register(EXC_TLBS, "tlbinvl", tlbinv_exception);205 exc_register(EXC_Int, "interrupt", interrupt_exception);192 exc_register(i, "undef", (iroutine) unhandled_exception); 193 exc_register(EXC_Bp, "bkpoint", (iroutine) breakpoint_exception); 194 exc_register(EXC_Mod, "tlb_mod", (iroutine) tlbmod_exception); 195 exc_register(EXC_TLBL, "tlbinvl", (iroutine) tlbinv_exception); 196 exc_register(EXC_TLBS, "tlbinvl", (iroutine) tlbinv_exception); 197 exc_register(EXC_Int, "interrupt", (iroutine) interrupt_exception); 206 198 #ifdef CONFIG_FPU_LAZY 207 exc_register(EXC_CpU, "cpunus", cpuns_exception);199 exc_register(EXC_CpU, "cpunus", (iroutine) cpuns_exception); 208 200 #endif 209 exc_register(EXC_Sys, "syscall", syscall_exception);210 } 201 exc_register(EXC_Sys, "syscall", (iroutine) syscall_exception); 202 }
Note:
See TracChangeset
for help on using the changeset viewer.