summaryrefslogtreecommitdiff
path: root/lib/ultralib/src/os/maptlb.s
diff options
context:
space:
mode:
authorDerek Hensley <hensley.derek58@gmail.com>2025-02-21 16:03:51 -0800
committerGitHub <noreply@github.com>2025-02-21 17:03:51 -0700
commit8c6ae625aef6d07741cd8925f422f43ae24b198c (patch)
tree741fafdf5cf11006a23a9019451082c269fe4922 /lib/ultralib/src/os/maptlb.s
parentf013a028f42a1b11134bc5f22f28e9f48236b6f0 (diff)
Ultralib Update (#233)
* git subrepo pull (merge) lib/ultralib subrepo: subdir: "lib/ultralib" merged: "74f0eee" upstream: origin: "git@github.com:decompals/ultralib.git" branch: "main" commit: "2717d45" git-subrepo: version: "0.4.9" origin: "https://github.com/ingydotnet/git-subrepo" commit: "cce3d93" * New ultralib fixes * Update some includes in tools * git subrepo commit (merge) lib/ultralib subrepo: subdir: "lib/ultralib" merged: "3a702eaf" upstream: origin: "git@github.com:decompals/ultralib.git" branch: "main" commit: "48f9f908" git-subrepo: version: "0.4.9" origin: "git@github.com:ingydotnet/git-subrepo.git" commit: "ea10886" * Update warnings file
Diffstat (limited to 'lib/ultralib/src/os/maptlb.s')
-rw-r--r--lib/ultralib/src/os/maptlb.s127
1 files changed, 63 insertions, 64 deletions
diff --git a/lib/ultralib/src/os/maptlb.s b/lib/ultralib/src/os/maptlb.s
index 20125b6..be8b784 100644
--- a/lib/ultralib/src/os/maptlb.s
+++ b/lib/ultralib/src/os/maptlb.s
@@ -13,90 +13,90 @@
.set noreorder
LEAF(osMapTLB)
#if defined (_DEBUG) && defined (__sgi)
- bgez index, 1f
- nop
- b 2f
- nop
+ bgez index, 1f
+ nop
+ b 2f
+ nop
1:
- li t0, 0x1F
+ li t0, 0x1F
.set noat
- slt AT, index, t0
- bnez AT, 3f
- nop
+ slt AT, index, t0
+ bnez AT, 3f
+ nop
.set at
2:
- move a2, a0
- li a0, ERR_OSMAPTLB_INDEX
- li a1, 1
- j __osError
- nop
+ move a2, a0
+ li a0, ERR_OSMAPTLB_INDEX
+ li a1, 1
+ j __osError
+ nop
3:
- lw t0, asid
- li t1, -1
+ lw t0, asid
+ li t1, -1
.set noat
- slt AT, t0, t1
- beqz AT, 4f
- nop
+ slt AT, t0, t1
+ beqz AT, 4f
+ nop
.set at
- b 5f
- nop
+ b 5f
+ nop
4:
- li t1, 0xFF
+ li t1, 0xFF
.set noat
- slt AT, t1, t0
- beqz AT, 6f
- nop
+ slt AT, t1, t0
+ beqz AT, 6f
+ nop
.set at
5:
- move a2, t0
- li a0, ERR_OSMAPTLB_ASID
- li a1, 1
- j __osError
- nop
+ move a2, t0
+ li a0, ERR_OSMAPTLB_ASID
+ li a1, 1
+ j __osError
+ nop
6:
.set reorder
#endif
- STAY2(mfc0 t0, C0_ENTRYHI)
- STAY2(mtc0 index, C0_INX)
- STAY2(mtc0 pm, C0_PAGEMASK)
+ MFC0( t0, C0_ENTRYHI)
+ MTC0( index, C0_INX)
+ MTC0( pm, C0_PAGEMASK)
.set noreorder
- lw t1, asid
- beq t1, -1, 7f
- li ta0, TLBLO_G
- li t2, TLBLO_NONCOHRNT | TLBLO_D | TLBLO_V
- b 8f
- or vaddr, vaddr, t1
+ lw t1, asid
+ beq t1, -1, 7f
+ li ta0, TLBLO_G
+ li t2, (TLBLO_NONCOHRNT | TLBLO_D | TLBLO_V)
+ b 8f
+ or vaddr, vaddr, t1
.set reorder
7:
- li t2, TLBLO_NONCOHRNT | TLBLO_D | TLBLO_V | TLBLO_G
+ li t2, (TLBLO_NONCOHRNT | TLBLO_D | TLBLO_V | TLBLO_G)
8:
- STAY2(mtc0 vaddr, C0_ENTRYHI)
- beq evenpaddr, -1, 9f
- #nop
- srl t3, evenpaddr, TLBLO_PFNSHIFT
- or t3, t3, t2
- STAY2(mtc0 t3, C0_ENTRYLO0)
- b 10f
- #nop
+ MTC0( vaddr, C0_ENTRYHI)
+ beq evenpaddr, -1, 9f
+
+ srl t3, evenpaddr, TLBLO_PFNSHIFT
+ or t3, t3, t2
+ MTC0( t3, C0_ENTRYLO0)
+ b 10f
+
9:
- STAY2(mtc0 ta0, C0_ENTRYLO0)
+ MTC0( ta0, C0_ENTRYLO0)
10:
- lw t3, oddpaddr
- beq t3, -1, 11f
- #nop
- srl t3, t3, TLBLO_PFNSHIFT
- or t3, t3, t2
- STAY2(mtc0 t3, C0_ENTRYLO1)
- b 12f
- #nop
+ lw t3, oddpaddr
+ beq t3, -1, 11f
+
+ srl t3, t3, TLBLO_PFNSHIFT
+ or t3, t3, t2
+ MTC0( t3, C0_ENTRYLO1)
+ b 12f
+
11:
- STAY2(mtc0 ta0, C0_ENTRYLO1)
- bne evenpaddr, -1, 12f
- #nop
- li t3, K0BASE
- STAY2(mtc0 t3, C0_ENTRYHI)
+ MTC0( ta0, C0_ENTRYLO1)
+ bne evenpaddr, -1, 12f
+
+ li t3, K0BASE
+ MTC0( t3, C0_ENTRYHI)
12:
.set noreorder
nop
@@ -105,7 +105,6 @@ LEAF(osMapTLB)
nop
nop
nop
- STAY2(mtc0 t0, C0_ENTRYHI)
- jr ra
- #nop
+ MTC0( t0, C0_ENTRYHI)
+ jr ra
END(osMapTLB)