Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions config/SALP4Q/splits.txt
Original file line number Diff line number Diff line change
Expand Up @@ -134,6 +134,61 @@ PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/secure_error.c:
.text start:0x803A34AC end:0x803A34C4
.sbss start:0x805F5E48 end:0x805F5E4C

PowerPC_EABI_Support/MetroTRK/flush_cache.c:
.text start:0x803AADA8 end:0x803AADE0

PowerPC_EABI_Support/MetroTRK/main_TRK.c:
.text start:0x803AADE0 end:0x803AAE1C
.sbss start:0x805F5E98 end:0x805F5E9C

PowerPC_EABI_Support/MetroTRK/mainloop.c:
.text start:0x803AAE1C end:0x803AAF08

PowerPC_EABI_Support/MetroTRK/mem_TRK.c:
.text start:0x803AAF08 end:0x803AB16C

PowerPC_EABI_Support/MetroTRK/dispatch.c:
.text start:0x803AB16C end:0x803AB28C
.data start:0x8052D570 end:0x8052D5DC

PowerPC_EABI_Support/MetroTRK/dolphin_trk.c:
.text start:0x803AB28C end:0x803AB5A0
.data start:0x8052D5E0 end:0x8052D61C
.sbss start:0x805F5EA0 end:0x805F5EA8

PowerPC_EABI_Support/MetroTRK/dolphin_trk_glue.c:
.text start:0x803AB5B0 end:0x803AB8F8
.bss start:0x805A2820 end:0x805A2848

PowerPC_EABI_Support/MetroTRK/nubevent.c:
.text start:0x803AB9DC end:0x803ABB78
.bss start:0x805A2848 end:0x805A2870

PowerPC_EABI_Support/MetroTRK/nubinit.c:
.text start:0x803ABB78 end:0x803ABCC8
.data start:0x8052D728 end:0x8052D748
.sbss start:0x805F5EB0 end:0x805F5EB4

PowerPC_EABI_Support/MetroTRK/serpoll.c:
.text start:0x803ABCC8 end:0x803ABE10

PowerPC_EABI_Support/MetroTRK/targcont.c:
.text start:0x803AC450 end:0x803AC484

PowerPC_EABI_Support/MetroTRK/mpc_7xx_603e.c:
.text start:0x803AC484 end:0x803AC7AC

PowerPC_EABI_Support/MetroTRK/msgbuf.c:
.text start:0x803AC7AC end:0x803AD01C
.bss start:0x805A2870 end:0x805A4218

PowerPC_EABI_Support/MetroTRK/targimpl.c:
.text start:0x803AE3B8 end:0x803AEBE4
.rodata start:0x804E40D8 end:0x804E40E8
.data start:0x8052D848 end:0x8052D858
.bss start:0x805A4218 end:0x805A47C0
.sbss start:0x805F5ED0 end:0x805F5ED4

Revolution/FS/fs.c:
.text start:0x803B17D0 end:0x803B2BB4
.data start:0x8052D858 end:0x8052D87C
Expand Down Expand Up @@ -162,3 +217,6 @@ Revolution/NAND/NANDLogging.c:

PowerPC_EABI_Support/Runtime/__mem.c:
.init start:0x80004364 end:0x800046E4

