Insert calls to known linked-list macros

The presence of InitList, InsertAsNext, InsertAsPrev and RemoveFromList
calls should make some hitherto unexplored code easier to read.
This commit is contained in:
Elliot Nunn 2017-12-13 12:10:54 +08:00
parent 4d5929ffd8
commit 73c3eece94
8 changed files with 50 additions and 312 deletions

View File

@ -1122,19 +1122,11 @@ createarea_0x374
createarea_0x39c createarea_0x39c
addi r19, r31, 0x54 addi r19, r31, 0x54
stw r20, 0x0000(r19) stw r20, 0x0000(r19)
stw r20, 0x000c(r19) InsertAsNext r19, r20, scratch=r16
lwz r16, 0x0008(r20)
stw r16, 0x0008(r19)
stw r19, 0x000c(r16)
stw r19, 0x0008(r20)
createarea_0x3b8 createarea_0x3b8
addi r16, r31, 0x90 addi r16, r31, 0x90
lis r17, 0x6665 InitList r16, 'fenc', scratch=r17
stw r16, 0x0008(r16)
ori r17, r17, 0x6e63
stw r16, 0x000c(r16)
stw r17, 0x0004(r16)
lwz r16, 0x0020(r31) lwz r16, 0x0020(r31)
lwz r17, Area.Flags(r31) lwz r17, Area.Flags(r31)
rlwinm. r8, r16, 0, 16, 16 rlwinm. r8, r16, 0, 16, 16
@ -1240,13 +1232,7 @@ createarea_0x4e8
mr. r18, r27 mr. r18, r27
beq- createarea_0x5a0 beq- createarea_0x5a0
lwz r16, -0x0448(r1) lwz r16, -0x0448(r1)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r19
lwz r19, 0x000c(r16)
stw r17, 0x0008(r19)
stw r19, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r16, 0x0040(r31) stw r16, 0x0040(r31)
cmpwi r18, 0x00 cmpwi r18, 0x00
@ -1259,13 +1245,7 @@ createarea_0x4e8
b createarea_0x5a0 b createarea_0x5a0
createarea_0x564 createarea_0x564
lwz r19, 0x0008(r17) RemoveFromList r17, scratch1=r19, scratch2=r20
lwz r20, 0x000c(r17)
stw r19, 0x0008(r20)
stw r20, 0x000c(r19)
li r19, 0x00
stw r19, 0x0008(r17)
stw r19, 0x000c(r17)
addi r18, r18, -0x01 addi r18, r18, -0x01
stwu r17, 0x0004(r16) stwu r17, 0x0004(r16)
mr r8, r17 mr r8, r17
@ -1279,13 +1259,7 @@ createarea_0x5a0
mr. r18, r29 mr. r18, r29
beq- createarea_0x62c beq- createarea_0x62c
lwz r16, -0x0448(r1) lwz r16, -0x0448(r1)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r19
lwz r19, 0x000c(r16)
stw r17, 0x0008(r19)
stw r19, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r16, 0x003c(r31) stw r16, 0x003c(r31)
cmpwi r18, 0x00 cmpwi r18, 0x00
@ -1298,13 +1272,7 @@ createarea_0x5a0
b createarea_0x62c b createarea_0x62c
createarea_0x5f0 createarea_0x5f0
lwz r19, 0x0008(r17) RemoveFromList r17, scratch1=r19, scratch2=r20
lwz r20, 0x000c(r17)
stw r19, 0x0008(r20)
stw r20, 0x000c(r19)
li r19, 0x00
stw r19, 0x0008(r17)
stw r19, 0x000c(r17)
addi r18, r18, -0x01 addi r18, r18, -0x01
stwu r17, 0x0004(r16) stwu r17, 0x0004(r16)
mr r8, r17 mr r8, r17
@ -1324,20 +1292,12 @@ createarea_0x64c
lwz r16, 0x0044(r31) lwz r16, 0x0044(r31)
addi r17, r31, 0x44 addi r17, r31, 0x44
stw r16, 0x0000(r17) stw r16, 0x0000(r17)
stw r16, 0x0008(r17) InsertAsPrev r17, r16, scratch=r18
lwz r18, 0x000c(r16)
stw r18, 0x000c(r17)
stw r17, 0x0008(r18)
stw r17, 0x000c(r16)
b major_0x10320_0x94 b major_0x10320_0x94
createarea_0x67c createarea_0x67c
addi r16, r31, 0x44 addi r16, r31, 0x44
lis r17, 0x414b InitList r16, 'AKA ', scratch=r17
stw r16, 0x0008(r16)
ori r17, r17, 0x4120
stw r16, 0x000c(r16)
stw r17, 0x0004(r16)
b major_0x10320_0x94 b major_0x10320_0x94
@ -1433,13 +1393,7 @@ major_0x10320 ; OUTSIDE REFERER
major_0x10320_0x20 ; OUTSIDE REFERER major_0x10320_0x20 ; OUTSIDE REFERER
addi r19, r31, 0x54 addi r19, r31, 0x54
lwz r16, 0x0008(r19) RemoveFromList r19, scratch1=r16, scratch2=r17
lwz r17, 0x000c(r19)
stw r16, 0x0008(r17)
stw r17, 0x000c(r16)
li r16, 0x00
stw r16, 0x0008(r19)
stw r16, 0x000c(r19)
lwz r16, Area.Flags(r31) lwz r16, Area.Flags(r31)
lwz r8, 0x0040(r31) lwz r8, 0x0040(r31)
rlwinm. r16, r16, 0, 25, 25 rlwinm. r16, r16, 0, 25, 25
@ -2016,11 +1970,7 @@ MPCall_130_0x11c
ori r17, r17, 0x4e43 ori r17, r17, 0x4e43
stw r17, 0x0004(r16) stw r17, 0x0004(r16)
stw r18, 0x0000(r16) stw r18, 0x0000(r16)
stw r18, 0x0008(r16) InsertAsPrev r16, r18, scratch=r19
lwz r19, 0x000c(r18)
stw r19, 0x000c(r16)
stw r16, 0x0008(r19)
stw r16, 0x000c(r18)
li r8, 0x00 li r8, 0x00
addi r9, r16, 0x14 addi r9, r16, 0x14
@ -2851,13 +2801,7 @@ MPCall_83_0x90 ; OUTSIDE REFERER
lwz r8, -0x0448(r1) lwz r8, -0x0448(r1)
cmpw r8, r18 cmpw r8, r18
beq- MPCall_83_0xec beq- MPCall_83_0xec
lwz r16, 0x0008(r8) RemoveFromList r8, scratch1=r16, scratch2=r17
lwz r17, 0x000c(r8)
stw r16, 0x0008(r17)
stw r17, 0x000c(r16)
li r16, 0x00
stw r16, 0x0008(r8)
stw r16, 0x000c(r8)
lwz r16, -0x0430(r1) lwz r16, -0x0430(r1)
addi r16, r16, -0x01 addi r16, r16, -0x01
stw r16, -0x0430(r1) stw r16, -0x0430(r1)

