From 26e001ea8aeb5c47b2529b9ad0d2990700ca378f Mon Sep 17 00:00:00 2001 From: nakasima Date: Thu, 28 Feb 2008 11:29:44 +0000 Subject: [PATCH] =?UTF-8?q?PARTNER=E7=94=A8LCF=E3=83=86=E3=83=B3=E3=83=97?= =?UTF-8?q?=E3=83=AC=E3=83=BC=E3=83=88=E4=BF=AE=E6=AD=A3=E3=80=82=20NAND?= =?UTF-8?q?=E3=83=95=E3=82=A1=E3=83=BC=E3=83=A0=E3=83=90=E3=83=83=E3=83=95?= =?UTF-8?q?=E3=82=A1=E3=83=A1=E3=83=A2=E3=83=AA=E3=83=9E=E3=83=83=E3=83=97?= =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: file:///Users/lillianskinner/Downloads/platinum/twl/TwlIPL/trunk@767 b08762b0-b915-fc4b-9d8c-17b2551a87ff --- build/nandfirm/menu-launcher/ARM9/Makefile | 6 +- docs/メモリマップ_ランチャー.vsd | Bin 273920 -> 273920 bytes .../specfiles/ARM7-TS-PARTNER.lcf.template | 639 ++---------------- .../specfiles/ARM9-TS-PARTNER.lcf.template | 619 +++-------------- 4 files changed, 156 insertions(+), 1108 deletions(-) diff --git a/build/nandfirm/menu-launcher/ARM9/Makefile b/build/nandfirm/menu-launcher/ARM9/Makefile index 3c1d24ad..7a1ad569 100644 --- a/build/nandfirm/menu-launcher/ARM9/Makefile +++ b/build/nandfirm/menu-launcher/ARM9/Makefile @@ -12,10 +12,12 @@ # in whole or in part, without the prior written consent of Nintendo. # # $Date:: $ -# $Rev:$ -# $Author:$ +# $Rev$ +# $Author$ #---------------------------------------------------------------------------- +TWL_PROC = ARM9 + SUBDIRS = LINCLUDES = diff --git a/docs/メモリマップ_ランチャー.vsd b/docs/メモリマップ_ランチャー.vsd index 0d40840fc2d2de30f2ca6c18c44f1f0bf9ecac04..6bb22a111e0880ec92e3fdc078892e3e2a4f631c 100644 GIT binary patch delta 92571 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 (RWX) : ORIGIN = , LENGTH = 0x0 #>> # binary.AUTOLOAD_INFO (RWX) : ORIGIN = 0, LENGTH = 0x0 >> +# binary.STATIC_FOOTER (RWX) : ORIGIN = 0, LENGTH = 0x0 >> F (RW) : ORIGIN = 0, LENGTH = 0x0 > F (RW) : ORIGIN = 0, LENGTH = 0x0 > @@ -30,9 +31,9 @@ MEMORY arena.MAIN (RW) : ORIGIN = AFTER(,), LENGTH = 0x0 - check.WORKRAM (RWX) : ORIGIN = 0x037f8000, LENGTH = 0x18000 > workram.check - check.MAINMEM (RWX) : ORIGIN = 0x02fe0000, LENGTH = 0x1c000 > mainmem.check - + check.WORKRAM_SHARED (RWX) : ORIGIN = 0x037b8000, LENGTH = 0x48000 > workram.check + # reached OSFromBrom7Buf before OS_BOOT_CODE_BUF + check.WORKRAM (RWX) : ORIGIN = 0x037b8000, LENGTH = 0x54000 > workram.check # binary.LTDAUTOLOAD_TOP (RW) : ORIGIN = 0, LENGTH = 0x0 > (RWX) : ORIGIN = , LENGTH = 0x0 #>> @@ -45,8 +46,7 @@ MEMORY (RWXO): ORIGIN = , LENGTH = 0x0 > - check.LTDWRAM (RWX) : ORIGIN = 0x03000000, LENGTH = 0x40000 > ltdwram.check - check.LTDMAIN (RWX) : ORIGIN = 0x02f88000, LENGTH = 0x58000 > ltdmain.check + check.LTDMAIN (RWX) : ORIGIN = 0x02f88000, LENGTH = 0x74000 > ltdmain.check } KEEP_SECTION @@ -114,6 +114,12 @@ SECTIONS SDK_STATIC_SINIT_END =.; #:::::::::: text/rodata SDK_STATIC_TEXT_END =.; + . = ALIGN(4); + SDK_STATIC_ETABLE_START =.; + __exception_table_start__ =.; + EXCEPTION + __exception_table_end__ =.; + SDK_STATIC_ETABLE_END =.; # # DATA BLOCK: READ WRITE @@ -133,6 +139,24 @@ SECTIONS + + + + + + + + + + + + + + + + + + #:::::::::: data SDK_STATIC_DATA_END =.; . = ALIGN(4); @@ -174,6 +198,18 @@ SECTIONS + + + + + + + + + + + + #:::::::::: bss . = ALIGN(4); SDK_STATIC_BSS_END = .; @@ -184,12 +220,7 @@ SECTIONS ############################ AUTOLOADS ############################## - SDK_AUTOLOAD.MAIN.START = 0x02fe0000; - SDK_AUTOLOAD.MAIN.END = SDK_AUTOLOAD.MAIN.START; - SDK_AUTOLOAD.MAIN.BSS_END = SDK_AUTOLOAD.MAIN.START; - SDK_AUTOLOAD.MAIN.SIZE = 0; - SDK_AUTOLOAD.MAIN.BSS_SIZE = 0; - SDK_AUTOLOAD.WRAM.START = 0x037f8000; + SDK_AUTOLOAD.WRAM.START = SDK_STATIC_BSS_END; SDK_AUTOLOAD.WRAM.END = SDK_AUTOLOAD.WRAM.START; SDK_AUTOLOAD.WRAM.BSS_END = SDK_AUTOLOAD.WRAM.START; SDK_AUTOLOAD.WRAM.SIZE = 0; @@ -198,137 +229,6 @@ SECTIONS SDK_AUTOLOAD_SIZE = 0; SDK_AUTOLOAD_NUMBER = ; - - .: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_AUTOLOAD__ID =; - SDK_AUTOLOAD..ID =; - SDK_AUTOLOAD..START =.; - SDK_AUTOLOAD..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - . = ALIGN(4); - SDK_STATIC_ETABLE_START =.; - __exception_table_start__ =.; - EXCEPTION - __exception_table_end__ =.; - SDK_STATIC_ETABLE_END =.; - - - - - - - - #:::::::::: text/rodata - SDK_AUTOLOAD..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE BLOCK - # - . = ALIGN(4); - SDK_AUTOLOAD..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - - - - - - - #:::::::::: data - SDK_AUTOLOAD..DATA_END =.; - . = ALIGN(4); - SDK_AUTOLOAD..END =.; - - SDK_AUTOLOAD..TEXT_SIZE = SDK_AUTOLOAD..TEXT_END - SDK_AUTOLOAD..TEXT_START; - SDK_AUTOLOAD..DATA_SIZE = SDK_AUTOLOAD..DATA_END - SDK_AUTOLOAD..DATA_START; - SDK_AUTOLOAD..SIZE = SDK_AUTOLOAD..END - SDK_AUTOLOAD..START; - SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SDK_AUTOLOAD..SIZE; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_AUTOLOAD..BSS_START = .; - #:::::::::: bss - - - - - - - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(4); - SDK_AUTOLOAD..BSS_END = .; - - SDK_AUTOLOAD..BSS_SIZE = SDK_AUTOLOAD..BSS_END - SDK_AUTOLOAD..BSS_START; - - } >> - - - - SDK_AUTOLOAD_MAIN_START = SDK_AUTOLOAD.MAIN.START; - SDK_AUTOLOAD_MAIN_END = SDK_AUTOLOAD.MAIN.END; - SDK_AUTOLOAD_MAIN_BSS_END = SDK_AUTOLOAD.MAIN.BSS_END; - SDK_AUTOLOAD_MAIN_SIZE = SDK_AUTOLOAD.MAIN.SIZE; - SDK_AUTOLOAD_MAIN_BSS_SIZE = SDK_AUTOLOAD.MAIN.BSS_SIZE; SDK_AUTOLOAD_WRAM_START = SDK_AUTOLOAD.WRAM.START; SDK_AUTOLOAD_WRAM_END = SDK_AUTOLOAD.WRAM.END; SDK_AUTOLOAD_WRAM_BSS_END = SDK_AUTOLOAD.WRAM.BSS_END; @@ -338,150 +238,33 @@ SECTIONS ############################ AUTOLOAD_INFO ########################## .binary.AUTOLOAD_INFO: { - SDK_AUTOLOAD_LIST = .; +# SDK_AUTOLOAD_LIST = . WRITEW ADDR(.); WRITEW SDK_AUTOLOAD..SIZE; + WRITEW SDK_AUTOLOAD..SINIT_START; WRITEW SDK_AUTOLOAD..BSS_SIZE; - SDK_AUTOLOAD_LIST_END = .; +# SDK_AUTOLOAD_LIST_END = . + } >> #> binary.AUTOLOAD_INFO -# SDK_AUTOLOAD_LIST = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE; -# SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); + SDK_AUTOLOAD_LIST = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE; + SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); + ############################ STATIC_FOOTER ########################## + .binary.STATIC_FOOTER: + { + WRITEW 0xdec00621; # LE(0x2106C0DE) = NITRO CODE + WRITEW _start_ModuleParams - ADDR(.); + WRITEW 0; # NO DIGEST + WRITEW _start_LtdModuleParams - ADDR(.); + } >> #> binary.STATIC_FOOTER + ############################ OVERLAYS ############################### SDK_OVERLAY_NUMBER = ; - - .: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_OVERLAY__ID =; ### SEGMENT OVERLAY ID - SDK_OVERLAY..ID =; - SDK_OVERLAY..START =.; - SDK_OVERLAY..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - - - - - - - - - - - . = ALIGN(4); - SDK_OVERLAY..SINIT_START =.; - #:::::::::: ctor - - - - - - - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_OVERLAY..SINIT_END =.; - #:::::::::: text/rodata - SDK_OVERLAY..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - . = ALIGN(4); - SDK_OVERLAY..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - #:::::::::: data - SDK_OVERLAY..DATA_END =.; - . = ALIGN(4); - SDK_OVERLAY..END =.; - - SDK_OVERLAY..TEXT_SIZE = SDK_OVERLAY..TEXT_END - SDK_OVERLAY..TEXT_START; - SDK_OVERLAY..DATA_SIZE = SDK_OVERLAY..DATA_END - SDK_OVERLAY..DATA_START; - SDK_OVERLAY..SIZE = SDK_OVERLAY..END - SDK_OVERLAY..START; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_OVERLAY..BSS_START = .; - #:::::::::: bss - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(4); - SDK_OVERLAY..BSS_END = .; - - SDK_OVERLAY..BSS_SIZE = SDK_OVERLAY..BSS_END - SDK_OVERLAY..BSS_START; - - } >> - - - ############################ ARENA ################################## .arena.MAIN: { @@ -524,34 +307,27 @@ SECTIONS ############################ OTHERS ################################# SDK_WRAM_ARENA_LO = SDK_AUTOLOAD.WRAM.BSS_END; - SDK_SUBPRIV_ARENA_LO = SDK_AUTOLOAD.MAIN.BSS_END; + SDK_IRQ_STACKSIZE = ; # allocated in WRAM SDK_SYS_STACKSIZE = ; # allocated in WRAM SDK_SYS_STACKSIZE_SIGN = (SDK_SYS_STACKSIZE < 0x80000000) * 2 - 1; + .check.WORKRAM_SHARED: + { + . = SDK_STATIC_END; + } > check.WORKRAM_SHARED + .check.WORKRAM: { - . = . + SDK_AUTOLOAD.WRAM.BSS_END - SDK_AUTOLOAD.WRAM.START + 0x080 + SDK_IRQ_STACKSIZE + SDK_SYS_STACKSIZE * SDK_SYS_STACKSIZE_SIGN; - + . = SDK_STATIC_BSS_END; } > check.WORKRAM - .check.MAINMEM: - { - . = SDK_SUBPRIV_ARENA_LO; - - } > check.MAINMEM - ########################### LTDAUTOLOADS ############################ - SDK_LTDAUTOLOAD.LTDMAIN.START = SDK_STATIC_BSS_END; + SDK_LTDAUTOLOAD.LTDMAIN.START = 0x02f88000; SDK_LTDAUTOLOAD.LTDMAIN.END = SDK_LTDAUTOLOAD.LTDMAIN.START; SDK_LTDAUTOLOAD.LTDMAIN.BSS_END = SDK_LTDAUTOLOAD.LTDMAIN.START; SDK_LTDAUTOLOAD.LTDMAIN.SIZE = 0; SDK_LTDAUTOLOAD.LTDMAIN.BSS_SIZE = 0; - SDK_LTDAUTOLOAD.LTDWRAM.START = 0x03000000; - SDK_LTDAUTOLOAD.LTDWRAM.END = SDK_LTDAUTOLOAD.LTDWRAM.START; - SDK_LTDAUTOLOAD.LTDWRAM.BSS_END = SDK_LTDAUTOLOAD.LTDWRAM.START; - SDK_LTDAUTOLOAD.LTDWRAM.SIZE = 0; - SDK_LTDAUTOLOAD.LTDWRAM.BSS_SIZE = 0; SDK_LTDAUTOLOAD_TOP_START = 0x02e80000; SDK_LTDAUTOLOAD_TOP_SIZE = 4; # STATIC ̈悪 4 bytes ̃_~[oCit@C̐擪ɓ # SDK_LTDAUTOLOAD_START = SDK_LTDAUTOLOAD_TOP_START + SDK_LTDAUTOLOAD_TOP_SIZE; @@ -560,297 +336,37 @@ SECTIONS .binary.LTDAUTOLOAD_TOP: { - WRITEW 0xdeadbeef; + WRITEW 0; } >> #> binary.LTDAUTOLOAD_TOP - - .: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - SDK_LTDAUTOLOAD__ID =; - SDK_LTDAUTOLOAD..ID =; - SDK_LTDAUTOLOAD..START =.; - # - # TEXT BLOCK: READ ONLY - # - SDK_LTDAUTOLOAD..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - - - - - #:::::::::: text/rodata - SDK_LTDAUTOLOAD..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE BLOCK - # - . = ALIGN(4); - SDK_LTDAUTOLOAD..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - - - - - - - - - - - - - #:::::::::: data - SDK_LTDAUTOLOAD..DATA_END =.; - . = ALIGN(4); - SDK_LTDAUTOLOAD..END =.; - - SDK_LTDAUTOLOAD..TEXT_SIZE = SDK_LTDAUTOLOAD..TEXT_END - SDK_LTDAUTOLOAD..TEXT_START; - SDK_LTDAUTOLOAD..DATA_SIZE = SDK_LTDAUTOLOAD..DATA_END - SDK_LTDAUTOLOAD..DATA_START; - SDK_LTDAUTOLOAD..SIZE = SDK_LTDAUTOLOAD..END - SDK_LTDAUTOLOAD..START; - SDK_LTDAUTOLOAD_SIZE = SDK_LTDAUTOLOAD_SIZE + SDK_LTDAUTOLOAD..SIZE; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_LTDAUTOLOAD..BSS_START =.; - #:::::::::: bss - - - - - - - - - - - - - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(4); - SDK_LTDAUTOLOAD..BSS_END =.; - - SDK_LTDAUTOLOAD..BSS_SIZE = SDK_LTDAUTOLOAD..BSS_END - SDK_LTDAUTOLOAD..BSS_START; - - } >> - - - SDK_LTDAUTOLOAD_LTDMAIN_START = SDK_LTDAUTOLOAD.LTDMAIN.START; SDK_LTDAUTOLOAD_LTDMAIN_END = SDK_LTDAUTOLOAD.LTDMAIN.END; SDK_LTDAUTOLOAD_LTDMAIN_BSS_END = SDK_LTDAUTOLOAD.LTDMAIN.BSS_END; SDK_LTDAUTOLOAD_LTDMAIN_SIZE = SDK_LTDAUTOLOAD.LTDMAIN.SIZE; SDK_LTDAUTOLOAD_LTDMAIN_BSS_SIZE = SDK_LTDAUTOLOAD.LTDMAIN.BSS_SIZE; - SDK_LTDAUTOLOAD_LTDWRAM_START = SDK_LTDAUTOLOAD.LTDWRAM.START; - SDK_LTDAUTOLOAD_LTDWRAM_END = SDK_LTDAUTOLOAD.LTDWRAM.END; - SDK_LTDAUTOLOAD_LTDWRAM_BSS_END = SDK_LTDAUTOLOAD.LTDWRAM.BSS_END; - SDK_LTDAUTOLOAD_LTDWRAM_SIZE = SDK_LTDAUTOLOAD.LTDWRAM.SIZE; - SDK_LTDAUTOLOAD_LTDWRAM_BSS_SIZE = SDK_LTDAUTOLOAD.LTDWRAM.BSS_SIZE; ######################### LTDAUTOLOAD_INFO ########################## .binary.LTDAUTOLOAD_INFO: { - SDK_LTDAUTOLOAD_LIST = .; +# SDK_LTDAUTOLOAD_LIST = . WRITEW ADDR(.); WRITEW SDK_LTDAUTOLOAD..SIZE; + WRITEW SDK_LTDAUTOLOAD..SINIT_START; WRITEW SDK_LTDAUTOLOAD..BSS_SIZE; - SDK_LTDAUTOLOAD_LIST_END = .; +# SDK_LTDAUTOLOAD_LIST_END = . + } >> #> binary.LTDAUTOLOAD_INFO -# SDK_LTDAUTOLOAD_LIST = SDK_LTDAUTOLOAD_START + SDK_LTDAUTOLOAD_SIZE; -# SDK_LTDAUTOLOAD_LIST_END = SDK_LTDAUTOLOAD_LIST + SIZEOF(.binary.LTDAUTOLOAD_INFO); + SDK_LTDAUTOLOAD_LIST = SDK_LTDAUTOLOAD_START + SDK_LTDAUTOLOAD_SIZE; + SDK_LTDAUTOLOAD_LIST_END = SDK_LTDAUTOLOAD_LIST + SIZEOF(.binary.LTDAUTOLOAD_INFO); SDK_LTDAUTOLOAD_SIZE = SDK_LTDAUTOLOAD_SIZE + SIZEOF(.binary.LTDAUTOLOAD_INFO); ########################### LTDOVERLAYS ############################# SDK_LTDOVERLAY_NUMBER = ; - - .: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - SDK_LTDOVERLAY__ID =; - SDK_LTDOVERLAY..ID =; - SDK_LTDOVERLAY..START =.; - # - # TEXT BLOCK: READ ONLY - # - SDK_LTDOVERLAY..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - - - - - - - - - - - . = ALIGN(4); - SDK_LTDOVERLAY..SINIT_START =.; - #:::::::::: ctor - - - - - - - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_LTDOVERLAY..SINIT_END =.; - #:::::::::: text/rodata - SDK_LTDOVERLAY..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - . = ALIGN(4); - SDK_LTDOVERLAY..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - #:::::::::: data - SDK_LTDOVERLAY..DATA_END =.; - . = ALIGN(4); - SDK_LTDOVERLAY..END =.; - - SDK_LTDOVERLAY..TEXT_SIZE = SDK_LTDOVERLAY..TEXT_END - SDK_LTDOVERLAY..TEXT_START; - SDK_LTDOVERLAY..DATA_SIZE = SDK_LTDOVERLAY..DATA_END - SDK_LTDOVERLAY..DATA_START; - SDK_LTDOVERLAY..SIZE = SDK_LTDOVERLAY..END - SDK_LTDOVERLAY..START; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(4); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_LTDOVERLAY..BSS_START =.; - #:::::::::: bss - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(4); - SDK_LTDOVERLAY..BSS_END =.; - - SDK_LTDOVERLAY..BSS_SIZE = SDK_LTDOVERLAY..BSS_END - SDK_LTDOVERLAY..BSS_START; - - } >> - - - ########################## LTDOVERLAYDEFS ########################### .L: { @@ -884,15 +400,10 @@ SECTIONS } > L ############################ OTHERS ################################# - .check.LTDWRAM: - { - . = SDK_LTDAUTOLOAD.LTDWRAM.BSS_END; - - } > check.LTDWRAM - + SDK_SUBPRIV_ARENA_LO = SDK_LTDAUTOLOAD.LTDMAIN.BSS_END; .check.LTDMAIN: { -# . = SDK_LTDAUTOLOAD.LTDMAIN.BSS_END; + . = SDK_SUBPRIV_ARENA_LO; } > check.LTDMAIN diff --git a/include/firm/specfiles/ARM9-TS-PARTNER.lcf.template b/include/firm/specfiles/ARM9-TS-PARTNER.lcf.template index d4582b72..0f640cae 100644 --- a/include/firm/specfiles/ARM9-TS-PARTNER.lcf.template +++ b/include/firm/specfiles/ARM9-TS-PARTNER.lcf.template @@ -1,6 +1,6 @@ #--------------------------------------------------------------------------- # Project: TwlSDK - include -# File: ARM9-BB.lcf.template +# File: ARM9-TS-FIRM.lcf.template # # Copyright 2007 Nintendo. All rights reserved. # @@ -38,6 +38,7 @@ MEMORY check.ITCM (RW) : ORIGIN = 0x0, LENGTH = 0x08000 > itcm.check check.DTCM (RW) : ORIGIN = 0x0, LENGTH = 0x04000 > dtcm.check + check.WORKRAM (RWX) : ORIGIN = 0x037c0000, LENGTH = 0x40000 > workram.check # binary.LTDAUTOLOAD_TOP (RW) : ORIGIN = 0, LENGTH = 0x0 > @@ -52,7 +53,8 @@ MEMORY dummy.MAIN_EX.TWL (RW) : ORIGIN = 0x0d000000, LENGTH = 0x0 - arena.MAIN.TWL (RW) : ORIGIN = AFTER(,,LTDMAIN,), LENGTH = 0x0 + arena.WRAM.TWL (RW) : ORIGIN = AFTER(,,LTDMAIN,), LENGTH = 0x0 + arena.MAIN.TWL (RW) : ORIGIN = 0x02000400, LENGTH = 0x0 arena.MAIN_EX.TWL (RW) : ORIGIN = AFTER(dummy.MAIN_EX.TWL,,,LTDMAIN,), LENGTH = 0x0 binary.MODULE_FILES (RW) : ORIGIN = 0, LENGTH = 0x0 > component.files @@ -89,10 +91,10 @@ SECTIONS SDK_STATIC_START =.; SDK_STATIC_TEXT_START =.; #:::::::::: text/rodata - libsyscall.a (.text) OBJECT(_start,*) crt0_firm.o (.text) crt0_firm.o (.rodata) + libsyscall.a (.text) # # .version ZNVljĂ܂B # ̃ZNVɊ܂܂̓bg`FbN̍ۂ @@ -152,6 +154,24 @@ SECTIONS . = ALIGN(32); # Fit to cache line SDK_STATIC_DATA_START =.; #:::::::::: data + + + + + + + + + + + + + + + + + + @@ -169,8 +189,8 @@ SECTIONS # NO DIGEST SDK_OVERLAY_DIGEST_END =.; #:::::::::: data - SDK_STATIC_DATA_END =.; . = ALIGN(32); + SDK_STATIC_DATA_END =.; SDK_STATIC_END =.; SDK_STATIC_TEXT_SIZE = SDK_STATIC_TEXT_END - SDK_STATIC_TEXT_START; @@ -197,6 +217,24 @@ SECTIONS # SDK_STATIC_BSS_START =.; #:::::::::: bss + + + + + + + + + + + + + + + + + + @@ -233,141 +271,6 @@ SECTIONS SDK_AUTOLOAD_SIZE = 0; SDK_AUTOLOAD_NUMBER = ; - - .: - { - ALIGNALL(4); - . = ALIGN(32); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_AUTOLOAD__ID =; - SDK_AUTOLOAD..ID =; - SDK_AUTOLOAD..START =.; - SDK_AUTOLOAD..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - - - - - - - - - - - #:::::::::: text/rodata - SDK_AUTOLOAD..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE BLOCK - # - . = ALIGN(32); - SDK_AUTOLOAD..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - - - - - - - - - - - - - #:::::::::: data - SDK_AUTOLOAD..DATA_END =.; - . = ALIGN(32); - SDK_AUTOLOAD..END =.; - - SDK_AUTOLOAD..TEXT_SIZE = SDK_AUTOLOAD..TEXT_END - SDK_AUTOLOAD..TEXT_START; - SDK_AUTOLOAD..DATA_SIZE = SDK_AUTOLOAD..DATA_END - SDK_AUTOLOAD..DATA_START; - SDK_AUTOLOAD..SIZE = SDK_AUTOLOAD..END - SDK_AUTOLOAD..START; - SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SDK_AUTOLOAD..SIZE; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(32); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL - - - # - # BSS BLOCK - # - SDK_AUTOLOAD..BSS_START = .; - #:::::::::: bss - - - - - - - - - - - - - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(32); - SDK_AUTOLOAD..BSS_END = .; - - SDK_AUTOLOAD..BSS_SIZE = SDK_AUTOLOAD..BSS_END - SDK_AUTOLOAD..BSS_START; - - } >> - - - SDK_AUTOLOAD_ITCM_START = SDK_AUTOLOAD.ITCM.START; SDK_AUTOLOAD_ITCM_END = SDK_AUTOLOAD.ITCM.END; SDK_AUTOLOAD_ITCM_BSS_END = SDK_AUTOLOAD.ITCM.BSS_END; @@ -382,158 +285,31 @@ SECTIONS ############################ AUTOLOAD_INFO ########################## .binary.AUTOLOAD_INFO: { - SDK_AUTOLOAD_LIST = .; - - WRITEW ADDR(.); - WRITEW SDK_AUTOLOAD..SIZE; - WRITEW SDK_AUTOLOAD..BSS_SIZE; - - SDK_AUTOLOAD_LIST_END = .; +# +# WRITEW ADDR(.); +# WRITEW SDK_AUTOLOAD..SIZE; +# WRITEW SDK_AUTOLOAD..SINIT_START; +# WRITEW SDK_AUTOLOAD..BSS_SIZE; +# + } >> #> binary.AUTOLOAD_INFO -# SDK_AUTOLOAD_LIST = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE; -# SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); + SDK_AUTOLOAD_LIST = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE; + SDK_AUTOLOAD_LIST_END = SDK_AUTOLOAD_START + SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); SDK_AUTOLOAD_SIZE = SDK_AUTOLOAD_SIZE + SIZEOF(.binary.AUTOLOAD_INFO); -# ############################ STATIC_FOOTER ########################## -# .binary.STATIC_FOOTER: -# { -# WRITEW 0xdec00621; # LE(0x2106C0DE) = NITRO CODE -# WRITEW _start_ModuleParams - ADDR(.); -# WRITEW 0; # NO DIGEST -# } > binary.STATIC_FOOTER + ############################ STATIC_FOOTER ########################## + .binary.STATIC_FOOTER: + { + WRITEW 0xdec00621; # LE(0x2106C0DE) = NITRO CODE + WRITEW _start_ModuleParams - ADDR(.); + WRITEW 0; # NO DIGEST + WRITEW _start_LtdModuleParams - ADDR(.); + } >> #> binary.STATIC_FOOTER ############################ OVERLAYS ############################### SDK_OVERLAY_NUMBER = ; - - .: - { - ALIGNALL(4); - . = ALIGN(32); # Fit to cache line - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # TEXT BLOCK: READ ONLY - # - SDK_OVERLAY__ID =; ### SEGMENT OVERLAY ID - SDK_OVERLAY..ID =; - SDK_OVERLAY..START =.; - SDK_OVERLAY..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - - - - - - - - - - - . = ALIGN(4); - SDK_OVERLAY..SINIT_START =.; - #:::::::::: ctor - - - - - - - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_OVERLAY..SINIT_END =.; - #:::::::::: text/rodata - SDK_OVERLAY..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - . = ALIGN(32); - SDK_OVERLAY..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - #:::::::::: data - SDK_OVERLAY..DATA_END =.; - . = ALIGN(32); - SDK_OVERLAY..END =.; - - SDK_OVERLAY..TEXT_SIZE = SDK_OVERLAY..TEXT_END - SDK_OVERLAY..TEXT_START; - SDK_OVERLAY..DATA_SIZE = SDK_OVERLAY..DATA_END - SDK_OVERLAY..DATA_START; - SDK_OVERLAY..SIZE = SDK_OVERLAY..END - SDK_OVERLAY..START; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(32); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_OVERLAY..BSS_START = .; - #:::::::::: bss - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(32); - SDK_OVERLAY..BSS_END = .; - - SDK_OVERLAY..BSS_SIZE = SDK_OVERLAY..BSS_END - SDK_OVERLAY..BSS_START; - - } >> - - - ############################ OVERLAYDEFS ############################ .F: { @@ -625,10 +401,15 @@ SECTIONS . = . + 0x080 + SDK_IRQ_STACKSIZE + SDK_SYS_STACKSIZE * SDK_SYS_STACKSIZE_SIGN; } > check.DTCM + .check.WORKRAM: + { + . = SDK_STATIC_BSS_END; + } > check.WORKRAM + ########################### LTDAUTOLOADS ############################ SDK_LTDAUTOLOAD.LTDMAIN.START = SDK_STATIC_BSS_END; SDK_LTDAUTOLOAD.LTDMAIN.END = SDK_LTDAUTOLOAD.LTDMAIN.START; - SDK_LTDAUTOLOAD.LTDMAIN.BSS_EDN = SDK_LTDAUTOLOAD.LTDMAIN.START; + SDK_LTDAUTOLOAD.LTDMAIN.BSS_END = SDK_LTDAUTOLOAD.LTDMAIN.START; SDK_LTDAUTOLOAD.LTDMAIN.SIZE = 0; SDK_LTDAUTOLOAD.LTDMAIN.BSS_SIZE = 0; SDK_LTDAUTOLOAD_TOP_START = 0x02400000; @@ -643,123 +424,6 @@ SECTIONS } >> #> binary.LTDAUTOLOAD_TOP - - .: - { - ALIGNALL(4); - . = ALIGN(32); # Fit to cache line - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - SDK_LTDAUTOLOAD__ID =; - SDK_LTDAUTOLOAD..ID =; - SDK_LTDAUTOLOAD..START =.; - # - # TEXT BLOCK: READ ONLY - # - SDK_LTDAUTOLOAD..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - - - - - #:::::::::: text/rodata - SDK_LTDAUTOLOAD..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - . = ALIGN(32); - SDK_LTDAUTOLOAD..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - - - - - - - #:::::::::: data - SDK_LTDAUTOLOAD..DATA_END =.; - . = ALIGN(32); - SDK_LTDAUTOLOAD..END =.; - - SDK_LTDAUTOLOAD..TEXT_SIZE = SDK_LTDAUTOLOAD..TEXT_END - SDK_LTDAUTOLOAD..TEXT_START; - SDK_LTDAUTOLOAD..DATA_SIZE = SDK_LTDAUTOLOAD..DATA_END - SDK_LTDAUTOLOAD..DATA_START; - SDK_LTDAUTOLOAD..SIZE = SDK_LTDAUTOLOAD..END - SDK_LTDAUTOLOAD..START; - SDK_LTDAUTOLOAD_SIZE = SDK_LTDAUTOLOAD_SIZE + SDK_LTDAUTOLOAD..SIZE; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(32); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_LTDAUTOLOAD..BSS_START =.; - #:::::::::: bss - - - - - - - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(32); - SDK_LTDAUTOLOAD..BSS_END =.; - - SDK_LTDAUTOLOAD..BSS_SIZE = SDK_LTDAUTOLOAD..BSS_END - SDK_LTDAUTOLOAD..BSS_START; - - } >> - - - SDK_LTDAUTOLOAD_LTDMAIN_START = SDK_LTDAUTOLOAD.LTDMAIN.START; SDK_LTDAUTOLOAD_LTDMAIN_END = SDK_LTDAUTOLOAD.LTDMAIN.END; SDK_LTDAUTOLOAD_LTDMAIN_BSS_END = SDK_LTDAUTOLOAD.LTDMAIN.BSS_END; @@ -769,150 +433,22 @@ SECTIONS ######################### LTDAUTOLOAD_INFO ########################## .binary.LTDAUTOLOAD_INFO: { - SDK_LTDAUTOLOAD_LIST = .; - - WRITEW ADDR(.); - WRITEW SDK_LTDAUTOLOAD..SIZE; - WRITEW SDK_LTDAUTOLOAD..BSS_SIZE; - - SDK_LTDAUTOLOAD_LIST_END = .; +# +# WRITEW ADDR(.); +# WRITEW SDK_LTDAUTOLOAD..SIZE; +# WRITEW SDK_LTDAUTOLOAD..SINIT_START; +# WRITEW SDK_LTDAUTOLOAD..BSS_SIZE; +# + } >> #> binary.LTDAUTOLOAD_INFO -# SDK_LTDAUTOLOAD_LIST = SDK_LTDAUTOLOAD_START + SDK_LTDAUTOLOAD_SIZE; -# SDK_LTDAUTOLOAD_LIST_END = SDK_LTDAUTOLOAD_LIST + SIZEOF(.binary.LTDAUTOLOAD_INFO); + SDK_LTDAUTOLOAD_LIST = SDK_LTDAUTOLOAD_START + SDK_LTDAUTOLOAD_SIZE; + SDK_LTDAUTOLOAD_LIST_END = SDK_LTDAUTOLOAD_LIST + SIZEOF(.binary.LTDAUTOLOAD_INFO); SDK_LTDAUTOLOAD_SIZE = SDK_LTDAUTOLOAD_SIZE + SIZEOF(.binary.LTDAUTOLOAD_INFO); ########################### LTDOVERLAYS ############################# SDK_LTDOVERLAY_NUMBER = ; - - .: - { - ALIGNALL(4); - . = ALIGN(32); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - SDK_LTDOVERLAY__ID =; - SDK_LTDOVERLAY..ID =; - SDK_LTDOVERLAY..START =.; - # - # TEXT BLOCK: READ ONLY - # - SDK_LTDOVERLAY..TEXT_START =.; - #:::::::::: text/rodata - - - - - - - - - - - - - - - - - - - . = ALIGN(4); - SDK_LTDOVERLAY..SINIT_START =.; - #:::::::::: ctor - - - - - - - - - - - - - WRITEW 0; - #:::::::::: ctor - SDK_LTDOVERLAY..SINIT_END =.; - #:::::::::: text/rodata - SDK_LTDOVERLAY..TEXT_END =.; - - # - # DATA BLOCK: READ WRITE - # - . = ALIGN(32); - SDK_LTDOVERLAY..DATA_START =.; - #:::::::::: data - - - - - - - - - - - - - #:::::::::: data - SDK_LTDOVERLAY..DATA_END =.; - . = ALIGN(32); - SDK_LTDOVERLAY..END =.; - - SDK_LTDOVERLAY..TEXT_SIZE = SDK_LTDOVERLAY..TEXT_END - SDK_LTDOVERLAY..TEXT_START; - SDK_LTDOVERLAY..DATA_SIZE = SDK_LTDOVERLAY..DATA_END - SDK_LTDOVERLAY..DATA_START; - SDK_LTDOVERLAY..SIZE = SDK_LTDOVERLAY..END - SDK_LTDOVERLAY..START; - - } > - - ..bss: - { - ALIGNALL(4); - . = ALIGN(32); - - # - # Definition to refer overlay segment, when same name symbols exist in multiple overlays. - # - - SEARCH_SYMBOL ; - - - # - # BSS BLOCK - # - SDK_LTDOVERLAY..BSS_START =.; - #:::::::::: bss - - - - - - - - - - - - - #:::::::::: bss - . = ALIGN(32); - SDK_LTDOVERLAY..BSS_END =.; - - SDK_LTDOVERLAY..BSS_SIZE = SDK_LTDOVERLAY..BSS_END - SDK_LTDOVERLAY..BSS_START; - - } >> - - - ########################## LTDOVERLAYDEFS ########################### .L: { @@ -952,12 +488,12 @@ SECTIONS } > dummy.MAIN_EX.TWL - .arena.MAIN.TWL: + .arena.WRAM.TWL: { . = ALIGN(32); SDK_LTDMAIN_ARENA_LO =.; - } > arena.MAIN.TWL + } > arena.WRAM.TWL .arena.MAIN_EX.TWL: { @@ -970,8 +506,7 @@ SECTIONS # Module filelist .binary.MODULE_FILES: { -# WRITES (""); - WRITES (""); + WRITES (""); WRITES (""); WRITES (""); WRITES ("");