1.1 --- a/stage2/cpu.c Tue Apr 26 17:18:12 2016 +0200
1.2 +++ b/stage2/cpu.c Tue Apr 26 18:02:51 2016 +0200
1.3 @@ -145,7 +145,13 @@
1.4 "lw $a3, 28($t3)\n"
1.5 "lw $t9, 100($t3)\n"
1.6 "lw $gp, 104($t3)\n"
1.7 - "jr $t9\n"
1.8 + "mtc0 $t9, $14\n" /* CP0_EPC */
1.9 + "mfc0 $t3, $12\n" /* CP0_STATUS */
1.10 + "ori $t3, $t3, 0x2\n" /* EXL = 1 */
1.11 + "mtc0 $t3, $12\n" /* CP0_STATUS */
1.12 + ".set mips3\n"
1.13 + "eret\n"
1.14 + ".set mips2\n"
1.15 "nop"
1.16 :
1.17 : "r" (asid), "r" (stack_pointer), "r" (base)