View File

@ -533,11 +533,7 @@ major_0x02ccc_0x3d4
addi r17, r31, 0x08 addi r17, r31, 0x08
addi r18, r31, 160 addi r18, r31, 160
stw r18, 0x0000(r17) stw r18, 0x0000(r17)
stw r18, 0x0008(r17) InsertAsPrev r17, r18, scratch=r19
lwz r19, 0x000c(r18)
stw r19, 0x000c(r17)
stw r17, 0x0008(r19)
stw r17, 0x000c(r18)
li r17, 0x01 li r17, 0x01
ori r16, r16, 0x2000 ori r16, r16, 0x2000
stw r17, 0x00b0(r31) stw r17, 0x00b0(r31)
@ -563,11 +559,7 @@ major_0x02ccc_0x430
addi r17, r31, 0x08 addi r17, r31, 0x08
addi r18, r31, 160 addi r18, r31, 160
stw r18, 0x0000(r17) stw r18, 0x0000(r17)
stw r18, 0x0008(r17) InsertAsPrev r17, r18, scratch=r19
lwz r19, 0x000c(r18)
stw r19, 0x000c(r17)
stw r17, 0x0008(r19)
stw r17, 0x000c(r18)
li r17, 0x01 li r17, 0x01
stw r17, 0x00b0(r31) stw r17, 0x00b0(r31)
lwz r27, 0x0000(r29) lwz r27, 0x0000(r29)

