00001
00007 #ifndef _EXC_H_
00008 #define _EXC_H_
00009
00010 #include "typedefs.h"
00011
00013 struct cpu_regs {
00014 uint32_t at;
00015 uint32_t v0;
00016 uint32_t v1;
00017
00018 uint32_t a0;
00019 uint32_t a1;
00020 uint32_t a2;
00021 uint32_t a3;
00022
00023 uint32_t t0;
00024 uint32_t t1;
00025 uint32_t t2;
00026 uint32_t t3;
00027 uint32_t t4;
00028 uint32_t t5;
00029 uint32_t t6;
00030 uint32_t t7;
00031
00032 uint32_t s0;
00033 uint32_t s1;
00034 uint32_t s2;
00035 uint32_t s3;
00036 uint32_t s4;
00037 uint32_t s5;
00038 uint32_t s6;
00039 uint32_t s7;
00040
00041 uint32_t t8;
00042 uint32_t t9;
00043
00044 uint32_t k0;
00045 uint32_t k1;
00046
00047 uint32_t gp;
00048 uint32_t fp;
00049 uint32_t ra;
00050
00051 uint32_t lo;
00052 uint32_t hi;
00053
00054 uint32_t epc;
00055 uint32_t cause;
00056 uint32_t badvaddr;
00057 uint32_t status;
00058 };
00059
00061 typedef struct cpu_regs context_t ;
00062
00063 void exception (int* stc);
00064
00065 #endif