diff options
Diffstat (limited to 'lib/ultralib/src/os/maptlbrdb.s')
| -rw-r--r-- | lib/ultralib/src/os/maptlbrdb.s | 33 |
1 files changed, 17 insertions, 16 deletions
diff --git a/lib/ultralib/src/os/maptlbrdb.s b/lib/ultralib/src/os/maptlbrdb.s index c004362..1714304 100644 --- a/lib/ultralib/src/os/maptlbrdb.s +++ b/lib/ultralib/src/os/maptlbrdb.s @@ -1,30 +1,31 @@ #include "PR/R4300.h" +#include "PR/rdb.h" #include "sys/asm.h" #include "sys/regdef.h" .text .set noreorder LEAF(osMapTLBRdb) - mfc0 t0, C0_ENTRYHI - li t1, 31 - mtc0 t1, C0_INX - mtc0 zero, C0_PAGEMASK /*4k*/ - li t2, TLBLO_UNCACHED | TLBLO_D | TLBLO_V | TLBLO_G - li t1, K2BASE - mtc0 t1, C0_ENTRYHI - li t1, KUSIZE - srl t3, t1,TLBLO_PFNSHIFT - or t3, t3,t2 - mtc0 t3, C0_ENTRYLO0 - li t1, TLBLO_G - mtc0 t1, C0_ENTRYLO1 + mfc0 t0, C0_ENTRYHI + li t1, NTLBENTRIES + mtc0 t1, C0_INX + mtc0 zero, C0_PAGEMASK /* 4k */ + li t2, (TLBLO_UNCACHED | TLBLO_D | TLBLO_V | TLBLO_G) + li t1, K2BASE + mtc0 t1, C0_ENTRYHI + li t1, RDB_BASE_VIRTUAL_ADDR + srl t3, t1, TLBLO_PFNSHIFT + or t3, t3, t2 + mtc0 t3, C0_ENTRYLO0 + li t1, TLBLO_G + mtc0 t1, C0_ENTRYLO1 nop tlbwi nop nop nop nop - mtc0 t0, C0_ENTRYHI - jr ra - nop + mtc0 t0, C0_ENTRYHI + jr ra + nop END(osMapTLBRdb) |
