Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/arch/mips32/src/exception.c

    r214ec25c r22a28a69  
    7272};
    7373
    74 static void print_regdump(istate_t *istate)
    75 {
    76         printf("PC: %#x(%s) RA: %#x(%s), SP(%p)\n", istate->epc,
    77             symtab_fmt_name_lookup(istate->epc), istate->ra,
    78             symtab_fmt_name_lookup(istate->ra), istate->sp);
     74void istate_decode(istate_t *istate)
     75{
     76        printf("at=%p\tv0=%p\tv1=%p\n", istate->at, istate->v0, istate->v1);
     77        printf("a0=%p\ta1=%p\ta2=%p\n", istate->a0, istate->a1, istate->a2);
     78        printf("a3=%p\tt0=%p\tt1=%p\n", istate->a3, istate->t0, istate->t1);
     79        printf("t2=%p\tt3=%p\tt4=%p\n", istate->t2, istate->t3, istate->t4);
     80        printf("t5=%p\tt6=%p\tt7=%p\n", istate->t5, istate->t6, istate->t7);
     81        printf("t8=%p\tt9=%p\tgp=%p\n", istate->t8, istate->t9, istate->gp);
     82        printf("sp=%p\tra=%p\t\n", istate->sp, istate->ra);
     83        printf("lo=%p\thi=%p\t\n", istate->lo, istate->hi);
     84        printf("cp0_status=%p\tcp0_epc=%p\tk1=%p\n",
     85            istate->status, istate->epc, istate->k1);
    7986}
    8087
     
    8289{
    8390        fault_if_from_uspace(istate, "Unhandled exception %s.", exctable[n]);
    84        
    85         print_regdump(istate);
    86         panic("Unhandled exception %s.", exctable[n]);
     91        panic_badtrap(istate, n, "Unhandled exception %s.", exctable[n]);
    8792}
    8893
     
    125130                scheduler_fpu_lazy_request();
    126131        else {
    127                 fault_if_from_uspace(istate, "Unhandled Coprocessor Unusable Exception.");
    128                 panic("Unhandled Coprocessor Unusable Exception.");
     132                fault_if_from_uspace(istate,
     133                    "Unhandled Coprocessor Unusable Exception.");
     134                panic_badtrap(istate, n,
     135                    "Unhandled Coprocessor Unusable Exception.");
    129136        }
    130137}
     
    162169static void syscall_exception(unsigned int n, istate_t *istate)
    163170{
    164         panic("Syscall is handled through shortcut.");
     171        fault_if_from_uspace(istate, "Syscall is handled through shortcut.");
    165172}
    166173
Note: See TracChangeset for help on using the changeset viewer.