|
17 | 17 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
|
18 | 18 | ***************************************************************************/
|
19 | 19 |
|
| 20 | +#include "osdebug.h" |
| 21 | + |
20 | 22 | #include "common/compiler/stdint.h"
|
21 | 23 | #include "openbios/kernel/handlers.h"
|
22 | 24 |
|
@@ -147,8 +149,23 @@ typedef struct {
|
147 | 149 | uint32_t EPC;
|
148 | 150 | } InterruptData;
|
149 | 151 |
|
| 152 | +static void printInterruptData(InterruptData* data) { |
| 153 | + osDbgPrintf("epc = %p - status = %p - cause = %p\r\n", data->EPC, data->SR, data->Cause); |
| 154 | + osDbgPrintf("r0 = %p - at = %p - v0 = %p - v1 = %p\r\n", data->GPR.r[ 0], data->GPR.r[ 1], data->GPR.r[ 2], data->GPR.r[ 3]); |
| 155 | + osDbgPrintf("a0 = %p - a1 = %p - a2 = %p - a3 = %p\r\n", data->GPR.r[ 4], data->GPR.r[ 5], data->GPR.r[ 6], data->GPR.r[ 7]); |
| 156 | + osDbgPrintf("t0 = %p - t1 = %p - t2 = %p - t3 = %p\r\n", data->GPR.r[ 8], data->GPR.r[ 9], data->GPR.r[10], data->GPR.r[11]); |
| 157 | + osDbgPrintf("t4 = %p - t5 = %p - t6 = %p - t7 = %p\r\n", data->GPR.r[12], data->GPR.r[13], data->GPR.r[14], data->GPR.r[15]); |
| 158 | + osDbgPrintf("s0 = %p - s1 = %p - s2 = %p - s3 = %p\r\n", data->GPR.r[16], data->GPR.r[17], data->GPR.r[18], data->GPR.r[19]); |
| 159 | + osDbgPrintf("s4 = %p - s5 = %p - s6 = %p - s7 = %p\r\n", data->GPR.r[20], data->GPR.r[21], data->GPR.r[22], data->GPR.r[23]); |
| 160 | + osDbgPrintf("t8 = %p - t9 = %p - k0 = %p - k1 = %p\r\n", data->GPR.r[24], data->GPR.r[25], data->GPR.r[26], data->GPR.r[27]); |
| 161 | + osDbgPrintf("gp = %p - sp = %p - s8 = %p - ra = %p\r\n", data->GPR.r[28], data->GPR.r[29], data->GPR.r[30], data->GPR.r[31]); |
| 162 | + osDbgPrintf("hi = %p - lo = %p\r\n", data->GPR.r[32], data->GPR.r[33]); |
| 163 | +} |
| 164 | + |
150 | 165 | void breakHandler(InterruptData* data) {
|
151 | 166 | }
|
152 | 167 |
|
153 | 168 | void interruptHandler(InterruptData* data) {
|
| 169 | + osDbgPrintf("***Exception***\r\n"); |
| 170 | + printInterruptData(data); |
154 | 171 | }
|
0 commit comments