View File

@ -1509,11 +1509,7 @@ KCCreateCpuStruct_0x68
stw r17, 0x0020(r30) stw r17, 0x0020(r30)
addi r16, r31, 0x08 addi r16, r31, 0x08
stw r30, 0x0000(r16) stw r30, 0x0000(r16)
stw r30, 0x0008(r16) InsertAsPrev r16, r30, scratch=r17
lwz r17, 0x000c(r30)
stw r17, 0x000c(r16)
stw r16, 0x0008(r17)
stw r16, 0x000c(r30)
lisori r8, 11 lisori r8, 11
lisori r8, 6 lisori r8, 6
@ -1600,13 +1596,7 @@ MPCall_43 ; OUTSIDE REFERER
lwz r18, 0x0020(r17) lwz r18, 0x0020(r17)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r18, 0x0020(r17) stw r18, 0x0020(r17)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
mr r8, r31 mr r8, r31
bl PoolFree bl PoolFree
mr r8, r3 mr r8, r3

View File

@ -169,13 +169,7 @@ CommonPIHPath_0x1d0
CommonPIHPath_0x1dc CommonPIHPath_0x1dc
addi r16, r31, 0x08 addi r16, r31, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lbz r17, 0x0037(r31) lbz r17, 0x0037(r31)
cmpwi r17, 0x01 cmpwi r17, 0x01
bne- CommonPIHPath_0x210 bne- CommonPIHPath_0x210

View File

