mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
Rename some OS variables
This commit is contained in:
@@ -8,7 +8,22 @@
|
||||
|
||||
/* Variables */
|
||||
|
||||
//extern u64 osClockRate;
|
||||
extern u64 osClockRate;
|
||||
/*
|
||||
* CPU counter increments at 3/4 of bus clock rate:
|
||||
*
|
||||
* Bus Clock Proc Clock Counter (1/2 Proc Clock)
|
||||
* --------- ---------- ------------------------
|
||||
* 62.5 Mhz 93.75 Mhz 46.875 Mhz
|
||||
*/
|
||||
extern u64 osClockRate;
|
||||
|
||||
#define OS_CLOCK_RATE 62500000LL
|
||||
#define OS_CPU_COUNTER (OS_CLOCK_RATE*3/4)
|
||||
#define OS_NSEC_TO_CYCLES(n) (((u64)(n)*(OS_CPU_COUNTER/15625000LL))/(1000000000LL/15625000LL))
|
||||
#define OS_USEC_TO_CYCLES(n) (((u64)(n)*(OS_CPU_COUNTER/15625LL))/(1000000LL/15625LL))
|
||||
#define OS_CYCLES_TO_NSEC(c) (((u64)(c)*(1000000000LL/15625000LL))/(OS_CPU_COUNTER/15625000LL))
|
||||
#define OS_CYCLES_TO_USEC(c) (((u64)(c)*(1000000LL/15625LL))/(OS_CPU_COUNTER/15625LL))
|
||||
|
||||
/* Functions */
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ glabel __osDispatchThread
|
||||
/* 0D4038 800D3438 24080004 */ li $t0, 4
|
||||
/* 0D403C 800D343C A4480010 */ sh $t0, 0x10($v0)
|
||||
/* 0D4040 800D3440 0040D025 */ move $k0, $v0
|
||||
/* 0D4044 800D3444 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e
|
||||
/* 0D4044 800D3444 3C08800E */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x800e
|
||||
/* 0D4048 800D3448 8F5B0118 */ lw $k1, 0x118($k0)
|
||||
/* 0D404C 800D344C 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D404C 800D344C 250838AC */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D4050 800D3450 8D080000 */ lw $t0, ($t0)
|
||||
/* 0D4054 800D3454 3C01FFFF */ lui $at, (0xFFFF00FF >> 16) # lui $at, 0xffff
|
||||
/* 0D4058 800D3458 3369FF00 */ andi $t1, $k1, 0xff00
|
||||
@@ -77,8 +77,8 @@ glabel __osDispatchThread
|
||||
/* 0D4150 800D3550 D75E01A8 */ ldc1 $f30, 0x1a8($k0)
|
||||
.L800D3554:
|
||||
/* 0D4154 800D3554 8F5B0128 */ lw $k1, 0x128($k0)
|
||||
/* 0D4158 800D3558 3C1A800E */ lui $k0, %hi(D_800E38AC) # $k0, 0x800e
|
||||
/* 0D415C 800D355C 275A38AC */ addiu $k0, %lo(D_800E38AC) # addiu $k0, $k0, 0x38ac
|
||||
/* 0D4158 800D3558 3C1A800E */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x800e
|
||||
/* 0D415C 800D355C 275A38AC */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, 0x38ac
|
||||
/* 0D4160 800D3560 8F5A0000 */ lw $k0, ($k0)
|
||||
/* 0D4164 800D3564 001AD402 */ srl $k0, $k0, 0x10
|
||||
/* 0D4168 800D3568 037AD824 */ and $k1, $k1, $k0
|
||||
|
||||
@@ -32,8 +32,8 @@ glabel __osEnqueueAndYield
|
||||
/* 0D3F40 800D3340 3369FF00 */ andi $t1, $k1, 0xff00
|
||||
/* 0D3F44 800D3344 1120000D */ beqz $t1, .L800D337C
|
||||
/* 0D3F48 800D3348 00000000 */ nop
|
||||
/* 0D3F4C 800D334C 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e
|
||||
/* 0D3F50 800D3350 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D3F4C 800D334C 3C08800E */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x800e
|
||||
/* 0D3F50 800D3350 250838AC */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D3F54 800D3354 8D080000 */ lw $t0, ($t0)
|
||||
/* 0D3F58 800D3358 2401FFFF */ li $at, -1
|
||||
/* 0D3F5C 800D335C 01014026 */ xor $t0, $t0, $at
|
||||
@@ -49,8 +49,8 @@ glabel __osEnqueueAndYield
|
||||
/* 0D3F80 800D3380 8F7B000C */ lw $k1, %lo(D_A430000C)($k1)
|
||||
/* 0D3F84 800D3384 1360000B */ beqz $k1, .L800D33B4
|
||||
/* 0D3F88 800D3388 00000000 */ nop
|
||||
/* 0D3F8C 800D338C 3C1A800E */ lui $k0, %hi(D_800E38AC) # $k0, 0x800e
|
||||
/* 0D3F90 800D3390 275A38AC */ addiu $k0, %lo(D_800E38AC) # addiu $k0, $k0, 0x38ac
|
||||
/* 0D3F8C 800D338C 3C1A800E */ lui $k0, %hi(__OSGlobalIntMask) # $k0, 0x800e
|
||||
/* 0D3F90 800D3390 275A38AC */ addiu $k0, %lo(__OSGlobalIntMask) # addiu $k0, $k0, 0x38ac
|
||||
/* 0D3F94 800D3394 8F5A0000 */ lw $k0, ($k0)
|
||||
/* 0D3F98 800D3398 8CA80128 */ lw $t0, 0x128($a1)
|
||||
/* 0D3F9C 800D339C 2401FFFF */ li $at, -1
|
||||
|
||||
@@ -82,8 +82,8 @@ glabel __osException
|
||||
/* 0D399C 800D2D9C FF5F0100 */ sd $ra, 0x100($k0)
|
||||
/* 0D39A0 800D2DA0 1120000D */ beqz $t1, .L800D2DD8
|
||||
/* 0D39A4 800D2DA4 FF480110 */ sd $t0, 0x110($k0)
|
||||
/* 0D39A8 800D2DA8 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e
|
||||
/* 0D39AC 800D2DAC 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D39A8 800D2DA8 3C08800E */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x800e
|
||||
/* 0D39AC 800D2DAC 250838AC */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D39B0 800D2DB0 8D080000 */ lw $t0, ($t0)
|
||||
/* 0D39B4 800D2DB4 2401FFFF */ li $at, -1
|
||||
/* 0D39B8 800D2DB8 01014026 */ xor $t0, $t0, $at
|
||||
@@ -99,8 +99,8 @@ glabel __osException
|
||||
/* 0D39DC 800D2DDC 8D29000C */ lw $t1, %lo(D_A430000C)($t1)
|
||||
/* 0D39E0 800D2DE0 1120000B */ beqz $t1, .L800D2E10
|
||||
/* 0D39E4 800D2DE4 00000000 */ nop
|
||||
/* 0D39E8 800D2DE8 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e
|
||||
/* 0D39EC 800D2DEC 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D39E8 800D2DE8 3C08800E */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x800e
|
||||
/* 0D39EC 800D2DEC 250838AC */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D39F0 800D2DF0 8D080000 */ lw $t0, ($t0)
|
||||
/* 0D39F4 800D2DF4 8F4C0128 */ lw $t4, 0x128($k0)
|
||||
/* 0D39F8 800D2DF8 2401FFFF */ li $at, -1
|
||||
@@ -208,8 +208,8 @@ glabel __osException
|
||||
/* 0D3B6C 800D2F6C 1000FFD0 */ b .L800D2EB0
|
||||
/* 0D3B70 800D2F70 00000000 */ nop
|
||||
.L800D2F74:
|
||||
/* 0D3B74 800D2F74 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e
|
||||
/* 0D3B78 800D2F78 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D3B74 800D2F74 3C08800E */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x800e
|
||||
/* 0D3B78 800D2F78 250838AC */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x38ac
|
||||
/* 0D3B7C 800D2F7C 8D080000 */ lw $t0, ($t0)
|
||||
/* 0D3B80 800D2F80 3C11A430 */ lui $s1, %hi(D_A4300008) # $s1, 0xa430
|
||||
/* 0D3B84 800D2F84 8E310008 */ lw $s1, %lo(D_A4300008)($s1)
|
||||
@@ -298,10 +298,10 @@ glabel __osException
|
||||
.L800D30B4:
|
||||
/* 0D3CB4 800D30B4 8F5B0118 */ lw $k1, 0x118($k0)
|
||||
/* 0D3CB8 800D30B8 2401EFFF */ li $at, -4097
|
||||
/* 0D3CBC 800D30BC 3C09800E */ lui $t1, %hi(D_800E38A8) # $t1, 0x800e
|
||||
/* 0D3CBC 800D30BC 3C09800E */ lui $t1, %hi(__osShutdown) # $t1, 0x800e
|
||||
/* 0D3CC0 800D30C0 0361D824 */ and $k1, $k1, $at
|
||||
/* 0D3CC4 800D30C4 AF5B0118 */ sw $k1, 0x118($k0)
|
||||
/* 0D3CC8 800D30C8 252938A8 */ addiu $t1, %lo(D_800E38A8) # addiu $t1, $t1, 0x38a8
|
||||
/* 0D3CC8 800D30C8 252938A8 */ addiu $t1, %lo(__osShutdown) # addiu $t1, $t1, 0x38a8
|
||||
/* 0D3CCC 800D30CC 8D2A0000 */ lw $t2, ($t1)
|
||||
/* 0D3CD0 800D30D0 11400003 */ beqz $t2, .L800D30E0
|
||||
/* 0D3CD4 800D30D4 2401EFFF */ li $at, -4097
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
glabel osSetIntMask
|
||||
/* 0CA630 800C9A30 400C6000 */ mfc0 $t4, $12
|
||||
/* 0CA634 800C9A34 3182FF01 */ andi $v0, $t4, 0xff01
|
||||
/* 0CA638 800C9A38 3C08800E */ lui $t0, %hi(D_800E38AC) # $t0, 0x800e
|
||||
/* 0CA63C 800C9A3C 250838AC */ addiu $t0, %lo(D_800E38AC) # addiu $t0, $t0, 0x38ac
|
||||
/* 0CA638 800C9A38 3C08800E */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x800e
|
||||
/* 0CA63C 800C9A3C 250838AC */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x38ac
|
||||
/* 0CA640 800C9A40 8D0B0000 */ lw $t3, ($t0)
|
||||
/* 0CA644 800C9A44 2401FFFF */ li $at, -1
|
||||
/* 0CA648 800C9A48 01614026 */ xor $t0, $t3, $at
|
||||
|
||||
@@ -109,16 +109,16 @@ glabel osInitialize
|
||||
/* 0CD33C 800CC73C 0101C824 */ and $t9, $t0, $at
|
||||
/* 0CD340 800CC740 13200006 */ beqz $t9, .L800CC75C
|
||||
/* 0CD344 800CC744 AFB90038 */ sw $t9, 0x38($sp)
|
||||
/* 0CD348 800CC748 3C01800E */ lui $at, %hi(D_800E38A4) # $at, 0x800e
|
||||
/* 0CD348 800CC748 3C01800E */ lui $at, %hi(osClockRate) # $at, 0x800e
|
||||
/* 0CD34C 800CC74C 03205825 */ move $t3, $t9
|
||||
/* 0CD350 800CC750 240A0000 */ li $t2, 0
|
||||
/* 0CD354 800CC754 AC2A38A0 */ sw $t2, %lo(D_800E38A0)($at)
|
||||
/* 0CD358 800CC758 AC2B38A4 */ sw $t3, %lo(D_800E38A4)($at)
|
||||
/* 0CD354 800CC754 AC2A38A0 */ sw $t2, %lo(osClockRate)($at)
|
||||
/* 0CD358 800CC758 AC2B38A4 */ sw $t3, %lo(osClockRate+4)($at)
|
||||
.L800CC75C:
|
||||
/* 0CD35C 800CC75C 3C04800E */ lui $a0, %hi(D_800E38A0) # $a0, 0x800e
|
||||
/* 0CD360 800CC760 3C05800E */ lui $a1, %hi(D_800E38A4) # $a1, 0x800e
|
||||
/* 0CD364 800CC764 8CA538A4 */ lw $a1, %lo(D_800E38A4)($a1)
|
||||
/* 0CD368 800CC768 8C8438A0 */ lw $a0, %lo(D_800E38A0)($a0)
|
||||
/* 0CD35C 800CC75C 3C04800E */ lui $a0, %hi(osClockRate) # $a0, 0x800e
|
||||
/* 0CD360 800CC760 3C05800E */ lui $a1, %hi(osClockRate+4) # $a1, 0x800e
|
||||
/* 0CD364 800CC764 8CA538A4 */ lw $a1, %lo(osClockRate+4)($a1)
|
||||
/* 0CD368 800CC768 8C8438A0 */ lw $a0, %lo(osClockRate)($a0)
|
||||
/* 0CD36C 800CC76C 24060000 */ li $a2, 0
|
||||
/* 0CD370 800CC770 0C033AF2 */ jal __ll_mul
|
||||
/* 0CD374 800CC774 24070003 */ li $a3, 3
|
||||
@@ -131,10 +131,10 @@ glabel osInitialize
|
||||
/* 0CD390 800CC790 24070004 */ li $a3, 4
|
||||
/* 0CD394 800CC794 3C098000 */ lui $t1, %hi(osResetType) # $t1, 0x8000
|
||||
/* 0CD398 800CC798 8D29030C */ lw $t1, %lo(osResetType)($t1)
|
||||
/* 0CD39C 800CC79C 3C01800E */ lui $at, %hi(D_800E38A4) # $at, 0x800e
|
||||
/* 0CD3A0 800CC7A0 AC2238A0 */ sw $v0, %lo(D_800E38A0)($at)
|
||||
/* 0CD39C 800CC79C 3C01800E */ lui $at, %hi(osClockRate) # $at, 0x800e
|
||||
/* 0CD3A0 800CC7A0 AC2238A0 */ sw $v0, %lo(osClockRate)($at)
|
||||
/* 0CD3A4 800CC7A4 15200005 */ bnez $t1, .L800CC7BC
|
||||
/* 0CD3A8 800CC7A8 AC2338A4 */ sw $v1, %lo(D_800E38A4)($at)
|
||||
/* 0CD3A8 800CC7A8 AC2338A4 */ sw $v1, %lo(osClockRate+4)($at)
|
||||
/* 0CD3AC 800CC7AC 3C048000 */ lui $a0, %hi(osAppNMIBuffer) # $a0, 0x8000
|
||||
/* 0CD3B0 800CC7B0 2484031C */ addiu $a0, %lo(osAppNMIBuffer) # addiu $a0, $a0, 0x31c
|
||||
/* 0CD3B4 800CC7B4 0C034138 */ jal memzero
|
||||
|
||||
@@ -16,12 +16,12 @@ glabel osContInit
|
||||
/* 0CD854 800CCC54 0C03486C */ jal osGetTime
|
||||
/* 0CD858 800CCC58 AC2F38C0 */ sw $t7, %lo(D_800E38C0)($at)
|
||||
/* 0CD85C 800CCC5C 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7
|
||||
/* 0CD860 800CCC60 3C06800E */ lui $a2, %hi(D_800E38A0) # $a2, 0x800e
|
||||
/* 0CD864 800CCC64 3C07800E */ lui $a3, %hi(D_800E38A4) # $a3, 0x800e
|
||||
/* 0CD860 800CCC60 3C06800E */ lui $a2, %hi(osClockRate) # $a2, 0x800e
|
||||
/* 0CD864 800CCC64 3C07800E */ lui $a3, %hi(osClockRate+4) # $a3, 0x800e
|
||||
/* 0CD868 800CCC68 AFA20070 */ sw $v0, 0x70($sp)
|
||||
/* 0CD86C 800CCC6C AFA30074 */ sw $v1, 0x74($sp)
|
||||
/* 0CD870 800CCC70 8CE738A4 */ lw $a3, %lo(D_800E38A4)($a3)
|
||||
/* 0CD874 800CCC74 8CC638A0 */ lw $a2, %lo(D_800E38A0)($a2)
|
||||
/* 0CD870 800CCC70 8CE738A4 */ lw $a3, %lo(osClockRate+4)($a3)
|
||||
/* 0CD874 800CCC74 8CC638A0 */ lw $a2, %lo(osClockRate)($a2)
|
||||
/* 0CD878 800CCC78 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120
|
||||
/* 0CD87C 800CCC7C 0C033AF2 */ jal __ll_mul
|
||||
/* 0CD880 800CCC80 24040000 */ li $a0, 0
|
||||
@@ -48,10 +48,10 @@ glabel osContInit
|
||||
/* 0CD8D0 800CCCD0 0C032208 */ jal osCreateMesgQueue
|
||||
/* 0CD8D4 800CCCD4 24060001 */ li $a2, 1
|
||||
/* 0CD8D8 800CCCD8 3C050007 */ lui $a1, (0x0007A120 >> 16) # lui $a1, 7
|
||||
/* 0CD8DC 800CCCDC 3C06800E */ lui $a2, %hi(D_800E38A0) # $a2, 0x800e
|
||||
/* 0CD8E0 800CCCE0 3C07800E */ lui $a3, %hi(D_800E38A4) # $a3, 0x800e
|
||||
/* 0CD8E4 800CCCE4 8CE738A4 */ lw $a3, %lo(D_800E38A4)($a3)
|
||||
/* 0CD8E8 800CCCE8 8CC638A0 */ lw $a2, %lo(D_800E38A0)($a2)
|
||||
/* 0CD8DC 800CCCDC 3C06800E */ lui $a2, %hi(osClockRate) # $a2, 0x800e
|
||||
/* 0CD8E0 800CCCE0 3C07800E */ lui $a3, %hi(osClockRate) # $a3, 0x800e
|
||||
/* 0CD8E4 800CCCE4 8CE738A4 */ lw $a3, %lo(osClockRate+4)($a3)
|
||||
/* 0CD8E8 800CCCE8 8CC638A0 */ lw $a2, %lo(osClockRate)($a2)
|
||||
/* 0CD8EC 800CCCEC 34A5A120 */ ori $a1, (0x0007A120 & 0xFFFF) # ori $a1, $a1, 0xa120
|
||||
/* 0CD8F0 800CCCF0 0C033AF2 */ jal __ll_mul
|
||||
/* 0CD8F4 800CCCF4 24040000 */ li $a0, 0
|
||||
|
||||
@@ -5,15 +5,15 @@ glabel __osResetGlobalIntMask
|
||||
/* 0D710C 800D650C 0C034958 */ jal __osDisableInt
|
||||
/* 0D7110 800D6510 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0D7114 800D6514 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 0D7118 800D6518 3C0E800E */ lui $t6, %hi(D_800E38AC) # $t6, 0x800e
|
||||
/* 0D711C 800D651C 8DCE38AC */ lw $t6, %lo(D_800E38AC)($t6)
|
||||
/* 0D7118 800D6518 3C0E800E */ lui $t6, %hi(__OSGlobalIntMask) # $t6, 0x800e
|
||||
/* 0D711C 800D651C 8DCE38AC */ lw $t6, %lo(__OSGlobalIntMask)($t6)
|
||||
/* 0D7120 800D6520 2401FBFE */ li $at, -1026
|
||||
/* 0D7124 800D6524 01E1C024 */ and $t8, $t7, $at
|
||||
/* 0D7128 800D6528 0300C827 */ not $t9, $t8
|
||||
/* 0D712C 800D652C 00408025 */ move $s0, $v0
|
||||
/* 0D7130 800D6530 3C01800E */ lui $at, %hi(D_800E38AC) # $at, 0x800e
|
||||
/* 0D7130 800D6530 3C01800E */ lui $at, %hi(__OSGlobalIntMask) # $at, 0x800e
|
||||
/* 0D7134 800D6534 01D94024 */ and $t0, $t6, $t9
|
||||
/* 0D7138 800D6538 AC2838AC */ sw $t0, %lo(D_800E38AC)($at)
|
||||
/* 0D7138 800D6538 AC2838AC */ sw $t0, %lo(__OSGlobalIntMask)($at)
|
||||
/* 0D713C 800D653C 0C034960 */ jal __osRestoreInt
|
||||
/* 0D7140 800D6540 02002025 */ move $a0, $s0
|
||||
/* 0D7144 800D6544 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
|
||||
@@ -3,17 +3,17 @@
|
||||
|
||||
#include "types.h"
|
||||
#include "macros.h"
|
||||
#include "ultra64.h"
|
||||
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/alMainBusParam.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/alMainBusPull.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/alSaveParam.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/alSavePull.s")
|
||||
|
||||
s32 D_800E38A0 = 0; // Not sure what this is.
|
||||
s32 D_800E38A4 = 62500000; // OSTime osClockRate = OS_CLOCK_RATE;
|
||||
u32 D_800E38A8 = 0; // u32 __osShutdown = 0;
|
||||
u32 D_800E38AC = 0x3FFF01; // u32 __OSGlobalIntMask = OS_IM_ALL;
|
||||
s32 D_800E38B0 = 0; // Not sure what this is.
|
||||
u64 osClockRate = OS_CLOCK_RATE;
|
||||
u32 __osShutdown = 0;
|
||||
u32 __OSGlobalIntMask = OS_IM_ALL;
|
||||
s32 D_800E38B0 = 0; // 64DD flag? (Hints from SM64 code)
|
||||
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/osInitialize.s")
|
||||
GLOBAL_ASM("lib/asm/non_matchings/unknown_0CCF90/osSetThreadPri.s")
|
||||
|
||||
Reference in New Issue
Block a user