Changeset 874621f in mainline for arch/mips32
- Timestamp:
- 2006-06-06T07:40:51Z (19 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 0dbc4e7
- Parents:
- 6f9a9bc
- Location:
- arch/mips32
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/mips32/include/arg.h
r6f9a9bc r874621f 45 45 (((type *)((ap) = (va_list)( (sizeof(type) <= 4) ? ((__address)((ap) + 2*4 - 1) & (~3)) : ((__address)((ap) + 2*8 -1) & (~7)) )))[-1]) 46 46 47 #define va_copy(dst,src) ((dst)=(src)) 48 47 49 #define va_end(ap) 48 50 -
arch/mips32/include/exception.h
r6f9a9bc r874621f 35 35 36 36 #include <typedefs.h> 37 #include <arch/cp0.h> 37 38 38 39 #define EXC_Int 0 … … 99 100 } 100 101 102 /** Return true if exception happened while in userspace */ 103 static inline int istate_from_uspace(istate_t *istate) 104 { 105 return istate->status & cp0_status_um_bit; 106 } 107 static inline __native istate_get_pc(istate_t *istate) 108 { 109 return istate->epc; 110 } 111 101 112 extern void exception(istate_t *istate); 102 113 extern void tlb_refill_entry(void); -
arch/mips32/src/exception.c
r6f9a9bc r874621f 79 79 static void unhandled_exception(int n, istate_t *istate) 80 80 { 81 fault_if_from_uspace(istate, "unhandled exception %s", exctable[n]); 82 81 83 print_regdump(istate); 82 84 panic("unhandled exception %s\n", exctable[n]); … … 120 122 if (cp0_cause_coperr(cp0_cause_read()) == fpu_cop_id) 121 123 scheduler_fpu_lazy_request(); 122 else 124 else { 125 fault_if_from_uspace(istate, "unhandled Coprocessor Unusable Exception"); 123 126 panic("unhandled Coprocessor Unusable Exception\n"); 127 } 124 128 } 125 129 #endif -
arch/mips32/src/mm/tlb.c
r6f9a9bc r874621f 40 40 #include <debug.h> 41 41 #include <align.h> 42 #include <interrupt.h> 42 43 43 44 static void tlb_refill_fail(istate_t *istate); … … 337 338 if (s) 338 339 sym2 = s; 340 341 fault_if_from_uspace(istate, "TLB Refill Exception on %P", cp0_badvaddr_read()); 339 342 panic("%X: TLB Refill Exception at %X(%s<-%s)\n", cp0_badvaddr_read(), istate->epc, symbol, sym2); 340 343 } … … 348 351 if (s) 349 352 symbol = s; 353 fault_if_from_uspace(istate, "TLB Invalid Exception on %P", cp0_badvaddr_read()); 350 354 panic("%X: TLB Invalid Exception at %X(%s)\n", cp0_badvaddr_read(), istate->epc, symbol); 351 355 } … … 358 362 if (s) 359 363 symbol = s; 364 fault_if_from_uspace(istate, "TLB Modified Exception on %P", cp0_badvaddr_read()); 360 365 panic("%X: TLB Modified Exception at %X(%s)\n", cp0_badvaddr_read(), istate->epc, symbol); 361 366 }
Note:
See TracChangeset
for help on using the changeset viewer.