MIPS/resources/soft/perf_func/lib/exception.c
Paul Pan 7b33e4213a a big update
1. add test soft
2. modify verilator (TODO: crossbar need to replace)
3. fix CP0: now CU0 is always 1
4. Controller: cacheop
5. Controller: fix TEN
6. mycpu_top fix CP0_i
7. fix AXI.sv
8. fix AXIReader.sv
9. fix AXIWriter.sv: getting the correct data and length
10. MU: fix cache writeback, fix mem data mux, fix writer address, fix read request
2022-07-29 18:25:58 +08:00

31 lines
467 B
C

unsigned long get_epc(void)
{
unsigned long n;
asm(
"mfc0 %0,$14\n\t"
:"=r"(n)
);
return n;
}
unsigned long get_cause(void)
{
unsigned long n;
asm(
"mfc0 %0,$13\n\t"
:"=r"(n)
);
return n;
}
void exception(void)
{
unsigned long n;
printf("There is an exception!!\n");
n=get_epc();
printf("The epc is %x\n",n);
n=get_cause();
printf("The cause is %x\n",n);
return;
}