| 1293 | } |
| 1294 | |
| 1295 | static void |
| 1296 | log_frame_dump(struct trapframe *frame) |
| 1297 | { |
| 1298 | log(LOG_ERR, "Trapframe Register Dump:\n"); |
| 1299 | log(LOG_ERR, "\tzero: %#jx\tat: %#jx\tv0: %#jx\tv1: %#jx\n", |
| 1300 | (intmax_t)0, (intmax_t)frame->ast, (intmax_t)frame->v0, (intmax_t)frame->v1); |
| 1301 | |
| 1302 | log(LOG_ERR, "\ta0: %#jx\ta1: %#jx\ta2: %#jx\ta3: %#jx\n", |
| 1303 | (intmax_t)frame->a0, (intmax_t)frame->a1, (intmax_t)frame->a2, (intmax_t)frame->a3); |
| 1304 | |
| 1305 | #if defined(__mips_n32) || defined(__mips_n64) |
| 1306 | log(LOG_ERR, "\ta4: %#jx\ta5: %#jx\ta6: %#jx\ta6: %#jx\n", |
| 1307 | (intmax_t)frame->a4, (intmax_t)frame->a5, (intmax_t)frame->a6, (intmax_t)frame->a7); |
| 1308 | |
| 1309 | log(LOG_ERR, "\tt0: %#jx\tt1: %#jx\tt2: %#jx\tt3: %#jx\n", |
| 1310 | (intmax_t)frame->t0, (intmax_t)frame->t1, (intmax_t)frame->t2, (intmax_t)frame->t3); |
| 1311 | #else |
| 1312 | log(LOG_ERR, "\tt0: %#jx\tt1: %#jx\tt2: %#jx\tt3: %#jx\n", |
| 1313 | (intmax_t)frame->t0, (intmax_t)frame->t1, (intmax_t)frame->t2, (intmax_t)frame->t3); |
| 1314 | |
| 1315 | log(LOG_ERR, "\tt4: %#jx\tt5: %#jx\tt6: %#jx\tt7: %#jx\n", |
| 1316 | (intmax_t)frame->t4, (intmax_t)frame->t5, (intmax_t)frame->t6, (intmax_t)frame->t7); |
| 1317 | #endif |
| 1318 | log(LOG_ERR, "\tt8: %#jx\tt9: %#jx\ts0: %#jx\ts1: %#jx\n", |
| 1319 | (intmax_t)frame->t8, (intmax_t)frame->t9, (intmax_t)frame->s0, (intmax_t)frame->s1); |
| 1320 | |
| 1321 | log(LOG_ERR, "\ts2: %#jx\ts3: %#jx\ts4: %#jx\ts5: %#jx\n", |
| 1322 | (intmax_t)frame->s2, (intmax_t)frame->s3, (intmax_t)frame->s4, (intmax_t)frame->s5); |
| 1323 | |
| 1324 | log(LOG_ERR, "\ts6: %#jx\ts7: %#jx\tk0: %#jx\tk1: %#jx\n", |
| 1325 | (intmax_t)frame->s6, (intmax_t)frame->s7, (intmax_t)frame->k0, (intmax_t)frame->k1); |
| 1326 | |
| 1327 | log(LOG_ERR, "\tgp: %#jx\tsp: %#jx\ts8: %#jx\tra: %#jx\n", |
| 1328 | (intmax_t)frame->gp, (intmax_t)frame->sp, (intmax_t)frame->s8, (intmax_t)frame->ra); |
| 1329 | |
| 1330 | log(LOG_ERR, "\tsr: %#jx\tmullo: %#jx\tmulhi: %#jx\tbadvaddr: %#jx\n", |
| 1331 | (intmax_t)frame->sr, (intmax_t)frame->mullo, (intmax_t)frame->mulhi, (intmax_t)frame->badvaddr); |
| 1332 | |
| 1333 | log(LOG_ERR, "\tcause: %#jx\tpc: %#jx\n", |
| 1334 | (intmax_t)frame->cause, (intmax_t)frame->pc); |
| 1335 | } |
| 1336 | |
| 1337 | #ifdef TRAP_DEBUG |
| 1338 | static void |
no test coverage detected