@ -68,13 +68,7 @@ MPCall_16_0x2c
lwz r8, 0x0018(r31) lwz r8, 0x0018(r31)
cmpw r8, r30 cmpw r8, r30
beq- MPCall_16_0x60 beq- MPCall_16_0x60
lwz r16, 0x0008(r8) RemoveFromList r8, scratch1=r16, scratch2=r17
lwz r17, 0x000c(r8)
stw r16, 0x0008(r17)
stw r17, 0x000c(r16)
li r16, 0x00
stw r16, 0x0008(r8)
stw r16, 0x000c(r8)
bl PoolFree bl PoolFree
b MPCall_16_0x2c b MPCall_16_0x2c
@ -109,13 +103,7 @@ MPCall_16_0x80
MPCall_16_0xb4 MPCall_16_0xb4
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
addi r8, r16, -0x08 addi r8, r16, -0x08
bl TaskReadyAsPrev bl TaskReadyAsPrev
bl major_0x14af8 bl major_0x14af8
@ -253,11 +241,7 @@ MPCall_17_0x6c
major_0x0c8b4 ; OUTSIDE REFERER major_0x0c8b4 ; OUTSIDE REFERER
addi r17, r31, 0x10 addi r17, r31, 0x10
stw r17, 0x0000(r8) stw r17, 0x0000(r8)
stw r17, 0x0008(r8) InsertAsPrev r8, r17, scratch=r16
lwz r16, 0x000c(r17)
stw r16, 0x000c(r8)
stw r8, 0x0008(r16)
stw r8, 0x000c(r17)
lwz r18, 0x0030(r31) lwz r18, 0x0030(r31)
addi r18, r18, 0x01 addi r18, r18, 0x01
stw r18, 0x0030(r31) stw r18, 0x0030(r31)
@ -280,13 +264,7 @@ major_0x0c8b4 ; OUTSIDE REFERER
major_0x0c8b4_0x68 major_0x0c8b4_0x68
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lwz r18, 0x002c(r31) lwz r18, 0x002c(r31)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r18, 0x002c(r31) stw r18, 0x002c(r31)
@ -325,13 +303,7 @@ MPCall_18 ; OUTSIDE REFERER
lwz r5, 0x0014(r16) lwz r5, 0x0014(r16)
lwz r17, 0x0018(r16) lwz r17, 0x0018(r16)
stw r17, 0x0134(r6) stw r17, 0x0134(r6)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lwz r18, 0x0030(r31) lwz r18, 0x0030(r31)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r18, 0x0030(r31) stw r18, 0x0030(r31)
@ -371,11 +343,7 @@ MPCall_18_0xc4
addi r16, r31, 0x00 addi r16, r31, 0x00
addi r17, r19, 0x08 addi r17, r19, 0x08
stw r16, 0x0000(r17) stw r16, 0x0000(r17)
stw r16, 0x0008(r17) InsertAsPrev r17, r16, scratch=r18
lwz r18, 0x000c(r16)
stw r18, 0x000c(r17)
stw r17, 0x0008(r18)
stw r17, 0x000c(r16)
lwz r18, 0x002c(r31) lwz r18, 0x002c(r31)
addi r18, r18, 0x01 addi r18, r18, 0x01
stw r18, 0x002c(r31) stw r18, 0x002c(r31)
@ -446,11 +414,7 @@ MPCall_20 ; OUTSIDE REFERER
bl PoolAlloc_with_crset bl PoolAlloc_with_crset
mr. r31, r8 mr. r31, r8
beq+ major_0x0af60_0x20 beq+ major_0x0af60_0x20
lis r16, 0x5345 InitList r31, Semaphore.kSignature, scratch=r16
stw r31, 0x0008(r31)
ori r16, r16, 0x4d41
stw r31, 0x000c(r31)
stw r16, 0x0004(r31)
_Lock PSA.SchLock, scratch1=r16, scratch2=r17 _Lock PSA.SchLock, scratch1=r16, scratch2=r17
@ -521,11 +485,7 @@ MPCall_23_0x68
addi r16, r31, 0x00 addi r16, r31, 0x00
addi r17, r8, 0x08 addi r17, r8, 0x08
stw r16, 0x0000(r17) stw r16, 0x0000(r17)
stw r16, 0x0008(r17) InsertAsPrev r17, r16, scratch=r18
lwz r18, 0x000c(r16)
stw r18, 0x000c(r17)
stw r17, 0x0008(r18)
stw r17, 0x000c(r16)
lwz r18, 0x001c(r31) lwz r18, 0x001c(r31)
addi r18, r18, 0x01 addi r18, r18, 0x01
stw r18, 0x001c(r31) stw r18, 0x001c(r31)
@ -628,13 +588,7 @@ major_0x0ccf4 ; OUTSIDE REFERER
major_0x0ccf4_0x30 major_0x0ccf4_0x30
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lwz r18, 0x001c(r31) lwz r18, 0x001c(r31)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r18, 0x001c(r31) stw r18, 0x001c(r31)
@ -696,13 +650,7 @@ MPCall_21_0x34
MPCall_21_0x68 MPCall_21_0x68
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
addi r8, r16, -0x08 addi r8, r16, -0x08
bl TaskReadyAsPrev bl TaskReadyAsPrev
bl major_0x14af8 bl major_0x14af8
@ -726,11 +674,7 @@ MPCall_25 ; OUTSIDE REFERER
bl PoolAlloc_with_crset bl PoolAlloc_with_crset
mr. r31, r8 mr. r31, r8
beq+ major_0x0af60_0x20 beq+ major_0x0af60_0x20
lis r16, 0x4352 InitList r31, CriticalRegion.kSignature, scratch=r16
stw r31, 0x0008(r31)
ori r16, r16, 0x474e
stw r31, 0x000c(r31)
stw r16, 0x0004(r31)
_Lock PSA.SchLock, scratch1=r16, scratch2=r17 _Lock PSA.SchLock, scratch1=r16, scratch2=r17
@ -834,11 +778,7 @@ MPCall_27_0xb4
addi r18, r30, 0x08 addi r18, r30, 0x08
ori r16, r16, 0xffff ori r16, r16, 0xffff
stw r31, 0x0000(r18) stw r31, 0x0000(r18)
stw r31, 0x0008(r18) InsertAsPrev r18, r31, scratch=r19
lwz r19, 0x000c(r31)
stw r19, 0x000c(r18)
stw r18, 0x0008(r19)
stw r18, 0x000c(r31)
lwz r18, 0x0020(r31) lwz r18, 0x0020(r31)
addi r18, r18, 0x01 addi r18, r18, 0x01
stw r18, 0x0020(r31) stw r18, 0x0020(r31)
@ -953,13 +893,7 @@ MPCall_28 ; OUTSIDE REFERER
MPCall_28_0x94 MPCall_28_0x94
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lwz r18, 0x0020(r31) lwz r18, 0x0020(r31)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r18, 0x0020(r31) stw r18, 0x0020(r31)
@ -1013,13 +947,7 @@ MPCall_26_0x34
MPCall_26_0x68 MPCall_26_0x68
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
addi r8, r16, -0x08 addi r8, r16, -0x08
bl TaskReadyAsPrev bl TaskReadyAsPrev
bl major_0x14af8 bl major_0x14af8
@ -1139,13 +1067,7 @@ MPDeleteEvent_0x34
MPDeleteEvent_0x68 MPDeleteEvent_0x68
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
addi r8, r16, -0x08 addi r8, r16, -0x08
bl TaskReadyAsPrev bl TaskReadyAsPrev
bl major_0x14af8 bl major_0x14af8
@ -1215,13 +1137,7 @@ major_0x0d35c ; OUTSIDE REFERER
major_0x0d35c_0x4c major_0x0d35c_0x4c
lwz r16, 0x0008(r31) lwz r16, 0x0008(r31)
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lwz r18, 0x001c(r31) lwz r18, 0x001c(r31)
addi r18, r18, -0x01 addi r18, r18, -0x01
stw r18, 0x001c(r31) stw r18, 0x001c(r31)
@ -1288,13 +1204,7 @@ major_0x0d35c_0x118
cmpwi r19, 0x00 cmpwi r19, 0x00
addi r16, r26, 0x08 addi r16, r26, 0x08
bne- major_0x0d35c_0x198 bne- major_0x0d35c_0x198
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lbz r17, 0x0037(r26) lbz r17, 0x0037(r26)
cmpwi r17, 0x01 cmpwi r17, 0x01
bne- major_0x0d35c_0x17c bne- major_0x0d35c_0x17c
@ -2112,13 +2022,7 @@ major_0x0dce8 ; OUTSIDE REFERER
cmpwi r17, 0x00 cmpwi r17, 0x00
addi r16, r19, 0x08 addi r16, r19, 0x08
bne- major_0x0dce8_0x70 bne- major_0x0dce8_0x70
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lbz r17, 0x0037(r19) lbz r17, 0x0037(r19)
cmpwi r17, 0x01 cmpwi r17, 0x01
bne- major_0x0dce8_0x60 bne- major_0x0dce8_0x60

