Skip to content

Commit 8a60074

Browse files
committed
Starting to flesh out handler a tiny bit.
1 parent 533b4bf commit 8a60074

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

src/mips/openbios/kernel/handlers.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@
1717
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
1818
***************************************************************************/
1919

20+
#include "osdebug.h"
21+
2022
#include "common/compiler/stdint.h"
2123
#include "openbios/kernel/handlers.h"
2224

@@ -147,8 +149,23 @@ typedef struct {
147149
uint32_t EPC;
148150
} InterruptData;
149151

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+
150165
void breakHandler(InterruptData* data) {
151166
}
152167

153168
void interruptHandler(InterruptData* data) {
169+
osDbgPrintf("***Exception***\r\n");
170+
printInterruptData(data);
154171
}

0 commit comments

Comments
 (0)