diff --git a/src/game/game_110680.c b/src/game/game_110680.c index c13c710a4..311c28976 100644 --- a/src/game/game_110680.c +++ b/src/game/game_110680.c @@ -113,7 +113,7 @@ glabel func0f1106f4 /* f1106fc: afbf0014 */ sw $ra,0x14($sp) /* f110700: 3c04800a */ lui $a0,%hi(var800a22d0) /* f110704: 248422d0 */ addiu $a0,$a0,%lo(var800a22d0) -/* f110708: 0c012c5c */ jal func0004b170 +/* f110708: 0c012c5c */ jal bcopy /* f11070c: 2406005b */ addiu $a2,$zero,0x5b /* f110710: 8fbf0014 */ lw $ra,0x14($sp) /* f110714: 27bd0018 */ addiu $sp,$sp,0x18 diff --git a/src/game/room.c b/src/game/room.c index 5a34c14b6..2da997b5b 100644 --- a/src/game/room.c +++ b/src/game/room.c @@ -3552,7 +3552,7 @@ Gfx *func0f15b114(Gfx *gdl) void bgLoadFile(void *memaddr, u32 offset, u32 len) { if (var8007fc04) { - func0004b170(var8007fc08 + offset, memaddr, len); + bcopy(var8007fc08 + offset, memaddr, len); } else { func0f166ff0(g_Stages[g_StageIndex].bgfileid, memaddr, offset, len); } @@ -7158,7 +7158,7 @@ u32 bgInflate(void *src, void *dst, u32 len) result = rzipInflate(src, dst, tmpbuffer); } else { result = len; - func0004b170(src, dst, len); + bcopy(src, dst, len); } return result; diff --git a/src/game/texture.c b/src/game/texture.c index d533751f5..c2df44b00 100644 --- a/src/game/texture.c +++ b/src/game/texture.c @@ -5721,7 +5721,7 @@ glabel func0f173010 /* f173338: afa20034 */ sw $v0,0x34($sp) /* f17333c: 8fa4149c */ lw $a0,0x149c($sp) /* f173340: 00402825 */ or $a1,$v0,$zero -/* f173344: 0c012c5c */ jal func0004b170 +/* f173344: 0c012c5c */ jal bcopy /* f173348: 24060010 */ addiu $a2,$zero,0x10 /* f17334c: 8fa70034 */ lw $a3,0x34($sp) /* f173350: 8fa60038 */ lw $a2,0x38($sp) @@ -5730,7 +5730,7 @@ glabel func0f173010 /* f17335c: 24e50010 */ addiu $a1,$a3,0x10 /* f173360: afa50034 */ sw $a1,0x34($sp) /* f173364: 24c60008 */ addiu $a2,$a2,0x8 -/* f173368: 0c012c5c */ jal func0004b170 +/* f173368: 0c012c5c */ jal bcopy /* f17336c: 2484fff8 */ addiu $a0,$a0,-8 /* f173370: 8fa70034 */ lw $a3,0x34($sp) /* f173374: 8e18000c */ lw $t8,0xc($s0) diff --git a/src/include/lib/lib_4b170.h b/src/include/lib/lib_4b170.h index cf384d158..7252910a2 100644 --- a/src/include/lib/lib_4b170.h +++ b/src/include/lib/lib_4b170.h @@ -4,6 +4,4 @@ #include "data.h" #include "types.h" -void *func0004b170(void *src, void *dst, u32 len); - #endif diff --git a/src/lib/lib_06550.c b/src/lib/lib_06550.c index 729b55cbc..39c78087a 100644 --- a/src/lib/lib_06550.c +++ b/src/lib/lib_06550.c @@ -700,7 +700,7 @@ glabel func00006d60 /* 6ec4: 8fa40044 */ lw $a0,0x44($sp) .L00006ec8: /* 6ec8: 2605000c */ addiu $a1,$s0,0xc -/* 6ecc: 0c012c5c */ jal func0004b170 +/* 6ecc: 0c012c5c */ jal bcopy /* 6ed0: 24060020 */ addiu $a2,$zero,0x20 /* 6ed4: 8fab0044 */ lw $t3,0x44($sp) /* 6ed8: 24190010 */ addiu $t9,$zero,0x10 diff --git a/src/lib/lib_09a80.c b/src/lib/lib_09a80.c index 2705c5fc1..046f2eb3c 100644 --- a/src/lib/lib_09a80.c +++ b/src/lib/lib_09a80.c @@ -2047,7 +2047,7 @@ glabel func0000a044 /* a9e4: 0000c012 */ mflo $t8 /* a9e8: 00f87021 */ addu $t6,$a3,$t8 /* a9ec: ac2ed594 */ sw $t6,%lo(g_ViData)($at) -/* a9f0: 0c012c5c */ jal func0004b170 +/* a9f0: 0c012c5c */ jal bcopy /* a9f4: 8ca5d594 */ lw $a1,%lo(g_ViData)($a1) /* a9f8: 3c038009 */ lui $v1,%hi(var80092874+0x3) /* a9fc: 24632877 */ addiu $v1,$v1,%lo(var80092874+0x3) diff --git a/src/lib/lib_233c0.c b/src/lib/lib_233c0.c index 30bff4b13..e146d8ac6 100644 --- a/src/lib/lib_233c0.c +++ b/src/lib/lib_233c0.c @@ -340,7 +340,7 @@ glabel func000237e8 /* 23808: 8deff024 */ lw $t7,%lo(var8005f024)($t7) /* 2380c: afa70018 */ sw $a3,0x18($sp) /* 23810: 01e52021 */ addu $a0,$t7,$a1 -/* 23814: 0c012c5c */ jal func0004b170 +/* 23814: 0c012c5c */ jal bcopy /* 23818: 00e02825 */ or $a1,$a3,$zero /* 2381c: 10000007 */ b .L0002383c /* 23820: 8fa20018 */ lw $v0,0x18($sp) diff --git a/src/lib/lib_37b00.c b/src/lib/lib_37b00.c index 0b7946d28..2bb3113ea 100644 --- a/src/lib/lib_37b00.c +++ b/src/lib/lib_37b00.c @@ -1255,7 +1255,7 @@ glabel func00038ba8 /* 38c60: afb8001c */ sw $t8,0x1c($sp) /* 38c64: 8fa4001c */ lw $a0,0x1c($sp) /* 38c68: 8fa50024 */ lw $a1,0x24($sp) -/* 38c6c: 0c012c5c */ jal func0004b170 +/* 38c6c: 0c012c5c */ jal bcopy /* 38c70: 8fa60028 */ lw $a2,0x28($sp) /* 38c74: 3c08800a */ lui $t0,%hi(var8009c3c4) /* 38c78: 8d08c3c4 */ lw $t0,%lo(var8009c3c4)($t0) diff --git a/src/lib/lib_3c4d0.c b/src/lib/lib_3c4d0.c index 4ea0ab4d8..fdc2705af 100644 --- a/src/lib/lib_3c4d0.c +++ b/src/lib/lib_3c4d0.c @@ -74,7 +74,7 @@ glabel func0003c56c /* 3c5a8: 8fa40024 */ lw $a0,0x24($sp) /* 3c5ac: 8fa5002c */ lw $a1,0x2c($sp) /* 3c5b0: 24060010 */ addiu $a2,$zero,0x10 -/* 3c5b4: 0c012c5c */ jal func0004b170 +/* 3c5b4: 0c012c5c */ jal bcopy /* 3c5b8: 2484000c */ addiu $a0,$a0,0xc /* 3c5bc: 8fa40024 */ lw $a0,0x24($sp) /* 3c5c0: 0c00c5dc */ jal alLink @@ -142,7 +142,7 @@ glabel alEvtqPostEvent /* 3c694: 8fa5002c */ lw $a1,0x2c($sp) /* 3c698: 8fa40034 */ lw $a0,0x34($sp) /* 3c69c: 24060010 */ addiu $a2,$zero,0x10 -/* 3c6a0: 0c012c5c */ jal func0004b170 +/* 3c6a0: 0c012c5c */ jal bcopy /* 3c6a4: 24a5000c */ addiu $a1,$a1,0xc /* 3c6a8: 8faa0038 */ lw $t2,0x38($sp) /* 3c6ac: 3c017fff */ lui $at,0x7fff diff --git a/src/lib/lib_3e8c0.c b/src/lib/lib_3e8c0.c index 422bcce21..241cae750 100644 --- a/src/lib/lib_3e8c0.c +++ b/src/lib/lib_3e8c0.c @@ -8983,7 +8983,7 @@ glabel func00041600 /* 41b34: 27ab0070 */ addiu $t3,$sp,0x70 /* 41b38: 012b2021 */ addu $a0,$t1,$t3 /* 41b3c: 27a50028 */ addiu $a1,$sp,0x28 -/* 41b40: 0c012c5c */ jal func0004b170 +/* 41b40: 0c012c5c */ jal bcopy /* 41b44: 24060010 */ addiu $a2,$zero,0x10 /* 41b48: 1000000f */ b .L00041b88 /* 41b4c: 00000000 */ nop @@ -9000,7 +9000,7 @@ glabel func00041600 /* 41b74: 010fc021 */ addu $t8,$t0,$t7 /* 41b78: 030e2021 */ addu $a0,$t8,$t6 /* 41b7c: 27a50028 */ addiu $a1,$sp,0x28 -/* 41b80: 0c012c5c */ jal func0004b170 +/* 41b80: 0c012c5c */ jal bcopy /* 41b84: 24060010 */ addiu $a2,$zero,0x10 .L00041b88: /* 41b88: afa00024 */ sw $zero,0x24($sp) @@ -11211,7 +11211,7 @@ glabel func0004371c /* 43bc4: 27a80034 */ addiu $t0,$sp,0x34 /* 43bc8: 01e82821 */ addu $a1,$t7,$t0 /* 43bcc: 24846a64 */ addiu $a0,$a0,0x6a64 -/* 43bd0: 0c012c5c */ jal func0004b170 +/* 43bd0: 0c012c5c */ jal bcopy /* 43bd4: 24060048 */ addiu $a2,$zero,0x48 /* 43bd8: 8fa9094c */ lw $t1,0x94c($sp) /* 43bdc: 8fae093c */ lw $t6,0x93c($sp) diff --git a/src/lib/lib_43dd0.c b/src/lib/lib_43dd0.c index aecd0e67e..315f18cb0 100644 --- a/src/lib/lib_43dd0.c +++ b/src/lib/lib_43dd0.c @@ -32,7 +32,7 @@ glabel func00043dd0 /* 43e08: 2525001c */ addiu $a1,$t1,0x1c /* 43e0c: 012a2021 */ addu $a0,$t1,$t2 /* 43e10: 2484001c */ addiu $a0,$a0,0x1c -/* 43e14: 0c012c5c */ jal func0004b170 +/* 43e14: 0c012c5c */ jal bcopy /* 43e18: 01403025 */ or $a2,$t2,$zero /* 43e1c: 8fab0020 */ lw $t3,0x20($sp) /* 43e20: 8fad001c */ lw $t5,0x1c($sp) diff --git a/src/lib/lib_44f60.c b/src/lib/lib_44f60.c index 9e12bc838..ab2799cdb 100644 --- a/src/lib/lib_44f60.c +++ b/src/lib/lib_44f60.c @@ -552,7 +552,7 @@ glabel func00045608 /* 4573c: 8dab0020 */ lw $t3,0x20($t5) /* 45740: 8da50010 */ lw $a1,0x10($t5) /* 45744: 8d64000c */ lw $a0,0xc($t3) -/* 45748: 0c012c5c */ jal func0004b170 +/* 45748: 0c012c5c */ jal bcopy /* 4574c: 2484000c */ addiu $a0,$a0,0xc /* 45750: 10000008 */ b .L00045774 /* 45754: 00000000 */ nop diff --git a/src/lib/lib_4b170.c b/src/lib/lib_4b170.c index a17f4e81c..ea2b60a33 100644 --- a/src/lib/lib_4b170.c +++ b/src/lib/lib_4b170.c @@ -5,7 +5,7 @@ #include "types.h" GLOBAL_ASM( -glabel func0004b170 +glabel bcopy /* 4b170: 10c0001a */ beqz $a2,.L0004b1dc /* 4b174: 00a03825 */ or $a3,$a1,$zero /* 4b178: 10850018 */ beq $a0,$a1,.L0004b1dc @@ -225,4 +225,4 @@ glabel func0004b170 /* 4b474: 00000000 */ nop /* 4b478: 00000000 */ nop /* 4b47c: 00000000 */ nop -); \ No newline at end of file +); diff --git a/src/lib/lib_4c090.c b/src/lib/lib_4c090.c index 364985b8a..fa03789aa 100644 --- a/src/lib/lib_4c090.c +++ b/src/lib/lib_4c090.c @@ -612,7 +612,7 @@ glabel func0004c6b4 /* 4c7d0: 02202025 */ or $a0,$s1,$zero .L0004c7d4: /* 4c7d4: 2605000c */ addiu $a1,$s0,0xc -/* 4c7d8: 0c012c5c */ jal func0004b170 +/* 4c7d8: 0c012c5c */ jal bcopy /* 4c7dc: 24060020 */ addiu $a2,$zero,0x20 /* 4c7e0: 922e001b */ lbu $t6,0x1b($s1) /* 4c7e4: 24090010 */ addiu $t1,$zero,0x10 @@ -741,7 +741,7 @@ glabel func0004c934 /* 4c98c: 2484c870 */ addiu $a0,$a0,%lo(var8009c870) /* 4c990: 57280006 */ bnel $t9,$t0,.L0004c9ac /* 4c994: 92490065 */ lbu $t1,0x65($s2) -/* 4c998: 0c012c5c */ jal func0004b170 +/* 4c998: 0c012c5c */ jal bcopy /* 4c99c: 24060100 */ addiu $a2,$zero,0x100 /* 4c9a0: 10000091 */ b .L0004cbe8 /* 4c9a4: 00001025 */ or $v0,$zero,$zero @@ -897,7 +897,7 @@ glabel func0004c934 /* 4cbc4: 24a5c870 */ addiu $a1,$a1,%lo(var8009c870) /* 4cbc8: 8fa4005c */ lw $a0,0x5c($sp) /* 4cbcc: 24060100 */ addiu $a2,$zero,0x100 -/* 4cbd0: 0c012c5c */ jal func0004b170 +/* 4cbd0: 0c012c5c */ jal bcopy /* 4cbd4: a02b0984 */ sb $t3,%lo(var80060984)($at) /* 4cbd8: 8e4e0008 */ lw $t6,0x8($s2) /* 4cbdc: 3c018006 */ lui $at,%hi(var80060980) diff --git a/src/lib/lib_4d000.c b/src/lib/lib_4d000.c index ce9f20a3b..4a9627607 100644 --- a/src/lib/lib_4d000.c +++ b/src/lib/lib_4d000.c @@ -166,7 +166,7 @@ glabel func0004d000 /* 4d21c: 0114082a */ slt $at,$t0,$s4 /* 4d220: 5020000a */ beqzl $at,.L0004d24c /* 4d224: 0000a025 */ or $s4,$zero,$zero -/* 4d228: 0c012c5c */ jal func0004b170 +/* 4d228: 0c012c5c */ jal bcopy /* 4d22c: 24060100 */ addiu $a2,$zero,0x100 /* 4d230: 8fa90290 */ lw $t1,0x290($sp) /* 4d234: 8fb6028c */ lw $s6,0x28c($sp) @@ -211,11 +211,11 @@ glabel func0004d000 /* 4d2b8: 27a50070 */ addiu $a1,$sp,0x70 /* 4d2bc: 24060010 */ addiu $a2,$zero,0x10 /* 4d2c0: a7ad0064 */ sh $t5,0x64($sp) -/* 4d2c4: 0c012c5c */ jal func0004b170 +/* 4d2c4: 0c012c5c */ jal bcopy /* 4d2c8: afae0060 */ sw $t6,0x60($sp) /* 4d2cc: 8fa402a8 */ lw $a0,0x2a8($sp) /* 4d2d0: 27a5006c */ addiu $a1,$sp,0x6c -/* 4d2d4: 0c012c5c */ jal func0004b170 +/* 4d2d4: 0c012c5c */ jal bcopy /* 4d2d8: 24060004 */ addiu $a2,$zero,0x4 /* 4d2dc: 8faf02b0 */ lw $t7,0x2b0($sp) /* 4d2e0: 8e79005c */ lw $t9,0x5c($s3) diff --git a/src/lib/lib_50a00.c b/src/lib/lib_50a00.c index 9696ba226..8904ad52d 100644 --- a/src/lib/lib_50a00.c +++ b/src/lib/lib_50a00.c @@ -127,12 +127,12 @@ glabel func00050a00 /* 50b88: a44f0008 */ sh $t7,0x8($v0) /* 50b8c: 8fb80038 */ lw $t8,0x38($sp) /* 50b90: 24060010 */ addiu $a2,$zero,0x10 -/* 50b94: 0c012c5c */ jal func0004b170 +/* 50b94: 0c012c5c */ jal bcopy /* 50b98: ac580004 */ sw $t8,0x4($v0) /* 50b9c: 8fa50168 */ lw $a1,0x168($sp) /* 50ba0: 27a40044 */ addiu $a0,$sp,0x44 /* 50ba4: 24060004 */ addiu $a2,$zero,0x4 -/* 50ba8: 0c012c5c */ jal func0004b170 +/* 50ba8: 0c012c5c */ jal bcopy /* 50bac: 24a5000a */ addiu $a1,$a1,0xa /* 50bb0: 8e640004 */ lw $a0,0x4($s3) /* 50bb4: 0c012ea4 */ jal __osPfsGetStatus diff --git a/src/lib/lib_50d60.c b/src/lib/lib_50d60.c index 5d7fcdad0..f3f6233e5 100644 --- a/src/lib/lib_50d60.c +++ b/src/lib/lib_50d60.c @@ -130,7 +130,7 @@ glabel func00050d60 .L00050ebc: /* 50ebc: 8fa50094 */ lw $a1,0x94($sp) /* 50ec0: 24060050 */ addiu $a2,$zero,0x50 -/* 50ec4: 0c012c5c */ jal func0004b170 +/* 50ec4: 0c012c5c */ jal bcopy /* 50ec8: afa70088 */ sw $a3,0x88($sp) /* 50ecc: 8faa0094 */ lw $t2,0x94($sp) /* 50ed0: 3c0b8006 */ lui $t3,%hi(var80061220) diff --git a/src/lib/lib_513b0.c b/src/lib/lib_513b0.c index 6cdbe7b19..5625e0a97 100644 --- a/src/lib/lib_513b0.c +++ b/src/lib/lib_513b0.c @@ -232,7 +232,7 @@ glabel func000513b0 /* 516d0: 8fa40044 */ lw $a0,0x44($sp) .L000516d4: /* 516d4: 2605000c */ addiu $a1,$s0,0xc -/* 516d8: 0c012c5c */ jal func0004b170 +/* 516d8: 0c012c5c */ jal bcopy /* 516dc: 24060020 */ addiu $a2,$zero,0x20 /* 516e0: 8fab0044 */ lw $t3,0x44($sp) /* 516e4: 24190010 */ addiu $t9,$zero,0x10 diff --git a/src/lib/ultra/io/contramread.c b/src/lib/ultra/io/contramread.c index ce5d957f6..782afa834 100644 --- a/src/lib/ultra/io/contramread.c +++ b/src/lib/ultra/io/contramread.c @@ -125,7 +125,7 @@ glabel __osContRamRead /* 4ba18: 10000006 */ b .L0004ba34 /* 4ba1c: 24130004 */ addiu $s3,$zero,0x4 .L0004ba20: -/* 4ba20: 0c012c5c */ jal func0004b170 +/* 4ba20: 0c012c5c */ jal bcopy /* 4ba24: 24060020 */ addiu $a2,$zero,0x20 /* 4ba28: 10000003 */ b .L0004ba38 /* 4ba2c: 24010004 */ addiu $at,$zero,0x4 diff --git a/src/lib/ultra/io/contramwrite.c b/src/lib/ultra/io/contramwrite.c index 2b9932b3e..c76d6b7ea 100644 --- a/src/lib/ultra/io/contramwrite.c +++ b/src/lib/ultra/io/contramwrite.c @@ -103,7 +103,7 @@ glabel __osContRamWrite /* 4b774: 24060020 */ addiu $a2,$zero,0x20 /* 4b778: 00594025 */ or $t0,$v0,$t9 /* 4b77c: a2080005 */ sb $t0,0x5($s0) -/* 4b780: 0c012c5c */ jal func0004b170 +/* 4b780: 0c012c5c */ jal bcopy /* 4b784: 8fa40074 */ lw $a0,0x74($sp) /* 4b788: 24040001 */ addiu $a0,$zero,0x1 /* 4b78c: 0c012a34 */ jal __osSiRawStartDma diff --git a/src/lib/ultra/io/sptask.c b/src/lib/ultra/io/sptask.c index 70911ac51..8b23a58da 100644 --- a/src/lib/ultra/io/sptask.c +++ b/src/lib/ultra/io/sptask.c @@ -2,102 +2,31 @@ #include "libultra_internal.h" #include "data.h" -u32 var80090a70; -u32 var80090a74; -u32 var80090a78; -u32 var80090a7c; -u32 var80090a80; -u32 var80090a84; -u32 var80090a88; -u32 var80090a8c; -u32 var80090a90; -u32 var80090a94; -u32 var80090a98; -u32 var80090a9c; -u32 var80090aa0; -u32 var80090aa4; -u32 var80090aa8; -u32 var80090aac; +OSTask tmp_task; OSTask *_VirtualToPhysicalTask(OSTask *intp); -GLOBAL_ASM( -glabel _VirtualToPhysicalTask -/* 5e40: 27bdffe8 */ addiu $sp,$sp,-24 -/* 5e44: afbf0014 */ sw $ra,0x14($sp) -/* 5e48: 3c058009 */ lui $a1,%hi(var80090a70) -/* 5e4c: 24a50a70 */ addiu $a1,$a1,%lo(var80090a70) -/* 5e50: 0c012c5c */ jal func0004b170 -/* 5e54: 24060040 */ addiu $a2,$zero,0x40 -/* 5e58: 3c048009 */ lui $a0,%hi(var80090a80) -/* 5e5c: 8c840a80 */ lw $a0,%lo(var80090a80)($a0) -/* 5e60: 10800005 */ beqz $a0,.L00005e78 -/* 5e64: 00000000 */ nop -/* 5e68: 0c012d20 */ jal osVirtualToPhysical -/* 5e6c: 00000000 */ nop -/* 5e70: 3c018009 */ lui $at,%hi(var80090a80) -/* 5e74: ac220a80 */ sw $v0,%lo(var80090a80)($at) -.L00005e78: -/* 5e78: 3c048009 */ lui $a0,%hi(var80090a88) -/* 5e7c: 8c840a88 */ lw $a0,%lo(var80090a88)($a0) -/* 5e80: 10800005 */ beqz $a0,.L00005e98 -/* 5e84: 00000000 */ nop -/* 5e88: 0c012d20 */ jal osVirtualToPhysical -/* 5e8c: 00000000 */ nop -/* 5e90: 3c018009 */ lui $at,%hi(var80090a88) -/* 5e94: ac220a88 */ sw $v0,%lo(var80090a88)($at) -.L00005e98: -/* 5e98: 3c048009 */ lui $a0,%hi(var80090a90) -/* 5e9c: 8c840a90 */ lw $a0,%lo(var80090a90)($a0) -/* 5ea0: 10800005 */ beqz $a0,.L00005eb8 -/* 5ea4: 00000000 */ nop -/* 5ea8: 0c012d20 */ jal osVirtualToPhysical -/* 5eac: 00000000 */ nop -/* 5eb0: 3c018009 */ lui $at,%hi(var80090a90) -/* 5eb4: ac220a90 */ sw $v0,%lo(var80090a90)($at) -.L00005eb8: -/* 5eb8: 3c048009 */ lui $a0,%hi(var80090a98) -/* 5ebc: 8c840a98 */ lw $a0,%lo(var80090a98)($a0) -/* 5ec0: 10800005 */ beqz $a0,.L00005ed8 -/* 5ec4: 00000000 */ nop -/* 5ec8: 0c012d20 */ jal osVirtualToPhysical -/* 5ecc: 00000000 */ nop -/* 5ed0: 3c018009 */ lui $at,%hi(var80090a98) -/* 5ed4: ac220a98 */ sw $v0,%lo(var80090a98)($at) -.L00005ed8: -/* 5ed8: 3c048009 */ lui $a0,%hi(var80090a9c) -/* 5edc: 8c840a9c */ lw $a0,%lo(var80090a9c)($a0) -/* 5ee0: 10800005 */ beqz $a0,.L00005ef8 -/* 5ee4: 00000000 */ nop -/* 5ee8: 0c012d20 */ jal osVirtualToPhysical -/* 5eec: 00000000 */ nop -/* 5ef0: 3c018009 */ lui $at,%hi(var80090a9c) -/* 5ef4: ac220a9c */ sw $v0,%lo(var80090a9c)($at) -.L00005ef8: -/* 5ef8: 3c048009 */ lui $a0,%hi(var80090aa0) -/* 5efc: 8c840aa0 */ lw $a0,%lo(var80090aa0)($a0) -/* 5f00: 10800005 */ beqz $a0,.L00005f18 -/* 5f04: 00000000 */ nop -/* 5f08: 0c012d20 */ jal osVirtualToPhysical -/* 5f0c: 00000000 */ nop -/* 5f10: 3c018009 */ lui $at,%hi(var80090aa0) -/* 5f14: ac220aa0 */ sw $v0,%lo(var80090aa0)($at) -.L00005f18: -/* 5f18: 3c048009 */ lui $a0,%hi(var80090aa8) -/* 5f1c: 8c840aa8 */ lw $a0,%lo(var80090aa8)($a0) -/* 5f20: 50800006 */ beqzl $a0,.L00005f3c -/* 5f24: 8fbf0014 */ lw $ra,0x14($sp) -/* 5f28: 0c012d20 */ jal osVirtualToPhysical -/* 5f2c: 00000000 */ nop -/* 5f30: 3c018009 */ lui $at,%hi(var80090aa8) -/* 5f34: ac220aa8 */ sw $v0,%lo(var80090aa8)($at) -/* 5f38: 8fbf0014 */ lw $ra,0x14($sp) -.L00005f3c: -/* 5f3c: 3c028009 */ lui $v0,%hi(var80090a70) -/* 5f40: 24420a70 */ addiu $v0,$v0,%lo(var80090a70) -/* 5f44: 03e00008 */ jr $ra -/* 5f48: 27bd0018 */ addiu $sp,$sp,0x18 -); +#define _osVirtualToPhysical(ptr) \ + if (ptr != NULL) { \ + ptr = (void *)osVirtualToPhysical(ptr); \ + } + +OSTask *_VirtualToPhysicalTask(OSTask *intp) +{ + OSTask *tp; + tp = &tmp_task; + bcopy(intp, tp, sizeof(OSTask)); + + _osVirtualToPhysical(tp->t.ucode); + _osVirtualToPhysical(tp->t.ucode_data); + _osVirtualToPhysical(tp->t.dram_stack); + _osVirtualToPhysical(tp->t.output_buff); + _osVirtualToPhysical(tp->t.output_buff_size); + _osVirtualToPhysical(tp->t.data_ptr); + _osVirtualToPhysical(tp->t.yield_data_ptr); + + return tp; +} void osSpTaskLoad(OSTask *intp) {