View File

@ -1205,13 +1205,7 @@ major_0x142dc_0xd8 ; OUTSIDE REFERER
cmpwi r28, 0x00 cmpwi r28, 0x00
lwz r26, 0x0008(r30) lwz r26, 0x0008(r30)
beq- major_0x142dc_0x140 beq- major_0x142dc_0x140
lwz r28, 0x0008(r29) RemoveFromList r29, scratch1=r28, scratch2=r27
lwz r27, 0x000c(r29)
stw r28, 0x0008(r27)
stw r27, 0x000c(r28)
li r28, 0x00
stw r28, 0x0008(r29)
stw r28, 0x000c(r29)
lwz r27, 0x001c(r30) lwz r27, 0x001c(r30)
lwz r28, 0x0014(r26) lwz r28, 0x0014(r26)
subf r28, r27, r28 subf r28, r27, r28
@ -1239,11 +1233,7 @@ major_0x142dc_0x140
addi r25, r1, -0xa34 addi r25, r1, -0xa34
addi r26, r30, 0x08 addi r26, r30, 0x08
stw r25, 0x0000(r26) stw r25, 0x0000(r26)
stw r25, 0x0008(r26) InsertAsPrev r26, r25, scratch=r27
lwz r27, 0x000c(r25)
stw r27, 0x000c(r26)
stw r26, 0x0008(r27)
stw r26, 0x000c(r25)
b major_0x142dc_0x58 b major_0x142dc_0x58
major_0x142dc_0x184 major_0x142dc_0x184
@ -2012,13 +2002,7 @@ major_0x14bcc
bl Printw bl Printw
_log '^n' _log '^n'
addi r16, r31, 0x08 addi r16, r31, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
li r16, 0x02 li r16, 0x02
stb r16, 0x0018(r31) stb r16, 0x0018(r31)
lwz r16, 0x0064(r31) lwz r16, 0x0064(r31)
@ -2158,11 +2142,7 @@ StopProcessor
addi r16, r1, -0xa44 addi r16, r1, -0xa44
addi r17, r8, 0x08 addi r17, r8, 0x08
stw r16, 0x0000(r17) stw r16, 0x0000(r17)
stw r16, 0x0008(r17) InsertAsPrev r17, r16, scratch=r18
lwz r18, 0x000c(r16)
stw r18, 0x000c(r17)
stw r17, 0x0008(r18)
stw r17, 0x000c(r16)
bl TasksFuncThatIsNotAMPCall bl TasksFuncThatIsNotAMPCall
_AssertAndRelease PSA.SchLock, scratch=r16 _AssertAndRelease PSA.SchLock, scratch=r16
_log 'SIGP kStopProcessor^n' _log 'SIGP kStopProcessor^n'