PowerPC_EABI_Support/MetroTRK/__exception.s: comment:0
.init start:0x800046E4 end:0x80006618
102 changes: 51 additions & 51 deletions config/SALP4Q/symbols.txt
Original file line number Diff line number Diff line change
Expand Up @@ -37558,47 +37558,47 @@ fn_803AAB6C = .text:0x803AAB6C; // type:function size:0x8
fn_803AAB74 = .text:0x803AAB74; // type:function size:0x24
fn_803AAB98 = .text:0x803AAB98; // type:function size:0x108
fn_803AACA0 = .text:0x803AACA0; // type:function size:0x108
fn_803AADA8 = .text:0x803AADA8; // type:function size:0x38
TRK_flush_cache = .text:0x803AADA8; // type:function size:0x38
TRK_main = .text:0x803AADE0; // type:function size:0x3C scope:global
TRKNubMainLoop = .text:0x803AAE1C; // type:function size:0xEC scope:global
fn_803AAF08 = .text:0x803AAF08; // type:function size:0x13C
fn_803AB044 = .text:0x803AB044; // type:function size:0x128
TRK_memcpy = .text:0x803AAF08; // type:function size:0x13C
TRK_fill_mem = .text:0x803AB044; // type:function size:0x128
TRKDispatchMessage = .text:0x803AB16C; // type:function size:0x120 scope:global
InitMetroTRK = .text:0x803AB28C; // type:function size:0x94 scope:global
InitMetroTRK_BBA = .text:0x803AB324; // type:function size:0x94 scope:global
EnableMetroTRKInterrupts = .text:0x803AB3B8; // type:function size:0x4 scope:global
fn_803AB3BC = .text:0x803AB3BC; // type:function size:0x68
fn_803AB424 = .text:0x803AB424; // type:function size:0x134
TRKTargetTranslate = .text:0x803AB3BC; // type:function size:0x68
__TRK_copy_vectors = .text:0x803AB424; // type:function size:0x134
TRKInitializeTarget = .text:0x803AB558; // type:function size:0x48 scope:global
fn_803AB5A0 = .text:0x803AB5A0; // type:function size:0x10
TRKLoadContext = .text:0x803AB5B0; // type:function size:0x88 scope:global
TRKEXICallBack = .text:0x803AB638; // type:function size:0x38 scope:global
InitMetroTRKCommTable = .text:0x803AB670; // type:function size:0x138 scope:global
TRKUARTInterruptHandler = .text:0x803AB7A8; // type:function size:0x4 scope:global
TRKInitializeIntDrivenUART = .text:0x803AB7AC; // type:function size:0x54 scope:global
fn_803AB800 = .text:0x803AB800; // type:function size:0x2C
fn_803AB82C = .text:0x803AB82C; // type:function size:0x14
fn_803AB840 = .text:0x803AB840; // type:function size:0x3C
fn_803AB87C = .text:0x803AB87C; // type:function size:0x3C
EnableEXI2Interrupts = .text:0x803AB800; // type:function size:0x2C
TRKPollUART = .text:0x803AB82C; // type:function size:0x14
TRKReadUARTN = .text:0x803AB840; // type:function size:0x3C
TRKWriteUARTN = .text:0x803AB87C; // type:function size:0x3C
ReserveEXI2Port = .text:0x803AB8B8; // type:function size:0x14 scope:global
UnreserveEXI2Port = .text:0x803AB8CC; // type:function size:0x14 scope:global
TRK_board_display = .text:0x803AB8E0; // type:function size:0x18 scope:global
InitializeProgramEndTrap = .text:0x803AB8F8; // type:function size:0x54 scope:global
fn_803AB94C = .text:0x803AB94C; // type:function size:0x90
TRKInitializeEventQueue = .text:0x803AB9DC; // type:function size:0x24 scope:global
TRKGetNextEvent = .text:0x803ABA00; // type:function size:0x8C scope:global
fn_803ABA8C = .text:0x803ABA8C; // type:function size:0xCC
fn_803ABB58 = .text:0x803ABB58; // type:function size:0x18
TRKPostEvent = .text:0x803ABA8C; // type:function size:0xCC
TRKConstructEvent = .text:0x803ABB58; // type:function size:0x18
TRKDestructEvent = .text:0x803ABB70; // type:function size:0x8 scope:global
TRKInitializeNub = .text:0x803ABB78; // type:function size:0xAC scope:global
TRKTerminateNub = .text:0x803ABC24; // type:function size:0x24 scope:global
TRKNubWelcome = .text:0x803ABC48; // type:function size:0xC scope:global
TRKInitializeEndian = .text:0x803ABC54; // type:function size:0x74 scope:global
fn_803ABCC8 = .text:0x803ABCC8; // type:function size:0xCC
TRKTestForPacket = .text:0x803ABCC8; // type:function size:0xCC
TRKGetInput = .text:0x803ABD94; // type:function size:0x2C scope:global
fn_803ABDC0 = .text:0x803ABDC0; // type:function size:0x40
TRKProcessInput = .text:0x803ABDC0; // type:function size:0x40
TRKInitializeSerialHandler = .text:0x803ABE00; // type:function size:0x8 scope:global
fn_803ABE08 = .text:0x803ABE08; // type:function size:0x8
TRKTerminateSerialHandler = .text:0x803ABE08; // type:function size:0x8
fn_803ABE10 = .text:0x803ABE10; // type:function size:0x1C
fn_803ABE2C = .text:0x803ABE2C; // type:function size:0x1F4
fn_803AC020 = .text:0x803AC020; // type:function size:0x128
Expand All @@ -37610,20 +37610,20 @@ TRKSaveExtended1Block = .text:0x803AC484; // type:function size:0x1C4 scope:glob
TRKRestoreExtended1Block = .text:0x803AC648; // type:function size:0x164 scope:global
fn_803AC7AC = .text:0x803AC7AC; // type:function size:0x64
TRKInitializeMessageBuffers = .text:0x803AC810; // type:function size:0x20 scope:global
fn_803AC830 = .text:0x803AC830; // type:function size:0x9C
TRKGetFreeBuffer = .text:0x803AC830; // type:function size:0x9C
TRKGetBuffer = .text:0x803AC8CC; // type:function size:0x24 scope:global
fn_803AC8F0 = .text:0x803AC8F0; // type:function size:0x28
fn_803AC918 = .text:0x803AC918; // type:function size:0x28
fn_803AC940 = .text:0x803AC940; // type:function size:0x30
fn_803AC970 = .text:0x803AC970; // type:function size:0xA4
fn_803ACA14 = .text:0x803ACA14; // type:function size:0x90
fn_803ACAA4 = .text:0x803ACAA4; // type:function size:0xD0
fn_803ACB74 = .text:0x803ACB74; // type:function size:0xF4
fn_803ACC68 = .text:0x803ACC68; // type:function size:0x64
fn_803ACCCC = .text:0x803ACCCC; // type:function size:0xF0
fn_803ACDBC = .text:0x803ACDBC; // type:function size:0xE0
fn_803ACE9C = .text:0x803ACE9C; // type:function size:0x98
fn_803ACF34 = .text:0x803ACF34; // type:function size:0xE8
TRKReleaseBuffer = .text:0x803AC8F0; // type:function size:0x28
TRKResetBuffer = .text:0x803AC918; // type:function size:0x28
TRKSetBufferPosition = .text:0x803AC940; // type:function size:0x30
TRKAppendBuffer = .text:0x803AC970; // type:function size:0xA4
TRKReadBuffer = .text:0x803ACA14; // type:function size:0x90
TRKAppendBuffer1_ui32 = .text:0x803ACAA4; // type:function size:0xD0
TRKAppendBuffer1_ui64 = .text:0x803ACB74; // type:function size:0xF4
TRKAppendBuffer_ui8 = .text:0x803ACC68; // type:function size:0x64
TRKAppendBuffer_ui32 = .text:0x803ACCCC; // type:function size:0xF0
TRKReadBuffer1_ui64 = .text:0x803ACDBC; // type:function size:0xE0
TRKReadBuffer_ui8 = .text:0x803ACE9C; // type:function size:0x98
TRKReadBuffer_ui32 = .text:0x803ACF34; // type:function size:0xE8
fn_803AD01C = .text:0x803AD01C; // type:function size:0x8
fn_803AD024 = .text:0x803AD024; // type:function size:0x70
fn_803AD094 = .text:0x803AD094; // type:function size:0x88
Expand All @@ -37646,15 +37646,15 @@ fn_803AE11C = .text:0x803AE11C; // type:function size:0x70
fn_803AE18C = .text:0x803AE18C; // type:function size:0xC8
fn_803AE254 = .text:0x803AE254; // type:function size:0xB8
fn_803AE30C = .text:0x803AE30C; // type:function size:0xAC
fn_803AE3B8 = .text:0x803AE3B8; // type:function size:0x8
fn_803AE3C0 = .text:0x803AE3C0; // type:function size:0x8
fn_803AE3C8 = .text:0x803AE3C8; // type:function size:0xF8
fn_803AE4C0 = .text:0x803AE4C0; // type:function size:0xCC
fn_803AE58C = .text:0x803AE58C; // type:function size:0x150
fn_803AE6DC = .text:0x803AE6DC; // type:function size:0xF8
fn_803AE7D4 = .text:0x803AE7D4; // type:function size:0x13C
fn_803AE910 = .text:0x803AE910; // type:function size:0x164
fn_803AEA74 = .text:0x803AEA74; // type:function size:0x170
__TRK_get_MSR = .text:0x803AE3B8; // type:function size:0x8
__TRK_set_MSR = .text:0x803AE3C0; // type:function size:0x8
TRKValidMemory32 = .text:0x803AE3C8; // type:function size:0xF8
TRK_ppc_memcpy = .text:0x803AE4C0; // type:function size:0xCC
TRKTargetAccessMemory = .text:0x803AE58C; // type:function size:0x150
TRKTargetAccessDefault = .text:0x803AE6DC; // type:function size:0xF8
TRKTargetAccessFP = .text:0x803AE7D4; // type:function size:0x13C
TRKTargetAccessExtended1 = .text:0x803AE910; // type:function size:0x164
TRKTargetAccessExtended2 = .text:0x803AEA74; // type:function size:0x170
TRKInterruptHandler = .text:0x803AEBE4; // type:function size:0x194 scope:global
TRKExceptionHandler = .text:0x803AED78; // type:function size:0x9C scope:global
TRKPostInterruptEvent = .text:0x803AEE14; // type:function size:0xB8 scope:global
Expand All @@ -37671,11 +37671,11 @@ TRKTargetSupportRequest = .text:0x803AF50C; // type:function size:0x1F4 scope:gl
TRKTargetStopped = .text:0x803AF700; // type:function size:0x10 scope:global
TRKTargetSetStopped = .text:0x803AF710; // type:function size:0x10 scope:global
fn_803AF720 = .text:0x803AF720; // type:function size:0x18
fn_803AF738 = .text:0x803AF738; // type:function size:0xDC
fn_803AF814 = .text:0x803AF814; // type:function size:0xA8
TRKPPCAccessSPR = .text:0x803AF738; // type:function size:0xDC
TRKPPCAccessPairedSingleRegister = .text:0x803AF814; // type:function size:0xA8
fn_803AF8BC = .text:0x803AF8BC; // type:function size:0x24
fn_803AF8E0 = .text:0x803AF8E0; // type:function size:0x24
fn_803AF904 = .text:0x803AF904; // type:function size:0x1C8
TRKPPCAccessFPRegister = .text:0x803AF904; // type:function size:0x1C8
fn_803AFACC = .text:0x803AFACC; // type:function size:0x68
TRKTargetSetInputPendingPtr = .text:0x803AFB34; // type:function size:0x10 scope:global
fn_803AFB44 = .text:0x803AFB44; // type:function size:0x8
Expand Down Expand Up @@ -43633,7 +43633,7 @@ lbl_804E3F88 = .rodata:0x804E3F88; // type:object size:0x10
lbl_804E3F98 = .rodata:0x804E3F98; // type:object size:0x40 align:8 data:double
lbl_804E3FD8 = .rodata:0x804E3FD8; // type:object size:0x68 align:8 data:double
lbl_804E4040 = .rodata:0x804E4040; // type:object size:0x98
lbl_804E40D8 = .rodata:0x804E40D8; // type:object size:0x10 data:4byte
gTRKMemMap = .rodata:0x804E40D8; // type:object size:0x10 data:4byte
lbl_804E40E8 = .rodata:0x804E40E8; // type:object size:0x28 data:4byte
lbl_804E4110 = .rodata:0x804E4110; // type:object size:0x28 data:4byte
lbl_804E4138 = .rodata:0x804E4138; // type:object size:0x28 data:4byte
Expand Down Expand Up @@ -46301,18 +46301,18 @@ Si = .data:0x8052D4B0; // type:object size:0x14 scope:local data:4byte
Type = .data:0x8052D4C8; // type:object size:0x10 scope:local data:4byte
XYNTSC = .data:0x8052D4D8; // type:object size:0x30 scope:local data:byte
lbl_8052D508 = .data:0x8052D508; // type:object size:0x68
jumptable_8052D570 = .data:0x8052D570; // type:object size:0x6C scope:local
lbl_8052D5E0 = .data:0x8052D5E0; // type:object size:0x40 data:4byte
gTRKDispatchTable = .data:0x8052D570; // type:object size:0x6C scope:local
TRK_ISR_OFFSETS = .data:0x8052D5E0; // type:object size:0x3C scope:local data:4byte
@stringBase0 = .data:0x8052D620; // type:object size:0xE1 scope:local data:string_table
lbl_8052D708 = .data:0x8052D708; // type:object size:0x1D data:string
@stringBase0 = .data:0x8052D728; // type:object size:0x1D scope:local data:string_table
@123 = .data:0x8052D728; // type:object size:0x1D scope:local data:string_table
lbl_8052D748 = .data:0x8052D748; // type:object size:0x48
lbl_8052D790 = .data:0x8052D790; // type:object size:0x28 data:string
lbl_8052D7B8 = .data:0x8052D7B8; // type:object size:0x28 data:string
jumptable_8052D7E0 = .data:0x8052D7E0; // type:object size:0x1C scope:local
jumptable_8052D7FC = .data:0x8052D7FC; // type:object size:0x1C scope:local
lbl_8052D818 = .data:0x8052D818; // type:object size:0x30
gTRKExceptionStatus = .data:0x8052D848; // type:object size:0x10 scope:local data:4byte
gTRKExceptionStatus = .data:0x8052D848; // type:object size:0x10 scope:global data:4byte
@1687 = .data:0x8052D858; // type:object size:0x21 scope:local data:string
@2779 = .data:0x8052D880; // type:object size:0x47 scope:local data:string
s_currentDir = .data:0x8052D8E0; // type:object size:0x40 scope:local
Expand Down Expand Up @@ -48253,12 +48253,12 @@ lbl_805A21A0 = .bss:0x805A21A0; // type:object size:0x160
lbl_805A2300 = .bss:0x805A2300; // type:object size:0x500
lbl_805A2800 = .bss:0x805A2800; // type:object size:0x20
gDBCommTable = .bss:0x805A2820; // type:object size:0x28 scope:global data:4byte
lbl_805A2848 = .bss:0x805A2848; // type:object size:0x28 data:4byte
lbl_805A2870 = .bss:0x805A2870; // type:object size:0x19A8 data:4byte
gTRKEventQueue = .bss:0x805A2848; // type:object size:0x28 data:4byte
gTRKMsgBufs = .bss:0x805A2870; // type:object size:0x19A8 data:4byte
gTRKRestoreFlags = .bss:0x805A4218; // type:object size:0x9 scope:global data:byte
lbl_805A4228 = .bss:0x805A4228; // type:object size:0x18 data:4byte
gTRKStepStatus = .bss:0x805A4228; // type:object size:0x14 scope:global data:4byte
gTRKSaveState = .bss:0x805A4240; // type:object size:0x94 scope:global data:4byte
lbl_805A42D8 = .bss:0x805A42D8; // type:object size:0x10
TRKvalue128_temp = .bss:0x805A42D8; // type:object size:0x10
gTRKState = .bss:0x805A42E8; // type:object size:0xA4 scope:global data:4byte
gTRKCPUState = .bss:0x805A4390; // type:object size:0x430 scope:global data:4byte
lbl_805A47C0 = .bss:0x805A47C0; // type:object size:0x10
Expand Down Expand Up @@ -51265,14 +51265,14 @@ lbl_805F5E84 = .sbss:0x805F5E84; // type:object size:0x4 data:4byte
SamplingRate = .sbss:0x805F5E88; // type:object size:0x4 scope:local data:4byte
lbl_805F5E90 = .sbss:0x805F5E90; // type:object size:0x8 data:4byte
TRK_mainError = .sbss:0x805F5E98; // type:object size:0x4 scope:local data:4byte
lbl_805F5EA0 = .sbss:0x805F5EA0; // type:object size:0x8 data:4byte
lc_base = .sbss:0x805F5EA0; // type:object size:0x8 scope:local data:4byte
TRK_Use_BBA = .sbss:0x805F5EA8; // type:object size:0x1 scope:global data:byte
lbl_805F5EB0 = .sbss:0x805F5EB0; // type:object size:0x8 data:4byte
gTRKBigEndian = .sbss:0x805F5EB0; // type:object size:0x4 data:4byte
gTRKInputPendingPtr = .sbss:0x805F5EB8; // type:object size:0x4 scope:global data:4byte
lbl_805F5EC0 = .sbss:0x805F5EC0; // type:object size:0x8 data:2byte
lbl_805F5EC8 = .sbss:0x805F5EC8; // type:object size:0x4 data:4byte
lbl_805F5ECC = .sbss:0x805F5ECC; // type:object size:0x4 data:4byte
TRK_saved_exceptionID = .sbss:0x805F5ED0; // type:object size:0x2 scope:local data:2byte
TRK_saved_exceptionID = .sbss:0x805F5ED0; // type:object size:0x2 scope:global data:2byte
lbl_805F5ED8 = .sbss:0x805F5ED8; // type:object size:0x8 data:byte
lbl_805F5EE0 = .sbss:0x805F5EE0; // type:object size:0x4 data:4byte
lbl_805F5EE4 = .sbss:0x805F5EE4; // type:object size:0x4 data:4byte
Expand Down
29 changes: 29 additions & 0 deletions configure.py
Original file line number Diff line number Diff line change
Expand Up @@ -328,6 +328,35 @@ def MatchingFor(*versions):
Object(MatchingFor("SALP4Q"), "PowerPC_EABI_Support/MSL/MSL_C/MSL_Common/secure_error.c"),
]
},
{
"lib": "MetroTRK",
"mw_version": config.linker_version,
"cflags": [
*cflags_base,
"-lang=c99",
"-use_lmw_stmw on",
"-func_align 4",
],
"host": False,
"progress_category": "sdk",
"objects": [
Object(MatchingFor("SALP4Q"), "PowerPC_EABI_Support/MetroTRK/__exception.s"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/dispatch.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/dolphin_trk.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/dolphin_trk_glue.c"),
Object(MatchingFor("SALP4Q"), "PowerPC_EABI_Support/MetroTRK/flush_cache.c"),
Object(MatchingFor("SALP4Q"), "PowerPC_EABI_Support/MetroTRK/main_TRK.c"),
Object(MatchingFor("SALP4Q"), "PowerPC_EABI_Support/MetroTRK/mainloop.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/mem_TRK.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/mpc_7xx_603e.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/msgbuf.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/nubevent.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/nubinit.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/serpoll.c"),
Object(MatchingFor("SALP4Q"), "PowerPC_EABI_Support/MetroTRK/targcont.c"),
Object(MatchingFor(), "PowerPC_EABI_Support/MetroTRK/targimpl.c"),
]
},
{
"lib": "zlib",
"mw_version": config.linker_version,
Expand Down
Loading
Loading