1.1 --- a/stage2/cpu.c Fri Jul 03 14:59:43 2015 +0200
1.2 +++ b/stage2/cpu.c Fri Jul 03 19:27:44 2015 +0200
1.3 @@ -109,8 +109,6 @@
1.4 "mtc0 $t3, $13\n" /* CP0_CAUSE */
1.5 "nop\n"
1.6 "mtc0 $zero, $12\n" /* CP0_STATUS */
1.7 - "nop\n"
1.8 - "mtc0 $zero, $15\n" /* CP0_EBASE (should be zero anyway) */
1.9 "nop\n");
1.10 }
1.11
1.12 @@ -125,22 +123,19 @@
1.13
1.14 /* Set physical address. */
1.15
1.16 - "li $t0, 0x00000003\n" /* 0x000000.. global, valid */
1.17 + "li $t0, 0x0000001f\n" /* 0x000000.. C=3, dirty, global, valid */
1.18 "mtc0 $t0, $2\n" /* CP0_ENTRYLO0 */
1.19 "nop\n"
1.20 - "li $t0, 0x00000003\n" /* 0x000000.. global, valid */
1.21 + "li $t0, 0x0000001f\n" /* 0x000000.. C=3, dirty, global, valid */
1.22 "mtc0 $zero, $3\n" /* CP0_ENTRYLO1 */
1.23 "nop\n"
1.24
1.25 /* Set virtual address. */
1.26
1.27 - "li $t0, 0x80000000\n" /* 0x80000... */
1.28 + "li $t0, 0x80000000\n" /* 0x80000... ASID=0 */
1.29 "mtc0 $t0, $10\n" /* CP0_ENTRYHI */
1.30 "nop\n"
1.31
1.32 - /* Set index. */
1.33 -
1.34 - "mtc0 $zero, $0\n" /* CP0_INDEX */
1.35 - "nop\n"
1.36 - "tlbwi\n");
1.37 + "tlbwr\n"
1.38 + "nop");
1.39 }