View File

@ -342,13 +342,7 @@ MPCall_8 ; OUTSIDE REFERER
stw r16, 0x0090(r31) stw r16, 0x0090(r31)
stw r17, 0x0094(r31) stw r17, 0x0094(r31)
addi r16, r31, 0x08 addi r16, r31, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
mr r8, r31 mr r8, r31
bl TaskReadyAsPrev bl TaskReadyAsPrev
bl CalculateTimeslice bl CalculateTimeslice
@ -415,13 +409,7 @@ MPCall_9_0xb4
ori r16, r16, 0x02 ori r16, r16, 0x02
stw r16, 0x0064(r31) stw r16, 0x0064(r31)
addi r16, r31, 0x08 addi r16, r31, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
b MPCall_9_0xf0 b MPCall_9_0xf0
MPCall_9_0xe0 MPCall_9_0xe0
@ -439,11 +427,7 @@ MPCall_9_0xfc
addi r16, r1, -0xa44 addi r16, r1, -0xa44
addi r17, r31, 0x08 addi r17, r31, 0x08
stw r16, 0x0000(r17) stw r16, 0x0000(r17)
stw r16, 0x0008(r17) InsertAsPrev r17, r16, scratch=r18
lwz r18, 0x000c(r16)
stw r18, 0x000c(r17)
stw r17, 0x0008(r18)
stw r17, 0x000c(r16)
lbz r8, 0x0037(r31) lbz r8, 0x0037(r31)
cmpwi r8, 0x01 cmpwi r8, 0x01
bne- MPCall_9_0x130 bne- MPCall_9_0x130
@ -505,13 +489,7 @@ TasksFuncThatIsNotAMPCall
mflr r27 mflr r27
mr r26, r8 mr r26, r8
addi r16, r26, 0x08 addi r16, r26, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
lwz r8, 0x0000(r26) lwz r8, 0x0000(r26)
bl DeleteID bl DeleteID
lwz r8, 0x00a0(r26) lwz r8, 0x00a0(r26)
@ -703,11 +681,7 @@ KCThrowException_0x70
addi r16, r1, -0xa34 addi r16, r1, -0xa34
addi r17, r31, 0x08 addi r17, r31, 0x08
stw r16, 0x0000(r17) stw r16, 0x0000(r17)
stw r16, 0x0008(r17) InsertAsPrev r17, r16, scratch=r18
lwz r18, 0x000c(r16)
stw r18, 0x000c(r17)
stw r17, 0x0008(r18)
stw r17, 0x000c(r16)
li r3, -0x726c li r3, -0x726c
b ReleaseAndReturnMPCall b ReleaseAndReturnMPCall
@ -791,13 +765,7 @@ MPCall_58_0x88
MPCall_58_0xb4 MPCall_58_0xb4
addi r16, r31, 0x08 addi r16, r31, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
mr r8, r31 mr r8, r31
bl TaskReadyAsPrev bl TaskReadyAsPrev
bl major_0x14af8 bl major_0x14af8
@ -812,11 +780,7 @@ FuncExportedFromTasks ; OUTSIDE REFERER
addi r16, r1, -0xa34 addi r16, r1, -0xa34
addi r17, r31, 0x08 addi r17, r31, 0x08
stw r16, 0x0000(r17) stw r16, 0x0000(r17)
stw r16, 0x0008(r17) InsertAsPrev r17, r16, scratch=r18
lwz r18, 0x000c(r16)
stw r18, 0x000c(r17)
stw r17, 0x0008(r18)
stw r17, 0x000c(r16)
li r8, 0x1c li r8, 0x1c
bl PoolAlloc_with_crset bl PoolAlloc_with_crset
lwz r29, 0x0064(r31) lwz r29, 0x0064(r31)
@ -853,13 +817,7 @@ MPCall_58_0x158
mr. r8, r28 mr. r8, r28
bnel- PoolFree bnel- PoolFree
addi r16, r31, 0x08 addi r16, r31, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
b MPCall_9_0x98 b MPCall_9_0x98
MPCall_58_0x184 MPCall_58_0x184

View File

@ -195,13 +195,7 @@ TimerDispatch_0xcc
bgt- cr1, TimerDispatch_0x188 bgt- cr1, TimerDispatch_0x188
TimerDispatch_0xec TimerDispatch_0xec
lwz r19, 0x0008(r30) RemoveFromList r30, scratch1=r19, scratch2=r20
lwz r20, 0x000c(r30)
stw r19, 0x0008(r20)
stw r20, 0x000c(r19)
li r19, 0x00
stw r19, 0x0008(r30)
stw r19, 0x000c(r30)
lwz r19, 0x064c(r1) lwz r19, 0x064c(r1)
lbz r20, 0x0014(r30) lbz r20, 0x0014(r30)
rlwimi r19, r20, 2, 23, 29 rlwimi r19, r20, 2, 23, 29
@ -376,13 +370,7 @@ major_0x13120 ; OUTSIDE REFERER
stw r16, 0x011c(r19) stw r16, 0x011c(r19)
bne- major_0x13120_0x64 bne- major_0x13120_0x64
addi r16, r8, 0x08 addi r16, r8, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r19
lwz r19, 0x000c(r16)
stw r17, 0x0008(r19)
stw r19, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
li r17, 0x01 li r17, 0x01
stb r17, 0x0019(r8) stb r17, 0x0019(r8)
bl TaskReadyAsPrev bl TaskReadyAsPrev
@ -454,13 +442,7 @@ major_0x1318c_0x8c
major_0x1318c_0x98 major_0x1318c_0x98
lwz r8, 0x0018(r30) lwz r8, 0x0018(r30)
addi r16, r8, 0x08 addi r16, r8, 0x08
lwz r17, 0x0008(r16) RemoveFromList r16, scratch1=r17, scratch2=r18
lwz r18, 0x000c(r16)
stw r17, 0x0008(r18)
stw r18, 0x000c(r17)
li r17, 0x00
stw r17, 0x0008(r16)
stw r17, 0x000c(r16)
bl TaskReadyAsPrev bl TaskReadyAsPrev
@ -920,13 +902,7 @@ major_0x136c8 ; OUTSIDE REFERER
cmpwi r16, 0x00 cmpwi r16, 0x00
lwz r18, -0x0a7c(r1) lwz r18, -0x0a7c(r1)
beq+ Local_Panic beq+ Local_Panic
lwz r16, 0x0008(r8) RemoveFromList r8, scratch1=r16, scratch2=r17
lwz r17, 0x000c(r8)
stw r16, 0x0008(r17)
stw r17, 0x000c(r16)
li r16, 0x00
stw r16, 0x0008(r8)
stw r16, 0x000c(r8)
li r16, 0x00 li r16, 0x00
cmpw r18, r8 cmpw r18, r8
stb r16, 0x0017(r8) stb r16, 0x0017(r8)